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(); } } }
public void TestPrivateKeyExport() { RSAPrivateKey pk = new RSAPrivateKey(); string xml = pk.ToXml(); RSAPrivateKey copy = RSAPrivateKey.FromXml(xml); Assert.AreEqual(xml, copy.ToXml()); byte[] bytes = pk.ToArray(); Assert.AreEqual(596, bytes.Length); copy = RSAPrivateKey.FromBytes(bytes); Assert.AreEqual(bytes, copy.ToArray()); copy = RSAPrivateKey.FromParameters(pk.ExportParameters()); Assert.AreEqual(bytes, copy.ToArray()); }