FileDocCategorySizeDatePackage
KeyTransRecipientInfo.javaAPI DocAndroid 1.5 API3233Wed May 06 22:41:06 BST 2009org.bouncycastle.asn1.cms

KeyTransRecipientInfo

public class KeyTransRecipientInfo extends org.bouncycastle.asn1.ASN1Encodable

Fields Summary
private org.bouncycastle.asn1.DERInteger
version
private RecipientIdentifier
rid
private org.bouncycastle.asn1.x509.AlgorithmIdentifier
keyEncryptionAlgorithm
private org.bouncycastle.asn1.ASN1OctetString
encryptedKey
Constructors Summary
public KeyTransRecipientInfo(RecipientIdentifier rid, org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncryptionAlgorithm, org.bouncycastle.asn1.ASN1OctetString encryptedKey)

        if (rid.getDERObject() instanceof ASN1TaggedObject)
        {
            this.version = new DERInteger(2);
        }
        else
        {
            this.version = new DERInteger(0);
        }

        this.rid = rid;
        this.keyEncryptionAlgorithm = keyEncryptionAlgorithm;
        this.encryptedKey = encryptedKey;
    
public KeyTransRecipientInfo(org.bouncycastle.asn1.ASN1Sequence seq)

        this.version = (DERInteger)seq.getObjectAt(0);
        this.rid = RecipientIdentifier.getInstance(seq.getObjectAt(1));
        this.keyEncryptionAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(2));
        this.encryptedKey = (ASN1OctetString)seq.getObjectAt(3);
    
Methods Summary
public org.bouncycastle.asn1.ASN1OctetStringgetEncryptedKey()

        return encryptedKey;
    
public static org.bouncycastle.asn1.cms.KeyTransRecipientInfogetInstance(java.lang.Object obj)
return a KeyTransRecipientInfo object from the given object.

param
obj the object we want converted.
exception
IllegalArgumentException if the object cannot be converted.

        if (obj == null || obj instanceof KeyTransRecipientInfo)
        {
            return (KeyTransRecipientInfo)obj;
        }
        
        if(obj instanceof ASN1Sequence)
        {
            return new KeyTransRecipientInfo((ASN1Sequence)obj);
        }
        
        throw new IllegalArgumentException(
        "Illegal object in KeyTransRecipientInfo: " + obj.getClass().getName());
    
public org.bouncycastle.asn1.x509.AlgorithmIdentifiergetKeyEncryptionAlgorithm()

        return keyEncryptionAlgorithm;
    
public RecipientIdentifiergetRecipientIdentifier()

        return rid;
    
public org.bouncycastle.asn1.DERIntegergetVersion()

        return version;
    
public org.bouncycastle.asn1.DERObjecttoASN1Object()
Produce an object suitable for an ASN1OutputStream.
KeyTransRecipientInfo ::= SEQUENCE {
version CMSVersion, -- always set to 0 or 2
rid RecipientIdentifier,
keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
encryptedKey EncryptedKey
}

        ASN1EncodableVector  v = new ASN1EncodableVector();

        v.add(version);
        v.add(rid);
        v.add(keyEncryptionAlgorithm);
        v.add(encryptedKey);

        return new DERSequence(v);