public void VerifyX509AuthorityKeyIdentifierExtension() { var authorityName = new X500DistinguishedName("CN=Test,O=OPC Foundation,DC=localhost"); byte[] serialNumber = new byte[] { 9, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; byte[] subjectKeyIdentifier = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; var aki = new X509AuthorityKeyIdentifierExtension(subjectKeyIdentifier, authorityName, serialNumber); Assert.NotNull(aki); TestContext.Out.WriteLine("Encoded:"); TestContext.Out.WriteLine(aki.Format(true)); Assert.AreEqual(authorityName, aki.Issuer); Assert.AreEqual(serialNumber, aki.GetSerialNumber()); Assert.AreEqual(AsnUtils.ToHexString(serialNumber, true), aki.SerialNumber); Assert.AreEqual(subjectKeyIdentifier, aki.GetKeyIdentifier()); var akidecoded = new X509AuthorityKeyIdentifierExtension(aki.Oid, aki.RawData, aki.Critical); TestContext.Out.WriteLine("Decoded:"); TestContext.Out.WriteLine(akidecoded.Format(true)); Assert.AreEqual(aki.RawData, akidecoded.RawData); Assert.AreEqual(authorityName.ToString(), akidecoded.Issuer.ToString()); Assert.AreEqual(serialNumber, akidecoded.GetSerialNumber()); Assert.AreEqual(AsnUtils.ToHexString(serialNumber, true), akidecoded.SerialNumber); Assert.AreEqual(subjectKeyIdentifier, akidecoded.GetKeyIdentifier()); akidecoded = new X509AuthorityKeyIdentifierExtension(aki.Oid.Value, aki.RawData, aki.Critical); TestContext.Out.WriteLine("Decoded2:"); TestContext.Out.WriteLine(akidecoded.Format(true)); Assert.AreEqual(aki.RawData, akidecoded.RawData); Assert.AreEqual(authorityName.ToString(), akidecoded.Issuer.ToString()); Assert.AreEqual(serialNumber, akidecoded.GetSerialNumber()); Assert.AreEqual(AsnUtils.ToHexString(serialNumber, true), akidecoded.SerialNumber); Assert.AreEqual(subjectKeyIdentifier, akidecoded.GetKeyIdentifier()); }
public void VerifyX509AuthorityKeyIdentifierExtensionOnlyKeyID() { byte[] subjectKeyIdentifier = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; var aki = new X509AuthorityKeyIdentifierExtension(subjectKeyIdentifier); Assert.NotNull(aki); TestContext.Out.WriteLine("Encoded:"); TestContext.Out.WriteLine(aki.Format(true)); Assert.Null(aki.Issuer); Assert.Null(aki.GetSerialNumber()); Assert.AreEqual(string.Empty, aki.SerialNumber); Assert.AreEqual(subjectKeyIdentifier, aki.GetKeyIdentifier()); var akidecoded = new X509AuthorityKeyIdentifierExtension(aki.Oid, aki.RawData, aki.Critical); TestContext.Out.WriteLine("Decoded:"); TestContext.Out.WriteLine(akidecoded.Format(true)); Assert.AreEqual(aki.RawData, akidecoded.RawData); Assert.Null(aki.Issuer); Assert.Null(aki.GetSerialNumber()); Assert.AreEqual(string.Empty, aki.SerialNumber); Assert.AreEqual(subjectKeyIdentifier, akidecoded.GetKeyIdentifier()); akidecoded = new X509AuthorityKeyIdentifierExtension(aki.Oid.Value, aki.RawData, aki.Critical); TestContext.Out.WriteLine("Decoded2:"); TestContext.Out.WriteLine(akidecoded.Format(true)); Assert.AreEqual(aki.RawData, akidecoded.RawData); Assert.Null(aki.Issuer); Assert.Null(aki.GetSerialNumber()); Assert.AreEqual(string.Empty, aki.SerialNumber); Assert.AreEqual(subjectKeyIdentifier, akidecoded.GetKeyIdentifier()); }