Ejemplo n.º 1
0
 public Task Destroy(TestContext ctx, CancellationToken cancellationToken)
 {
     return(Task.Run(() => {
         if (x509 != null)
         {
             x509.Dispose();
             x509 = null;
         }
     }));
 }
Ejemplo n.º 2
0
        public static void TestNativeCertificate(TestContext ctx, BtlsX509 x509, CertificateInfo expected, bool debug = false)
        {
            using (var subjectName = x509.GetSubjectName()) {
                if (debug)
                {
                    PrintName(ctx, subjectName);
                }
                TestName(ctx, subjectName, expected.SubjectName, "GetSubjectName()");
            }

            using (var issuerName = x509.GetIssuerName()) {
                if (debug)
                {
                    PrintName(ctx, issuerName);
                }
                TestName(ctx, issuerName, expected.IssuerName, "GetIssuerName()");
            }

            if (debug)
            {
                ctx.LogMessage("NOT BEFORE: {0}", x509.GetNotBefore());
                ctx.LogMessage("NOT AFTER: {0}", x509.GetNotAfter());
                ctx.LogBufferAsCSharp("serial", "\t\t", x509.GetSerialNumber(false));
                ctx.LogBufferAsCSharp("serialMono", "\t\t", x509.GetSerialNumber(true));
                ctx.LogBufferAsCSharp("hash", "\t\t", x509.GetCertHash());
            }

            ctx.Expect(x509.GetSubjectNameString(), Is.EqualTo(expected.SubjectNameString), "GetSubjectNameString()");
            ctx.Expect(x509.GetIssuerNameString(), Is.EqualTo(expected.IssuerNameString), "GetIssuerNameString()");
            ctx.Expect(x509.GetNotBefore(), Is.EqualTo(expected.NotBefore), "GetNotBefore()");
            ctx.Expect(x509.GetNotAfter(), Is.EqualTo(expected.NotAfter), "GetNotAfter()");
            ctx.Expect(x509.GetCertHash(), Is.EqualTo(expected.Hash), "GetCertHash()");

            ctx.Expect(x509.GetSerialNumber(false), Is.EqualTo(expected.SerialNumber), "GetSerialNumber(false)");
            ctx.Expect(x509.GetSerialNumber(true), Is.EqualTo(expected.SerialNumberMono), "GetSerialNumber(true)");

            ctx.Expect(x509.GetVersion(), Is.EqualTo(expected.Version), "GetVersion()");

            if (debug)
            {
                ctx.LogBufferAsCSharp("publicKey", "\t\t", x509.GetPublicKeyData());
            }

            ctx.Expect(x509.GetPublicKeyData(), Is.EqualTo(expected.PublicKeyData), "GetPublicKeyData()");

            var signatureAlgorithm = x509.GetSignatureAlgorithm();

            if (ctx.Expect(signatureAlgorithm, Is.Not.Null, "GetSignatureAlgorithm()"))
            {
                ctx.Expect(signatureAlgorithm.Value, Is.EqualTo(expected.SignatureAlgorithmOid), "GetSignatureAlgorithm().Value");
            }

            var publicKey = x509.GetPublicKeyAsn1();

            if (ctx.Expect(publicKey, Is.Not.Null, "GetPublicKeyAsn1()"))
            {
                if (ctx.Expect(publicKey.Oid, Is.Not.Null, "GetPublicKeyAsn1().Oid"))
                {
                    ctx.Expect(publicKey.Oid.Value, Is.EqualTo(expected.PublicKeyAlgorithmOid), "GetPublicKeyAsn1().Oid.Value");
                }
                ctx.Expect(publicKey.RawData, Is.EqualTo(expected.PublicKeyData), "GetPublicKeyAsn1().RawData");
            }

            var publicKeyParams = x509.GetPublicKeyParameters();

            if (ctx.Expect(publicKeyParams, Is.Not.Null, "GetPublicKeyParameters()"))
            {
                if (ctx.Expect(publicKeyParams.Oid, Is.Not.Null, "GetPublicKeyParameters().Oid"))
                {
                    ctx.Expect(publicKeyParams.Oid.Value, Is.EqualTo(expected.PublicKeyAlgorithmOid), "GetPublicKeyParameters().Oid.Value");
                }
                ctx.Expect(publicKeyParams.RawData, Is.EqualTo(expected.PublicKeyParameters), "GetPublicKeyParameters().RawData");
            }
        }
Ejemplo n.º 3
0
 public Task Initialize(TestContext ctx, CancellationToken cancellationToken)
 {
     return(Task.Run(() => {
         x509 = BtlsProvider.CreateNative(data, format);
     }));
 }