public Task Destroy(TestContext ctx, CancellationToken cancellationToken) { return(Task.Run(() => { if (x509 != null) { x509.Dispose(); x509 = null; } })); }
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"); } }
public Task Initialize(TestContext ctx, CancellationToken cancellationToken) { return(Task.Run(() => { x509 = BtlsProvider.CreateNative(data, format); })); }