org.bouncycastle.cms

## Class RecipientInformation

- java.lang.Object
- - org.bouncycastle.cms.RecipientInformation

Direct Known Subclasses:
  KEKRecipientInformation, KeyAgreeRecipientInformation, KeyTransRecipientInformation, PasswordRecipientInformation

    public abstract class RecipientInformation
    extends java.lang.Object

### Field Summary

Fields
`protected org.bouncycastle.asn1.x509.AlgorithmIdentifier` `authEncAlg`
`protected java.io.InputStream` `data`
`protected org.bouncycastle.asn1.x509.AlgorithmIdentifier` `encAlg`
`protected org.bouncycastle.asn1.x509.AlgorithmIdentifier` `keyEncAlg`
`protected org.bouncycastle.asn1.x509.AlgorithmIdentifier` `macAlg`
`protected RecipientId` `rid`

### Constructor Summary

Constructors
`protected` `RecipientInformation(org.bouncycastle.asn1.x509.AlgorithmIdentifier encAlg, org.bouncycastle.asn1.x509.AlgorithmIdentifier macAlg, org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncAlg, java.io.InputStream data)` Deprecated.
`protected` `RecipientInformation(org.bouncycastle.asn1.x509.AlgorithmIdentifier encAlg, org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncAlg, java.io.InputStream data)` Deprecated.

### Method Summary

Methods
`byte[]` `getContent(java.security.Key key, java.security.Provider provider)`
`byte[]` `getContent(java.security.Key key, java.lang.String provider)`
`protected CMSTypedStream` `getContentFromSessionKey(java.security.Key sKey, java.security.Provider provider)`
`abstract CMSTypedStream` `getContentStream(java.security.Key key, java.security.Provider provider)`
`CMSTypedStream` `getContentStream(java.security.Key key, java.lang.String provider)`
`java.lang.String` `getKeyEncryptionAlgOID()` return the object identifier for the key encryption algorithm.
`java.security.AlgorithmParameters` `getKeyEncryptionAlgorithmParameters(java.security.Provider provider)` Return an AlgorithmParameters object giving the encryption parameters used to encrypt the key this recipient holds.
`java.security.AlgorithmParameters` `getKeyEncryptionAlgorithmParameters(java.lang.String provider)` Return an AlgorithmParameters object giving the encryption parameters used to encrypt the key this recipient holds.
`byte[]` `getKeyEncryptionAlgParams()` return the ASN.1 encoded key encryption algorithm parameters, or null if there aren't any.
`byte[]` `getMac()` Return the MAC calculated for the content stream.
`RecipientId` `getRID()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### rid

    protected RecipientId rid

#### encAlg

    protected org.bouncycastle.asn1.x509.AlgorithmIdentifier encAlg

#### macAlg

    protected org.bouncycastle.asn1.x509.AlgorithmIdentifier macAlg

#### authEncAlg

    protected org.bouncycastle.asn1.x509.AlgorithmIdentifier authEncAlg

#### keyEncAlg

    protected org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncAlg

#### data

    protected java.io.InputStream data

### Constructor Detail

#### RecipientInformation

    protected RecipientInformation(org.bouncycastle.asn1.x509.AlgorithmIdentifier encAlg,
                        org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncAlg,
                        java.io.InputStream data)

Deprecated.

#### RecipientInformation

    protected RecipientInformation(org.bouncycastle.asn1.x509.AlgorithmIdentifier encAlg,
                        org.bouncycastle.asn1.x509.AlgorithmIdentifier macAlg,
                        org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncAlg,
                        java.io.InputStream data)

Deprecated.

### Method Detail

#### getRID

    public RecipientId getRID()

#### getKeyEncryptionAlgOID

    public java.lang.String getKeyEncryptionAlgOID()

return the object identifier for the key encryption algorithm.

Returns:
  OID for key encryption algorithm.

#### getKeyEncryptionAlgParams

    public byte[] getKeyEncryptionAlgParams()

return the ASN.1 encoded key encryption algorithm parameters, or null if there aren't any.

Returns:
  ASN.1 encoding of key encryption algorithm parameters.

#### getKeyEncryptionAlgorithmParameters

    public java.security.AlgorithmParameters getKeyEncryptionAlgorithmParameters(java.lang.String provider)
                                                                          throws CMSException,
                                                                                 java.security.NoSuchProviderException

Return an AlgorithmParameters object giving the encryption parameters used to encrypt the key this recipient holds.

Parameters:
  `provider` - the provider to generate the parameters for.
Returns:
  the parameters object, null if there is not one.
Throws:
  `CMSException` - if the algorithm cannot be found, or the parameters can't be parsed.
  `java.security.NoSuchProviderException` - if the provider cannot be found.

#### getKeyEncryptionAlgorithmParameters

    public java.security.AlgorithmParameters getKeyEncryptionAlgorithmParameters(java.security.Provider provider)
                                                                          throws CMSException

Return an AlgorithmParameters object giving the encryption parameters used to encrypt the key this recipient holds.

Parameters:
  `provider` - the provider to generate the parameters for.
Returns:
  the parameters object, null if there is not one.
Throws:
  `CMSException` - if the algorithm cannot be found, or the parameters can't be parsed.

#### getContentFromSessionKey

    protected CMSTypedStream getContentFromSessionKey(java.security.Key sKey,
                                          java.security.Provider provider)
                                               throws CMSException

Throws:
  `CMSException`

#### getContent

    public byte[] getContent(java.security.Key key,
                    java.lang.String provider)
                      throws CMSException,
                             java.security.NoSuchProviderException

Throws:
  `CMSException`
  `java.security.NoSuchProviderException`

#### getContent

    public byte[] getContent(java.security.Key key,
                    java.security.Provider provider)
                      throws CMSException

Throws:
  `CMSException`

#### getMac

    public byte[] getMac()

Return the MAC calculated for the content stream. Note: this call is only meaningful once all the content has been read.

Returns:
  byte array containing the mac.

#### getContentStream

    public CMSTypedStream getContentStream(java.security.Key key,
                                  java.lang.String provider)
                                    throws CMSException,
                                           java.security.NoSuchProviderException

Throws:
  `CMSException`
  `java.security.NoSuchProviderException`

#### getContentStream

    public abstract CMSTypedStream getContentStream(java.security.Key key,
                                  java.security.Provider provider)
                                             throws CMSException

Throws:
  `CMSException`