public void CreateEncryptedKeyFromConstructor() { var key = new EncryptedPrivateKey("4344645752e57065f814b51713d05810b6edb40bae6d099f099775bc828e36961f7fbb5e3ee62236714ad1e980ac8986bd4ed690f576abb5268ba0915ae575e7"); Assert.AreEqual("4344645752e57065f814b51713d05810", key.Iv); Assert.AreEqual("b6edb40bae6d099f099775bc828e36961f7fbb5e3ee62236714ad1e980ac8986bd4ed690f576abb5268ba0915ae575e7", key.EncryptedKey); }
public void DecreyptEncryptedKey() { var privateKeyEncrypted = new EncryptedPrivateKey("4344645752e57065f814b51713d05810b6edb40bae6d099f099775bc828e36961f7fbb5e3ee62236714ad1e980ac8986bd4ed690f576abb5268ba0915ae575e7"); var privateKeyDecrypted = privateKeyEncrypted.Decrypt(new Password("password")); Assert.AreEqual("e85467d94fdf70b5713d3b3b083597e0962f38843feb10259158a3fa6dc444b6", privateKeyDecrypted); }
public void CanEncodeAndDecodePrivateKey() { var encKey = CryptoUtils.EncodePrivateKey("9b4ed1b56be9e8106da2ef4fc681db0f9f4c22ccbad5f9bb9d3fbe68a1b20007", "simplewallet"); var key = new EncryptedPrivateKey(encKey); var unencrypted = key.Decrypt(new Password("simplewallet")); Assert.AreEqual("9b4ed1b56be9e8106da2ef4fc681db0f9f4c22ccbad5f9bb9d3fbe68a1b20007", unencrypted); }
public void CanEcryptAPrivateKey() { // password for nano produced simple wallet file var password = "******"; // key to encrypt var privateKey = "9b4ed1b56be9e8106da2ef4fc681db0f9f4c22ccbad5f9bb9d3fbe68a1b20007"; // iv from nano produced simple wallet file var iv = "d590ab155351abdd9c511e8fb46ee7a9"; // encrypted key from nano produced wallet file var encryptedKey = "590c675be30dc85d2512620b0526c5ddb6756adf98ebf827f7c124e9f115a81943b741d71de4397901cdb1b917bf1d65"; var pass = CryptoUtils.DerivePassSha(password, 20); var result = CryptoUtils.AesEncryptor(pass, iv.FromHex(), privateKey.FromHex()); var encKey = new EncryptedPrivateKey(result.ToHexLower()); Assert.AreEqual(iv, encKey.Iv); Assert.AreEqual(encryptedKey, encKey.EncryptedKey); }