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

前端之家收集整理的这篇文章主要介绍了c# – 将私钥与.net中的X509Certificate2类相关联前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一些创建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");

猜你在找的C#相关文章