Example #1
0
        /// <summary>
        /// Wrapper to derive public key <see cref="CryptTool.DerivePublicKey"/>
        /// </summary>
        /// <param name="privateKey">private key as file path or hex-string</param>
        /// <returns>Public key as hex-string</returns>
        public string DerivePublicKey(string privateKey)
        {
            byte[] privateKeyBytes = GetKey(privateKey, Key.KeyType.PRIVATE);
            byte[] publicKey       = CryptTool.DerivePublicKey(privateKeyBytes);

            return(new Key(Key.KeyType.PUBLIC, publicKey).Encode());
        }
Example #2
0
        protected override void Execute()
        {
            byte[] privateKey = this.privateKeyField.GetValue();
            byte[] publicKey  = CryptTool.DerivePublicKey(privateKey);

            System.Console.WriteLine("res");
            System.Console.WriteLine(new Key(Key.KeyType.PUBLIC, publicKey).Encode());
        }
Example #3
0
        public void TestDerivePublicKey()
        {
            Key privateKey = Key.DecodeKey(Common.myPrivateKey);
            Key publicKey  = Key.DecodeKey(Common.myPublicKey);

            byte[] derivedPublicKey = CryptTool.DerivePublicKey(privateKey.key);

            Assert.IsNotNull(derivedPublicKey, "derived public key");
            Assert.IsTrue(derivedPublicKey.SequenceEqual(publicKey.key));
        }