private byte[] GetUniqueName(X509ExtensionCollection extensions, byte[] serial = null) { // We prefer Subject Key Identifier as the unique name // as it will provide faster lookups X509Extension ext = extensions ["2.5.29.14"]; if (ext == null) { return(null); } SubjectKeyIdentifierExtension ski = new SubjectKeyIdentifierExtension(ext); if (serial == null) { return(ski.Identifier); } else { byte[] uniqueWithSerial = new byte[ski.Identifier.Length + serial.Length]; System.Buffer.BlockCopy(ski.Identifier, 0, uniqueWithSerial, 0, ski.Identifier.Length); System.Buffer.BlockCopy(serial, 0, uniqueWithSerial, ski.Identifier.Length, serial.Length); return(uniqueWithSerial); } }
public void EmptyIdentifier() { SubjectKeyIdentifierExtension ext = new SubjectKeyIdentifierExtension(); SubjectKeyIdentifierExtension ski = new SubjectKeyIdentifierExtension(ext); Empty(ski); }
static byte [] GetSubjectKeyIdentifier(X509Extension ext) { if (ext == null) { return(null); } SubjectKeyIdentifierExtension ski = new SubjectKeyIdentifierExtension(ext); return(ski.Identifier); }
public X509ExtensionsList SetSubjectKeyIdentifier(byte[] id) { if (id == null) { throw new ArgumentNullException(nameof(id)); } var subjectKeyIdentifier = new SubjectKeyIdentifierExtension(id); Add(subjectKeyIdentifier); return(this); }
private byte[] GetUniqueName(X509ExtensionCollection extensions) { X509Extension x509Extension = extensions["2.5.29.14"]; if (x509Extension == null) { return(null); } SubjectKeyIdentifierExtension subjectKeyIdentifierExtension = new SubjectKeyIdentifierExtension(x509Extension); return(subjectKeyIdentifierExtension.Identifier); }
public void Constructor_Empty() { SubjectKeyIdentifierExtension ski = new SubjectKeyIdentifierExtension(); ski.Identifier = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; Empty(ski); }
private void Empty(SubjectKeyIdentifierExtension ski) { Assert.IsFalse(ski.Critical, "Critical"); Assert.AreEqual("2.5.29.14", ski.Oid, "Oid"); Assert.IsNotNull(ski.Name, "Name"); Assert.IsFalse(ski.Name == ski.Oid, "Name!=Oid"); Assert.AreEqual(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, ski.Identifier, "Identifier"); }
public void Constructor_ASN1() { SubjectKeyIdentifierExtension ext = new SubjectKeyIdentifierExtension(); ext.Identifier = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; SubjectKeyIdentifierExtension ski = new SubjectKeyIdentifierExtension(ext.ASN1); Empty(ski); }
private byte[] GetUniqueName(X509ExtensionCollection extensions) { // We prefer Subject Key Identifier as the unique name // as it will provide faster lookups X509Extension ext = extensions ["2.5.29.14"]; if (ext == null) { return(null); } SubjectKeyIdentifierExtension ski = new SubjectKeyIdentifierExtension(ext); return(ski.Identifier); }
public void AuthorityKeyIdentifier_Critical() { SubjectKeyIdentifierExtension ski = new SubjectKeyIdentifierExtension(); ski.Critical = true; ski.Identifier = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; Assert.AreEqual("30-20-06-03-55-1D-0E-01-01-FF-04-16-04-14-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00", BitConverter.ToString(ski.GetBytes()), "GetBytes"); SubjectKeyIdentifierExtension ski2 = new SubjectKeyIdentifierExtension(ski.ASN1); Assert.IsTrue(ski2.Critical, "Critical"); Assert.AreEqual(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, ski2.Identifier, "Identifier"); }