コード例 #1
0
ファイル: DsaDigestSigner.cs プロジェクト: zyj0021/bc-csharp
 public DsaDigestSigner(
     IDsa dsa,
     IDigest digest)
 {
     this.dsa      = dsa;
     this.digest   = digest;
     this.encoding = StandardDsaEncoding.Instance;
 }
コード例 #2
0
ファイル: DsaDigestSigner.cs プロジェクト: zyj0021/bc-csharp
 public DsaDigestSigner(
     IDsaExt dsa,
     IDigest digest,
     IDsaEncoding encoding)
 {
     this.dsa      = dsa;
     this.digest   = digest;
     this.encoding = encoding;
 }
コード例 #3
0
        public static string GenerateSignature(string InputData, string PrivateKeyPath, string PublicKeyPath)
        {
            string s = InputData;

            // s = "20685b5fbfe1898fbb080b0719acc9ed2f365128627f21ffcc1b1ee27471e69e";
            try
            {
                IDsaEncoding encoding = StandardDsaEncoding.Instance;
                var          encoder  = new ASCIIEncoding();
                var          bencoder = new Base64Encoder();
                //var key = GenerateKeys(128);
                AsymmetricCipherKeyPair MyKey    = getPrivateKeyFromPemFile(PrivateKeyPath);
                ECPublicKeyParameters   pubicKey = getPublicKeyFromPemFile(PublicKeyPath);
                //var pubicKey = (ECPublicKeyParameters)(MyKey1.Public);
                var          privateKey = (ECPrivateKeyParameters)(MyKey.Private);
                var          signature  = GetSignature(s, privateKey);
                BigInteger[] sig        = encoding.Decode(GetOrder(), signature);
                //System.Numerics.BigInteger sigval = 0;
                //System.Numerics.BigInteger.TryParse(sig[1].ToString(), out sigval);
                var finalsignature = sig[0].ToString(16) + sig[1].ToString(16);
                var signatureOK    = VerifySignature(pubicKey, s, signature);
                if (signatureOK)
                {
                    return(finalsignature);
                }
                else
                {
                    return("");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return("");
            }
        }
コード例 #4
0
 public SM2Signer(IDsaEncoding encoding, IDigest digest)
 {
     this.encoding = encoding;
     this.digest   = digest;
 }
コード例 #5
0
 public SM2Signer(IDsaEncoding encoding)
     : this(encoding, new SM3Digest())
 {
 }
コード例 #6
0
 public SM2Signer(IDsaEncoding encoding)
 {
     this.encoding = encoding;
 }
コード例 #7
0
 public SM2Signer()
 {
     this.encoding = StandardDsaEncoding.Instance;
 }