Beispiel #1
0
        /// <summary>
        /// 从支付宝公钥证书中提取支付宝公钥
        /// </summary>
        /// <param name="certPath">证书路径</param>
        /// <returns>公钥字符串</returns>
        public static string ExtractPemPublicKeyFromCert(string certPath)
        {
            ArgumentValidator.CheckArgument(!String.IsNullOrEmpty(certPath), "证书文件路径不可为空。");

            X509Certificate alipayPublicKeyCert = AntCertificationUtil.ParseCert(File.ReadAllText(certPath));

            return(AntCertificationUtil.ExtractPemPublicKeyFromCert(alipayPublicKeyCert));
        }
        /// <summary>
        /// 初始化证书所需运行时参数
        /// </summary>
        /// <param name="certParams">用户传入的证书相关参数</param>
        /// <param name="signType">算法类型</param>
        public CertEnvironment(CertParams certParams, string signType)
        {
            //解析支付宝根证书序列号
            this.RootCertContent = File.ReadAllText(certParams.RootCertPath);
            this.RootCertSN      = AntCertificationUtil.GetRootCertSN(RootCertContent, signType);

            //解析应用证书序列号
            X509Certificate appCert = AntCertificationUtil.ParseCert(File.ReadAllText(certParams.AppCertPath));

            this.AppCertSN = AntCertificationUtil.GetCertSN(appCert);

            //解析支付宝公钥证书序列号
            X509Certificate alipayPublicKeyCert   = AntCertificationUtil.ParseCert(File.ReadAllText(certParams.AlipayPublicCertPath));
            string          alipayPublicKeyCertSN = AntCertificationUtil.GetCertSN(alipayPublicKeyCert);
            //解析支付宝公钥
            string alipayPublicKey = AntCertificationUtil.ExtractPemPublicKeyFromCert(alipayPublicKeyCert);

            //缓存支付宝公钥证书序号对应的支付宝公钥
            AddNewAlipayPublicKey(alipayPublicKeyCertSN, alipayPublicKey);
        }
Beispiel #3
0
        /// <summary>
        /// 获取公钥证书序列号
        /// </summary>
        /// <param name="certPath">公钥证书路径</param>
        /// <returns>公钥证书序列号</returns>
        public static String GetCertSN(String certPath)
        {
            X509Certificate cert = AntCertificationUtil.ParseCert(File.ReadAllText(certPath));

            return(AntCertificationUtil.GetCertSN(cert));
        }