aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/pkix/src/main/java/org/spongycastle/cert/selector/X509CertificateHolderSelector.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/pkix/src/main/java/org/spongycastle/cert/selector/X509CertificateHolderSelector.java')
-rw-r--r--libraries/spongycastle/pkix/src/main/java/org/spongycastle/cert/selector/X509CertificateHolderSelector.java152
1 files changed, 0 insertions, 152 deletions
diff --git a/libraries/spongycastle/pkix/src/main/java/org/spongycastle/cert/selector/X509CertificateHolderSelector.java b/libraries/spongycastle/pkix/src/main/java/org/spongycastle/cert/selector/X509CertificateHolderSelector.java
deleted file mode 100644
index 8b6b88e3d..000000000
--- a/libraries/spongycastle/pkix/src/main/java/org/spongycastle/cert/selector/X509CertificateHolderSelector.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.spongycastle.cert.selector;
-
-import java.math.BigInteger;
-
-import org.spongycastle.asn1.ASN1OctetString;
-import org.spongycastle.asn1.cms.IssuerAndSerialNumber;
-import org.spongycastle.asn1.x500.X500Name;
-import org.spongycastle.asn1.x509.Extension;
-import org.spongycastle.cert.X509CertificateHolder;
-import org.spongycastle.util.Arrays;
-import org.spongycastle.util.Selector;
-
-/**
- * a basic index for a X509CertificateHolder class
- */
-public class X509CertificateHolderSelector
- implements Selector
-{
- private byte[] subjectKeyId;
-
- private X500Name issuer;
- private BigInteger serialNumber;
-
- /**
- * Construct a selector with the value of a public key's subjectKeyId.
- *
- * @param subjectKeyId a subjectKeyId
- */
- public X509CertificateHolderSelector(byte[] subjectKeyId)
- {
- this(null, null, subjectKeyId);
- }
-
- /**
- * Construct a signer ID based on the issuer and serial number of the signer's associated
- * certificate.
- *
- * @param issuer the issuer of the signer's associated certificate.
- * @param serialNumber the serial number of the signer's associated certificate.
- */
- public X509CertificateHolderSelector(X500Name issuer, BigInteger serialNumber)
- {
- this(issuer, serialNumber, null);
- }
-
- /**
- * Construct a signer ID based on the issuer and serial number of the signer's associated
- * certificate.
- *
- * @param issuer the issuer of the signer's associated certificate.
- * @param serialNumber the serial number of the signer's associated certificate.
- * @param subjectKeyId the subject key identifier to use to match the signers associated certificate.
- */
- public X509CertificateHolderSelector(X500Name issuer, BigInteger serialNumber, byte[] subjectKeyId)
- {
- this.issuer = issuer;
- this.serialNumber = serialNumber;
- this.subjectKeyId = subjectKeyId;
- }
-
- public X500Name getIssuer()
- {
- return issuer;
- }
-
- public BigInteger getSerialNumber()
- {
- return serialNumber;
- }
-
- public byte[] getSubjectKeyIdentifier()
- {
- return Arrays.clone(subjectKeyId);
- }
-
- public int hashCode()
- {
- int code = Arrays.hashCode(subjectKeyId);
-
- if (this.serialNumber != null)
- {
- code ^= this.serialNumber.hashCode();
- }
-
- if (this.issuer != null)
- {
- code ^= this.issuer.hashCode();
- }
-
- return code;
- }
-
- public boolean equals(
- Object o)
- {
- if (!(o instanceof X509CertificateHolderSelector))
- {
- return false;
- }
-
- X509CertificateHolderSelector id = (X509CertificateHolderSelector)o;
-
- return Arrays.areEqual(subjectKeyId, id.subjectKeyId)
- && equalsObj(this.serialNumber, id.serialNumber)
- && equalsObj(this.issuer, id.issuer);
- }
-
- private boolean equalsObj(Object a, Object b)
- {
- return (a != null) ? a.equals(b) : b == null;
- }
-
- public boolean match(Object obj)
- {
- if (obj instanceof X509CertificateHolder)
- {
- X509CertificateHolder certHldr = (X509CertificateHolder)obj;
-
- if (this.getSerialNumber() != null)
- {
- IssuerAndSerialNumber iAndS = new IssuerAndSerialNumber(certHldr.toASN1Structure());
-
- return iAndS.getName().equals(this.issuer)
- && iAndS.getSerialNumber().getValue().equals(this.serialNumber);
- }
- else if (subjectKeyId != null)
- {
- Extension ext = certHldr.getExtension(Extension.subjectKeyIdentifier);
-
- if (ext == null)
- {
- return Arrays.areEqual(subjectKeyId, MSOutlookKeyIdCalculator.calculateKeyId(certHldr.getSubjectPublicKeyInfo()));
- }
-
- byte[] subKeyID = ASN1OctetString.getInstance(ext.getParsedValue()).getOctets();
-
- return Arrays.areEqual(subjectKeyId, subKeyID);
- }
- }
- else if (obj instanceof byte[])
- {
- return Arrays.areEqual(subjectKeyId, (byte[])obj);
- }
-
- return false;
- }
-
- public Object clone()
- {
- return new X509CertificateHolderSelector(this.issuer, this.serialNumber, this.subjectKeyId);
- }
-}