加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将私钥与.net中的X509Certificate2类相关联

发布时间:2020-12-15 03:52:12 所属栏目:百科 来源:网络整理
导读:我正在开发一些创建X509证书和公钥/私钥对的代码.公钥被添加到证书中,并将其发送到签署CA的CA. 然后通过System.Security.Cryptography.X509Certificates.X509Certificate2类访问返回的证书.现在我想使用此证书来启动与其他客户端的安全连接.所以我使用SslStr
我正在开发一些创建X509证书和公钥/私钥对的代码.公钥被添加到证书中,并将其发送到签署CA的CA.

然后通过System.Security.Cryptography.X509Certificates.X509Certificate2类访问返回的证书.现在我想使用此证书来启动与其他客户端的安全连接.所以我使用SslStream类.要启动SSL握手我用这个方法:

server.AssociatedSslStream.AuthenticateAsServer(
                        MyCertificate,// Client Certificate
                        true,// Require Certificate from connecting Peer
                        SslProtocols.Tls,// Use TLS 1.0
                        false                               // check Certificate revocation
                    );

该方法要求私钥与证书相关联.当然,CA返回的证书不包含私钥.但它是作为.key文件存储在硬盘上. X509Certificate2类有一个名为PrivateKey的属性,我猜会将一个私钥与证书相关联,但是我找不到一种设置此属性的方法.

有没有什么办法可以将私钥与.net X509类关联?

解决方法

您可以自己保存复制粘贴所有代码的麻烦,并将密码存储在pfx / pkcs#12文件中的证书旁边:
openssl pkcs12 -export -in my.cer -inkey my.key -out mycert.pfx

你必须提供一个密码,你必须传递给X509Certificate2的构造函数:

X509Certificate2 cert = new X509Certificate2("mycert.pfx","password");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读