aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/prov/src/main/java/org/spongycastle/ocsp/CertificateID.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/prov/src/main/java/org/spongycastle/ocsp/CertificateID.java')
-rw-r--r--libraries/spongycastle/prov/src/main/java/org/spongycastle/ocsp/CertificateID.java170
1 files changed, 0 insertions, 170 deletions
diff --git a/libraries/spongycastle/prov/src/main/java/org/spongycastle/ocsp/CertificateID.java b/libraries/spongycastle/prov/src/main/java/org/spongycastle/ocsp/CertificateID.java
deleted file mode 100644
index cb86c29d5..000000000
--- a/libraries/spongycastle/prov/src/main/java/org/spongycastle/ocsp/CertificateID.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package org.spongycastle.ocsp;
-
-import java.math.BigInteger;
-import java.security.MessageDigest;
-import java.security.PublicKey;
-import java.security.cert.X509Certificate;
-
-import org.spongycastle.asn1.ASN1InputStream;
-import org.spongycastle.asn1.ASN1Integer;
-import org.spongycastle.asn1.ASN1OctetString;
-import org.spongycastle.asn1.DERNull;
-import org.spongycastle.asn1.DERObjectIdentifier;
-import org.spongycastle.asn1.DEROctetString;
-import org.spongycastle.asn1.ocsp.CertID;
-import org.spongycastle.asn1.x509.AlgorithmIdentifier;
-import org.spongycastle.asn1.x509.SubjectPublicKeyInfo;
-import org.spongycastle.jce.PrincipalUtil;
-import org.spongycastle.jce.X509Principal;
-
-public class CertificateID
-{
- public static final String HASH_SHA1 = "1.3.14.3.2.26";
-
- private final CertID id;
-
- public CertificateID(
- CertID id)
- {
- if (id == null)
- {
- throw new IllegalArgumentException("'id' cannot be null");
- }
- this.id = id;
- }
-
- /**
- * create from an issuer certificate and the serial number of the
- * certificate it signed.
- *
- * @param hashAlgorithm hash algorithm to use
- * @param issuerCert issuing certificate
- * @param number serial number
- * @param provider provider to use for hashAlgorithm, null if the default one should be used.
- *
- * @exception OCSPException if any problems occur creating the id fields.
- */
- public CertificateID(
- String hashAlgorithm,
- X509Certificate issuerCert,
- BigInteger number,
- String provider)
- throws OCSPException
- {
- AlgorithmIdentifier hashAlg = new AlgorithmIdentifier(
- new DERObjectIdentifier(hashAlgorithm), DERNull.INSTANCE);
-
- this.id = createCertID(hashAlg, issuerCert, new ASN1Integer(number), provider);
- }
-
- /**
- * create using the BC provider
- */
- public CertificateID(
- String hashAlgorithm,
- X509Certificate issuerCert,
- BigInteger number)
- throws OCSPException
- {
- this(hashAlgorithm, issuerCert, number, "SC");
- }
-
- public String getHashAlgOID()
- {
- return id.getHashAlgorithm().getObjectId().getId();
- }
-
- public byte[] getIssuerNameHash()
- {
- return id.getIssuerNameHash().getOctets();
- }
-
- public byte[] getIssuerKeyHash()
- {
- return id.getIssuerKeyHash().getOctets();
- }
-
- /**
- * return the serial number for the certificate associated
- * with this request.
- */
- public BigInteger getSerialNumber()
- {
- return id.getSerialNumber().getValue();
- }
-
- public boolean matchesIssuer(X509Certificate issuerCert, String provider)
- throws OCSPException
- {
- return createCertID(id.getHashAlgorithm(), issuerCert, id.getSerialNumber(), provider)
- .equals(id);
- }
-
- public CertID toASN1Object()
- {
- return id;
- }
-
- public boolean equals(
- Object o)
- {
- if (!(o instanceof CertificateID))
- {
- return false;
- }
-
- CertificateID obj = (CertificateID)o;
-
- return id.toASN1Primitive().equals(obj.id.toASN1Primitive());
- }
-
- public int hashCode()
- {
- return id.toASN1Primitive().hashCode();
- }
-
- /**
- * Create a new CertificateID for a new serial number derived from a previous one
- * calculated for the same CA certificate.
- *
- * @param original the previously calculated CertificateID for the CA.
- * @param newSerialNumber the serial number for the new certificate of interest.
- *
- * @return a new CertificateID for newSerialNumber
- */
- public static CertificateID deriveCertificateID(CertificateID original, BigInteger newSerialNumber)
- {
- return new CertificateID(new CertID(original.id.getHashAlgorithm(), original.id.getIssuerNameHash(), original.id.getIssuerKeyHash(), new ASN1Integer(newSerialNumber)));
- }
-
- private static CertID createCertID(AlgorithmIdentifier hashAlg, X509Certificate issuerCert,
- ASN1Integer serialNumber, String provider)
- throws OCSPException
- {
- try
- {
- MessageDigest digest = OCSPUtil.createDigestInstance(hashAlg.getAlgorithm() .getId(),
- provider);
-
- X509Principal issuerName = PrincipalUtil.getSubjectX509Principal(issuerCert);
-
- digest.update(issuerName.getEncoded());
-
- ASN1OctetString issuerNameHash = new DEROctetString(digest.digest());
- PublicKey issuerKey = issuerCert.getPublicKey();
-
- ASN1InputStream aIn = new ASN1InputStream(issuerKey.getEncoded());
- SubjectPublicKeyInfo info = SubjectPublicKeyInfo.getInstance(aIn.readObject());
-
- digest.update(info.getPublicKeyData().getBytes());
-
- ASN1OctetString issuerKeyHash = new DEROctetString(digest.digest());
-
- return new CertID(hashAlg, issuerNameHash, issuerKeyHash, serialNumber);
- }
- catch (Exception e)
- {
- throw new OCSPException("problem creating ID: " + e, e);
- }
- }
-}