有人可以告诉我,为什么我在Web方法调用期间从HttpClientCertificate实例化X509Certificate2之后我没有cert.PrivateKey(= null)......这样:
X509Certificate2 cert = new X509Certificate2(Context.Request.ClientCertificate.Certificate,“test”);
当我检查调试器时,HttpClientCertificate有一个私钥,但X509Certificate2(证书变量)没有!
..此外,当我指定无效密码时,我甚至不会收到CryptographicException。
有人可以请我澄清吗?
提前非常感谢!
亲切的问候, 克里斯
答案 0 :(得分:1)
您正在使用的构造函数(数据/密码)旨在用于从PKCS#12文件(PFX文件)获取证书。 ClientCertificate的Certificate属性“获取包含整个证书内容的二进制流的字符串,格式为ASN.1。”
ClientCertificate旨在为您提供在与服务器建立SSL会话期间使用的证书。我不希望它以你想要的方式公开私钥。