Exemple #1
0
        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);
                }
            }
        }
Exemple #2
0
 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();
                 }
             }
         }
     }
 }