Example #1
0
        public void TestKeyStoreAddRemove()
        {
            string keyname = this.GetType().FullName + ".TestKeyCreateAndDelete";

            using (RSAPrivateKey key = new RSAPrivateKey())
            {
                Assert.IsFalse(key.DeleteFromStore());

                key.WriteToStore(keyname);

                CspParameters cp = new CspParameters();
                cp.KeyContainerName = keyname;
                cp.Flags            = CspProviderFlags.UseExistingKey;

                using (RSAPrivateKey key2 = RSAPrivateKey.FromStore(cp))
                    Assert.AreEqual(key.ToXml(), key2.ToXml());

                using (RSAPrivateKey key2 = RSAPrivateKey.FromStore(keyname))
                {
                    Assert.AreEqual(key.ToXml(), key2.ToXml());
                    Assert.IsTrue(key2.DeleteFromStore());
                    key2.Dispose();
                }
            }
        }