Org.BouncyCastle.Ocsp.CertificateID.CreateCertID C# (CSharp) Метод

CreateCertID() приватный статический Метод

private static CreateCertID ( AlgorithmIdentifier hashAlg, X509Certificate issuerCert, DerInteger serialNumber ) : CertID
hashAlg Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier
issuerCert Org.BouncyCastle.X509.X509Certificate
serialNumber Org.BouncyCastle.Asn1.DerInteger
Результат Org.BouncyCastle.Asn1.Ocsp.CertID
        private static CertID CreateCertID(
			AlgorithmIdentifier	hashAlg,
			X509Certificate		issuerCert,
			DerInteger			serialNumber)
		{
			try
			{
				String hashAlgorithm = hashAlg.ObjectID.Id;

				X509Name issuerName = PrincipalUtilities.GetSubjectX509Principal(issuerCert);
				byte[] issuerNameHash = DigestUtilities.CalculateDigest(
					hashAlgorithm, issuerName.GetEncoded());

				AsymmetricKeyParameter issuerKey = issuerCert.GetPublicKey();
				SubjectPublicKeyInfo info = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(issuerKey);
				byte[] issuerKeyHash = DigestUtilities.CalculateDigest(
					hashAlgorithm, info.PublicKeyData.GetBytes());

				return new CertID(hashAlg, new DerOctetString(issuerNameHash),
					new DerOctetString(issuerKeyHash), serialNumber);
			}
			catch (Exception e)
			{
				throw new OcspException("problem creating ID: " + e, e);
			}
		}
	}

Usage Example

Пример #1
0
 public bool MatchesIssuer(X509Certificate issuerCert)
 {
     return(CertificateID.CreateCertID(this.id.HashAlgorithm, issuerCert, this.id.SerialNumber).Equals(this.id));
 }
All Usage Examples Of Org.BouncyCastle.Ocsp.CertificateID::CreateCertID