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

KEKIdentifier

public class KEKIdentifier extends org.bouncycastle.asn1.ASN1Encodable

Fields Summary
private org.bouncycastle.asn1.ASN1OctetString
keyIdentifier
private org.bouncycastle.asn1.DERGeneralizedTime
date
private OtherKeyAttribute
other
Constructors Summary
public KEKIdentifier(byte[] keyIdentifier, org.bouncycastle.asn1.DERGeneralizedTime date, OtherKeyAttribute other)

        this.keyIdentifier = new DEROctetString(keyIdentifier);
        this.date = date;
        this.other = other;
    
public KEKIdentifier(org.bouncycastle.asn1.ASN1Sequence seq)

        keyIdentifier = (ASN1OctetString)seq.getObjectAt(0);
        
        switch (seq.size())
        {
        case 1:
            break;
        case 2:
            if (seq.getObjectAt(1) instanceof DERGeneralizedTime)
            {
                date = (DERGeneralizedTime)seq.getObjectAt(1); 
            }
            else
            {
                other = OtherKeyAttribute.getInstance(seq.getObjectAt(1));
            }
            break;
        case 3:
            date  = (DERGeneralizedTime)seq.getObjectAt(1);
            other = OtherKeyAttribute.getInstance(seq.getObjectAt(2));
            break;
        default:
                throw new IllegalArgumentException("Invalid KEKIdentifier");
        }
    
Methods Summary
public org.bouncycastle.asn1.DERGeneralizedTimegetDate()

        return date;
    
public static org.bouncycastle.asn1.cms.KEKIdentifiergetInstance(org.bouncycastle.asn1.ASN1TaggedObject obj, boolean explicit)
return a KEKIdentifier object from a tagged object.

param
obj the tagged object holding the object we want.
param
explicit true if the object is meant to be explicitly tagged false otherwise.
exception
IllegalArgumentException if the object held by the tagged object cannot be converted.

        return getInstance(ASN1Sequence.getInstance(obj, explicit));
    
public static org.bouncycastle.asn1.cms.KEKIdentifiergetInstance(java.lang.Object obj)
return a KEKIdentifier 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 KEKIdentifier)
        {
            return (KEKIdentifier)obj;
        }
        
        if (obj instanceof ASN1Sequence)
        {
            return new KEKIdentifier((ASN1Sequence)obj);
        }
        
        throw new IllegalArgumentException("Invalid KEKIdentifier: " + obj.getClass().getName());
    
public org.bouncycastle.asn1.ASN1OctetStringgetKeyIdentifier()

        return keyIdentifier;
    
public OtherKeyAttributegetOther()

        return other;
    
public org.bouncycastle.asn1.DERObjecttoASN1Object()
Produce an object suitable for an ASN1OutputStream.
KEKIdentifier ::= SEQUENCE {
keyIdentifier OCTET STRING,
date GeneralizedTime OPTIONAL,
other OtherKeyAttribute OPTIONAL
}

        ASN1EncodableVector  v = new ASN1EncodableVector();

        v.add(keyIdentifier);
        
        if (date != null)
        {
            v.add(date);
        }

        if (other != null)
        {
            v.add(other);
        }
        
        return new DERSequence(v);