如何使用RSA私钥和消息创建签名。签名长度为256位

时间:2019-09-24 04:42:47

标签: c# .net

我需要使用256位签名来传递标题以调用Jenga api。

下面是我尝试过的代码,它正在工作,但是它给出的签名长度为71位而不是256位。

 public static string GetSignature(byte[] privateKey, string message)
        {

            string str = null;
            try
            {
                var curve = SecNamedCurves.GetByName("secp256k1");
                var domain = new ECDomainParameters(curve.Curve, curve.G, curve.N, curve.H);

                var keyParameters = new
                        ECPrivateKeyParameters(new Org.BouncyCastle.Math.BigInteger(privateKey),
                        domain);                
                ISigner signer = SignerUtilities.GetSigner("SHA-256withECDSA");

                signer.Init(true, keyParameters);
                signer.BlockUpdate(Encoding.ASCII.GetBytes(message), 0, message.Length);
                var signature = signer.GenerateSignature();
                str = Convert.ToBase64String(signature);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return str;
        }

我希望签名长度为256位,但实际输出为71位,这是错误的。

0 个答案:

没有答案