1
package org.bouncycastle.ocsp;
3
import java.security.MessageDigest;
4
import java.security.PublicKey;
6
import javax.security.auth.x500.X500Principal;
8
import org.bouncycastle.asn1.ASN1InputStream;
9
import org.bouncycastle.asn1.ASN1OctetString;
10
import org.bouncycastle.asn1.DEROctetString;
11
import org.bouncycastle.asn1.ocsp.ResponderID;
12
import org.bouncycastle.asn1.x500.X500Name;
13
import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
16
* Carrier for a ResponderID.
31
this.id = new ResponderID(X500Name.getInstance(name.getEncoded()));
40
// TODO Allow specification of a particular provider
41
MessageDigest digest = OCSPUtil.createDigestInstance("SHA1", null);
43
ASN1InputStream aIn = new ASN1InputStream(key.getEncoded());
44
SubjectPublicKeyInfo info = SubjectPublicKeyInfo.getInstance(aIn.readObject());
46
digest.update(info.getPublicKeyData().getBytes());
48
ASN1OctetString keyHash = new DEROctetString(digest.digest());
50
this.id = new ResponderID(keyHash);
54
throw new OCSPException("problem creating ID: " + e, e);
58
public ResponderID toASN1Object()
63
public boolean equals(
66
if (!(o instanceof RespID))
71
RespID obj = (RespID)o;
73
return id.equals(obj.id);