zoukankan      html  css  js  c++  java
  • .NET Core SHA-256 with RSA 根据私钥进行签名

    第一步获取签名证书私钥

            /// <summary>
            /// 获取签名证书私钥
            /// </summary>
            /// <param name="priKeyFile">证书文件路径</param>
            /// <param name="keyPwd">密码</param>
            /// <returns></returns>
            private static RSA GetPrivateKey(string priKeyFile, string keyPwd)
            {
                var pc = new X509Certificate2(priKeyFile, keyPwd, X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet);
                return (RSA)pc.PrivateKey;
            }

    第二步根据私钥对数据进行签名

            /// <summary>
            /// 根据证书签名数据
            /// </summary>
            /// <param name="data">要签名的数据</param>
            /// <param name="certPah">证书路径</param>
            /// <param name="certPwd">密码</param>
            /// <returns></returns>
            public string Sign(string data, string certPah, string certPwd)
            {
                var rsa = GetPrivateKey(certPah, certPwd);
    
                var rsaClear = new RSACryptoServiceProvider();
    
                var paras = rsa.ExportParameters(true);
                rsaClear.ImportParameters(paras);
    
                var signData = rsa.SignData(Encoding.UTF8.GetBytes(data), HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
                return Convert.ToBase64String(signData);
            }
  • 相关阅读:
    关于二分操作的基本应用
    东北育才 d1t4 漂流
    东北育才 d1t1 优雅的序列
    从零开始的图的存储方法
    从零理解的KMP算法
    openjudge T017 黑社会团伙 (并查集)
    东北育才 day6
    poj3071 Football
    noip2015 跳石头
    noip2015 信息传递
  • 原文地址:https://www.cnblogs.com/net666/p/10766737.html
Copyright © 2011-2022 走看看