public void CanCreateFromDH() { using (var dh = new DH()) { dh.GenerateKeys(); using (var key = new CryptoKey(dh)) { Assert.AreEqual(CryptoKey.KeyType.DH, key.Type); Assert.AreEqual(dh.Handle, key.GetDH().Handle); } using (var key = new CryptoKey()) { key.Assign(dh); Assert.AreEqual(dh.Handle, key.GetDH().Handle); } } }
public void CanCreateFromRSA() { using (var rsa = new RSA()) { rsa.GenerateKeys(1024, BigNumber.One, null, null); using (var key = new CryptoKey(rsa)) { Assert.AreEqual(CryptoKey.KeyType.RSA, key.Type); Assert.AreEqual(rsa.Size, key.Size); Assert.AreEqual(rsa.Handle, key.GetRSA().Handle); } using (var key = new CryptoKey()) { key.Assign(rsa); Assert.AreEqual(rsa.Handle, key.GetRSA().Handle); } } }
public void CanCreateFromEC() { using (var ec = new Key()) { using (var group = Group.FromCurveName(Objects.NID.X9_62_prime256v1)) { ec.Group = group; } ec.GenerateKey(); using (var key = new CryptoKey(ec)) { Assert.AreEqual(CryptoKey.KeyType.EC, key.Type); Assert.AreEqual(ec.Size, key.Size); Assert.AreEqual(ec.Handle, key.GetEC().Handle); } using (var key = new CryptoKey()) { key.Assign(ec); Assert.AreEqual(ec.Handle, key.GetEC().Handle); } } }
public void CanCreateFromDSA() { using (var dsa = new DSA(true)) { using (var key = new CryptoKey(dsa)) { Assert.AreEqual(CryptoKey.KeyType.DSA, key.Type); Assert.AreEqual(dsa.Size, key.Size); Assert.AreEqual(dsa.Handle, key.GetDSA().Handle); } using (var key = new CryptoKey()) { key.Assign(dsa); Assert.AreEqual(dsa.Handle, key.GetDSA().Handle); } } using (var key = new CryptoKey(new DSA(false))) { Assert.AreEqual(CryptoKey.KeyType.DSA, key.Type); } }