Files
trezor-suite/docs/packages/connect/methods/server/server.cs
martin 30c452b69c chore: update docs (#5439)
* docs: general update

* docs: more info about tests
2022-05-23 17:30:52 +02:00

26 lines
1.0 KiB
C#

//Depends on nuget package NBitcoin (Install-Package NBitcoin)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NBitcoin;
using NBitcoin.Crypto;
using NBitcoin.DataEncoders;
class Server
{
static void Main(string[] args)
{
string visual_challenge = "2015-03-23 17:39:22";
byte[] random_challenge = Encoders.Hex.DecodeData("cd8552569d6e4509266ef137584d1e62c7579b5b8ed69bbafa4b864c6521e7c2");
byte[] signature = Encoders.Hex.DecodeData("20f2d1a42d08c3a362be49275c3ffeeaa415fc040971985548b9f910812237bb41770bf2c8d488428799fbb7e52c11f1a3404011375e4080e077e0e42ab7a5ba02");
var hiddenChallenge_Sha = Hashes.SHA256(random_challenge);
var visualChallenge_Sha = Hashes.SHA256(Encoding.ASCII.GetBytes(visual_challenge));
PubKey pubKey = new PubKey("023a472219ad3327b07c18273717bb3a40b39b743756bf287fbd5fa9d263237f45");
bool verified = pubKey.VerifyMessage(hiddenChallenge_Sha.Concat(visualChallenge_Sha).ToArray(), Encoders.Base64.EncodeData(signature));
Console.WriteLine(verified);
}
}