public void Read_WithValidInput_ReturnsEssCertId() { using (var certificate = _fixture.GetDefaultCertificate()) { var bcCertificate = DotNetUtilities.FromX509Certificate(certificate); var bcGeneralNames = new GeneralNames( new BcGeneralName(BcGeneralName.DirectoryName, bcCertificate.IssuerDN)); var bcIssuerSerial = new BcIssuerSerial(bcGeneralNames, new DerInteger(bcCertificate.SerialNumber)); var hash = SigningTestUtility.GetHash(certificate, Common.HashAlgorithmName.SHA256); var bcEssCertId = new BcEssCertId(hash, bcIssuerSerial); var bytes = bcEssCertId.GetDerEncoded(); var essCertId = EssCertId.Read(bytes); Assert.Equal(1, essCertId.IssuerSerial.GeneralNames.Count); Assert.Equal(certificate.IssuerName.Name, essCertId.IssuerSerial.GeneralNames[0].DirectoryName.Name); SigningTestUtility.VerifyByteArrays(hash, essCertId.CertificateHash); SigningTestUtility.VerifyByteArrays(bcIssuerSerial.Serial.Value.ToByteArray(), essCertId.IssuerSerial.SerialNumber); } }
public void Read_WithInvalidAsn1_Throws() { Assert.Throws <CryptographicException>( () => EssCertId.Read(new byte[] { 0x30, 0x0b })); }