bil*_*lpg 12 .net c# ssl x509certificate x509
我有一个由SslStream.AuthenticateAsClient调用的RemoteCertificateValidationCallback函数,该函数传递给X509Certificate对象.
我想从该证书中提取名称,这样,如果我将该字符串传递给AuthenticateAsClient,它就会通过.(假设没有其他问题.)
(注意:Subject属性包含域名,但它位于"CN = ...,S = ..."等格式化字符串中.)
另请参见:如何从Java中的X509Certificate中提取CN?(问一个类似的Java问题,但我找不到那些答案中提到的类似.NET的类.)
(跟随Eugene的回答.)
我试过这个......
var cert2 = new System.Security.Cryptography.X509Certificates.X509Certificate2();
cert2.Import(certificate.GetRawCertData());
Run Code Online (Sandbox Code Playgroud)
...但是cert2.SubjectName.Name仍然具有CN = etc格式.我做错了吗?
IMi*_*Mil 28
我是通过以下方式完成的:
var cert2 = new X509Certificate2(cert);
string hostName = cert2.GetNameInfo(X509NameType.DnsName, false);
Run Code Online (Sandbox Code Playgroud)
您还可以检查证书是否有效:
bool valid = cert2.Verify();
Run Code Online (Sandbox Code Playgroud)
(有关X509Certificate2类的说明,请参阅此问题)
| 归档时间: |
|
| 查看次数: |
12908 次 |
| 最近记录: |