FileDocCategorySizeDatePackage
SubjectKeyIdentifier.javaAPI DocAndroid 1.5 API2308Wed May 06 22:41:06 BST 2009org.bouncycastle.asn1.x509

SubjectKeyIdentifier

public class SubjectKeyIdentifier extends org.bouncycastle.asn1.ASN1Encodable
The SubjectKeyIdentifier object.
SubjectKeyIdentifier::= OCTET STRING

Fields Summary
private byte[]
keyidentifier
Constructors Summary
public SubjectKeyIdentifier(byte[] keyid)

        this.keyidentifier=keyid;
    
public SubjectKeyIdentifier(org.bouncycastle.asn1.ASN1OctetString keyid)

        this.keyidentifier=keyid.getOctets();

    
public SubjectKeyIdentifier(SubjectPublicKeyInfo spki)
Calulates the keyidentifier using a SHA1 hash over the BIT STRING from SubjectPublicKeyInfo as defined in RFC2459.

        Digest  digest = new SHA1Digest();
        byte[]  resBuf = new byte[digest.getDigestSize()];

        byte[] bytes = spki.getPublicKeyData().getBytes();
        digest.update(bytes, 0, bytes.length);
        digest.doFinal(resBuf, 0);
        this.keyidentifier=resBuf;
    
Methods Summary
public static org.bouncycastle.asn1.x509.SubjectKeyIdentifiergetInstance(org.bouncycastle.asn1.ASN1TaggedObject obj, boolean explicit)

        return getInstance(ASN1OctetString.getInstance(obj, explicit));
    
public static org.bouncycastle.asn1.x509.SubjectKeyIdentifiergetInstance(java.lang.Object obj)

        if (obj == null || obj instanceof SubjectKeyIdentifier) 
        {
            return (SubjectKeyIdentifier)obj;
        }
        
        if (obj instanceof SubjectPublicKeyInfo) 
        {
            return new SubjectKeyIdentifier((SubjectPublicKeyInfo)obj);
        }
        
        if (obj instanceof ASN1OctetString) 
        {
            return new SubjectKeyIdentifier((ASN1OctetString)obj);
        }
        
        throw new IllegalArgumentException("Invalid SubjectKeyIdentifier: " + obj.getClass().getName());
    
public byte[]getKeyIdentifier()

        return keyidentifier;
    
public org.bouncycastle.asn1.DERObjecttoASN1Object()

        return new DEROctetString(keyidentifier);