/// <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()); }
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()); }
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)); }