Exemplo n.º 1
0
        public void CreateEncryptedKeyFromConstructor()
        {
            var key = new EncryptedPrivateKey("4344645752e57065f814b51713d05810b6edb40bae6d099f099775bc828e36961f7fbb5e3ee62236714ad1e980ac8986bd4ed690f576abb5268ba0915ae575e7");

            Assert.AreEqual("4344645752e57065f814b51713d05810", key.Iv);
            Assert.AreEqual("b6edb40bae6d099f099775bc828e36961f7fbb5e3ee62236714ad1e980ac8986bd4ed690f576abb5268ba0915ae575e7", key.EncryptedKey);
        }
Exemplo n.º 2
0
        public void DecreyptEncryptedKey()
        {
            var privateKeyEncrypted = new EncryptedPrivateKey("4344645752e57065f814b51713d05810b6edb40bae6d099f099775bc828e36961f7fbb5e3ee62236714ad1e980ac8986bd4ed690f576abb5268ba0915ae575e7");
            var privateKeyDecrypted = privateKeyEncrypted.Decrypt(new Password("password"));

            Assert.AreEqual("e85467d94fdf70b5713d3b3b083597e0962f38843feb10259158a3fa6dc444b6", privateKeyDecrypted);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }