Red Hat Application Migration Toolkit
package iaik.x509.extensions;
import iaik.asn1.ASN;
import iaik.asn1.ASN1Object;
import iaik.asn1.BIT_STRING;
import iaik.asn1.CodingException;
import iaik.asn1.DerCoder;
import iaik.asn1.ObjectID;
import iaik.utils.Util;
import iaik.x509.V3Extension;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.PublicKey;
public class SubjectKeyIdentifier extends V3Extension {
private byte[] a;
public static final ObjectID oid = new ObjectID("2.5.29.14", "SubjectKeyIdentifier");
public String toString() {
return Util.toString(this.a);
}
public ASN1Object toASN1Object() {
ASN1Object var1 = null;
try {
var1 = ASN.create(ASN.OCTET_STRING, this.a);
} catch (InstantiationException var2) {
;
}
return var1;
}
public void set(byte[] var1) {
this.a = var1;
}
public void init(ASN1Object var1) {
this.a = (byte[])var1.getValue();
}
public int hashCode() {
return oid.hashCode();
}
public ObjectID getObjectID() {
return oid;
}
public byte[] get() {
return this.a;
}
public SubjectKeyIdentifier(byte[] var1) {
this.a = var1;
}
public SubjectKeyIdentifier(PublicKey var1) throws NoSuchAlgorithmException, CodingException {
Object var2 = null;
byte[] var7;
try {
byte[] var3 = var1.getEncoded();
ASN1Object var4 = DerCoder.decode(var3);
BIT_STRING var5 = (BIT_STRING)var4.getComponentAt(1);
var7 = (byte[])var5.getValue();
} catch (Exception var6) {
throw new CodingException(var6.getMessage());
}
MessageDigest var8 = MessageDigest.getInstance("SHA");
var8.update(var7);
this.a = var8.digest();
}
public SubjectKeyIdentifier() {
}
}