【问题标题】:Missing Client-Certificate´s PrivateKey缺少客户证书的私钥
【发布时间】:2009-09-29 10:34:29
【问题描述】:

有人可以告诉我为什么我在 web 方法调用期间从 HttpClientCertificate 实例化 X509Certificate2 后没有 cert.PrivateKey (=null) ......像这样:

X509Certificate2 cert = new X509Certificate2(Context.Request.ClientCertificate.Certificate, "test");

当我使用调试器检查时,HttpClientCertificate 有一个私钥,但 X509Certificate2(证书变量)没有!

..此外,当我指定无效密码时,我什至没有收到 CryptographicException。

有人可以帮我解惑吗?

非常感谢!

亲切的问候, 克里斯

【问题讨论】:

    标签: certificate x509certificate


    【解决方案1】:

    您使用的构造函数(数据/密码)旨在用于从 PKCS#12 文件(PFX 文件)中获取证书。 ClientCertificate 的 Certificate 属性“获取包含整个证书内容的二进制流的字符串,采用 ASN.1 格式。”

    ClientCertificate 旨在为您提供在与服务器建立 SSL 会话期间使用的证书。我不希望它以您尝试的方式公开私钥。

    【讨论】:

    • 之前,我尝试使用正确的 ctor:X509Certificate2 cert = new X509Certificate2(Context.Request.ClientCertificate.Certificate) 在实例化它之后,我在证书对象中也没有私钥,就像上面的行一样。我想实现肥皂消息的路由,包括附加到它们的客户端证书。这就是为什么我想从 HttpClientCertificate 中读取它并实例化一个新对象 X509Certificate / X509Certificate2 并将其添加到新的路由 SoapHttpClient 中。这就是我的问题。 .
    猜你喜欢
    • 1970-01-01
    • 2017-08-30
    • 2014-11-20
    • 1970-01-01
    • 2020-07-14
    • 2018-10-29
    • 2016-03-16
    • 1970-01-01
    • 2012-10-20
    相关资源
    最近更新 更多