public void CertificateAuthority_Critical () { BasicConstraintsExtension bce = new BasicConstraintsExtension (); bce.Critical = true; bce.CertificateAuthority = true; bce.PathLenConstraint = 0; Assert.AreEqual ("30-12-06-03-55-1D-13-01-01-FF-04-08-30-06-01-01-FF-02-01-00", BitConverter.ToString (bce.GetBytes ()), "GetBytes"); BasicConstraintsExtension bce2 = new BasicConstraintsExtension (bce.ASN1); Assert.IsTrue (bce2.Critical, "Critical"); Assert.IsTrue (bce2.CertificateAuthority, "CertificateAuthority"); Assert.AreEqual (0, bce2.PathLenConstraint, "PathLenConstraint"); }
public void NotCertificateAuthority () { BasicConstraintsExtension bce = new BasicConstraintsExtension (); bce.CertificateAuthority = false; // CertificateAuthority isn't encoded (default value is false) bce.PathLenConstraint = Int32.MaxValue; // PathLenConstraint is ignored (per RFC3280) Assert.AreEqual ("30-09-06-03-55-1D-13-04-02-30-00", BitConverter.ToString (bce.GetBytes ()), "GetBytes"); BasicConstraintsExtension bce2 = new BasicConstraintsExtension (bce.ASN1); Assert.IsFalse (bce2.Critical, "Critical"); Assert.IsFalse (bce2.CertificateAuthority, "CertificateAuthority"); Assert.AreEqual (BasicConstraintsExtension.NoPathLengthConstraint, bce2.PathLenConstraint, "PathLenConstraint"); }
public void CertificateAuthority_NoPathLengthConstraint () { BasicConstraintsExtension bce = new BasicConstraintsExtension (); bce.CertificateAuthority = true; bce.PathLenConstraint = BasicConstraintsExtension.NoPathLengthConstraint; Assert.AreEqual ("30-0C-06-03-55-1D-13-04-05-30-03-01-01-FF", BitConverter.ToString (bce.GetBytes ()), "GetBytes"); BasicConstraintsExtension bce2 = new BasicConstraintsExtension (bce.ASN1); Assert.IsFalse (bce2.Critical, "Critical"); Assert.IsTrue (bce2.CertificateAuthority, "CertificateAuthority"); Assert.AreEqual (BasicConstraintsExtension.NoPathLengthConstraint, bce2.PathLenConstraint, "PathLenConstraint"); }