public static bool VerifySignature(PublicKey publicKey, string signature, string msg) { byte[] msgBytes = Encoding.UTF8.GetBytes(msg); byte[] sigBytes = Convert.FromBase64String(signature); ISigner signer = SignerFactory.Sha256withECDSA(); signer.Init(false, KeyFactory.ECPublicKeyParamsFromPublicKey(publicKey, SignerFactory.Sha256EcdsaDomain)); signer.BlockUpdate(msgBytes, 0, msgBytes.Length); return(signer.VerifySignature(sigBytes)); }
public static byte[] SignData(PrivateKey pk, byte[] data) { ECPrivateKeyParameters privateKeyParams = KeyFactory.ECPrivateKeyParamsFromPrivateKey(pk, SignerFactory.Sha256EcdsaDomain); ISigner signer = SignerFactory.Sha256withECDSA(); signer.Init(true, privateKeyParams); signer.BlockUpdate(data, 0, data.Length); byte[] signBytes = signer.GenerateSignature(); return(signBytes); }