# KEKRecipientInfo (Bouncy Castle Library 1.45 API Specification)
Date: 2013-08-05

org.bouncycastle.asn1.cms

## Class KEKRecipientInfo

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Encodable
  - - org.bouncycastle.asn1.cms.KEKRecipientInfo

All Implemented Interfaces:
  DEREncodable

    public class KEKRecipientInfo
    extends ASN1Encodable

### Field Summary

### Fields inherited from class org.bouncycastle.asn1.ASN1Encodable

`BER, DER`

### Constructor Summary

Constructors
Constructor and Description
`KEKRecipientInfo(ASN1Sequence seq)`
`KEKRecipientInfo(KEKIdentifier kekid, AlgorithmIdentifier keyEncryptionAlgorithm, ASN1OctetString encryptedKey)`

### Method Summary

Methods
`ASN1OctetString` `getEncryptedKey()`
`static KEKRecipientInfo` `getInstance(ASN1TaggedObject obj, boolean explicit)` return a KEKRecipientInfo object from a tagged object.
`static KEKRecipientInfo` `getInstance(java.lang.Object obj)` return a KEKRecipientInfo object from the given object.
`KEKIdentifier` `getKekid()`
`AlgorithmIdentifier` `getKeyEncryptionAlgorithm()`
`DERInteger` `getVersion()`
`DERObject` `toASN1Object()` Produce an object suitable for an ASN1OutputStream.

### Methods inherited from class org.bouncycastle.asn1.ASN1Encodable

`equals, getDEREncoded, getDERObject, getEncoded, getEncoded, hashCode`

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

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

### Constructor Detail

#### KEKRecipientInfo

    public KEKRecipientInfo(KEKIdentifier kekid,
                    AlgorithmIdentifier keyEncryptionAlgorithm,
                    ASN1OctetString encryptedKey)

#### KEKRecipientInfo

    public KEKRecipientInfo(ASN1Sequence seq)

### Method Detail

#### getInstance

    public static KEKRecipientInfo getInstance(ASN1TaggedObject obj,
                               boolean explicit)

return a KEKRecipientInfo object from a tagged object.

Parameters:
  `obj` - the tagged object holding the object we want.
  `explicit` - true if the object is meant to be explicitly tagged false otherwise.
Throws:
  `java.lang.IllegalArgumentException` - if the object held by the tagged object cannot be converted.

#### getInstance

    public static KEKRecipientInfo getInstance(java.lang.Object obj)

return a KEKRecipientInfo object from the given object.

Parameters:
  `obj` - the object we want converted.
Throws:
  `java.lang.IllegalArgumentException` - if the object cannot be converted.

#### getVersion

    public DERInteger getVersion()

#### getKekid

    public KEKIdentifier getKekid()

#### getKeyEncryptionAlgorithm

    public AlgorithmIdentifier getKeyEncryptionAlgorithm()

#### getEncryptedKey

    public ASN1OctetString getEncryptedKey()

#### toASN1Object

    public DERObject toASN1Object()

Produce an object suitable for an ASN1OutputStream.

     KEKRecipientInfo ::= SEQUENCE {
         version CMSVersion,  -- always set to 4
         kekid KEKIdentifier,
         keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
         encryptedKey EncryptedKey
     }

Specified by:
  `toASN1Object` in class `ASN1Encodable`