我正在将我的自定义验证器用于ssl证书。 该方法使用X509Certificate,而不使用X509Certifcate2。我想显示发行人和发行人的用户友好打印。
我想使用: certificate2.GetNameInfo(X509NameType.SimpleName,true)。 我知道我可以将X509Certifcate转换为X509Certificate2。
ServicePointManager.ServerCertificateValidationCallback += OnCertificateValidationCallback
bool OnCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
if (!(certificate is X509Certificate2 certificate2))
{
certificate2 = new X509Certificate2(certificate);
}
}
MSDN说,如果发生以下情况,它可能会引发异常:
何时证书将是X509Certificate类型,如果可以,我是否可以信任此代码进行转换而不会引发异常?