【发布时间】:2012-01-14 23:24:38
【问题描述】:
我有一个由 SslStream.AuthenticateAsClient 调用的 RemoteCertificateValidationCallback 函数,它传递了一个 X509Certificate 对象。
我想从该证书中提取名称,这样如果我将该字符串传递给 AuthenticateAsClient,它就会通过。 (假设没有其他问题。)
(注意:Subject 属性包含域名,但它位于“CN=..., S=...”等格式的字符串中。)
另请参阅:How to extract CN from X509Certificate in Java?(针对 Java 提出了类似的问题,但我在这些答案中找不到类似的 .NET 类。)
(跟进尤金的回答。)
这个我试过了……
var cert2 = new System.Security.Cryptography.X509Certificates.X509Certificate2();
cert2.Import(certificate.GetRawCertData());
...但是 cert2.SubjectName.Name 仍然具有 CN= 等格式。我做错了吗?
【问题讨论】:
-
很抱歉打扰你,但请看一下:你已经接受了只有一个赞成票的答案,而我的答案是 +23,而且肯定更简单、更安全(虽然我猜是有点晚了......)你会考虑改变接受的答案吗?我问这个不是为了我自己,而是为了其他用户的利益。
-
@IMil 哦,那好吧。对不起亚当。
标签: c# .net x509certificate ssl x509