FileDocCategorySizeDatePackage
SubjectKeyIdentifier.javaAPI DocAzureus 3.0.3.42225Tue Jun 08 05:12:56 BST 2004org.bouncycastle.asn1.x509

SubjectKeyIdentifier

public class SubjectKeyIdentifier extends Object implements org.bouncycastle.asn1.DEREncodable
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 org.bouncycastle.asn1.DERObjectgetDERObject()

        return new DEROctetString(keyidentifier);
    
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;