pfx文件解析私钥和公钥

pfx文件解析私钥和公钥最近和某行对接,发现私钥和公钥以pfx文件形式传给我们,需要我们自己进行读取,当时头就有点儿大(菜鸟,第一次接触,哎~~~)先说一下pfx证书与cer证书的区别PFX证书:由PublicKeyCryptographyStandards#12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。CER证书:证书中没有私钥,DER编码二进制

大家好,又见面了,我是你们的朋友全栈君。

最近和某行对接,发现私钥和公钥以pfx文件形式传给我们,需要我们自己进行读取,当时头就有点儿大(菜鸟,第一次接触,哎~~~)

先说一下pfx证书与cer证书的区别

PFX证书:由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。

CER证书:证书中没有私钥,DER 编码二进制格式的证书文件/BASE64 编码格式的证书文件,以cer作为证书文件后缀名。

综上所述:pfx证书文件中比cer文件中多了私钥。其他不多说看代码,pfx文件的生成方法及私钥和公钥导出方法(.net版)

        /// <summary>
        /// 获取私钥
        /// </summary>
        /// <param name=”path”>文件路径</param>
        /// <param name=”password”>文件秘钥</param>
        /// <returns></returns>
        public static string GetPrivateKey(string path,string password)
        {

            try
            {

                X509Certificate2 cert = new X509Certificate2(path, password, X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet);
                return cert.PrivateKey.ToXmlString(true);
            }
            catch
            {

                return “”;
            }
        }

        /// <summary>
        /// 获取公钥
        /// </summary>
        /// <param name=”path”>文件路径</param>
        /// <param name=”password”>文件秘钥</param>
        /// <returns></returns>
        public static string GetPublicKey(string path, string password)
        {

            try
            {

                X509Certificate2 cert = new X509Certificate2(path, password, X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet);
                return cert.PublicKey.Key.ToXmlString(false);
            }
            catch
            {

                return “”;
            }
        }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133544.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号