public async Task VerifyAppCertX509Store(string storePath) { var appCertificate = GetTestCert(); Assert.NotNull(appCertificate); Assert.True(appCertificate.HasPrivateKey); appCertificate.AddToStore( CertificateStoreType.X509Store, storePath ); using (var publicKey = new X509Certificate2(appCertificate.RawData)) { Assert.NotNull(publicKey); Assert.False(publicKey.HasPrivateKey); var id = new CertificateIdentifier() { Thumbprint = publicKey.Thumbprint, StorePath = storePath, StoreType = CertificateStoreType.X509Store }; var privateKey = await id.LoadPrivateKey(null).ConfigureAwait(false); Assert.NotNull(privateKey); Assert.True(privateKey.HasPrivateKey); X509Utils.VerifyRSAKeyPair(publicKey, privateKey, true); using (var x509Store = new X509CertificateStore()) { x509Store.Open(storePath); await x509Store.Delete(publicKey.Thumbprint).ConfigureAwait(false); } } }
protected void OneTimeTearDown() { foreach (var certStore in CertStores) { using (var x509Store = new X509CertificateStore()) { x509Store.Open(certStore); var collection = x509Store.Enumerate().Result; foreach (var cert in collection) { if (X509Utils.CompareDistinguishedName(X509StoreSubject, cert.Subject)) { x509Store.Delete(cert.Thumbprint).Wait(); } } } } }