Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net X509Certificate2Collection.Find如何定义有效的证书_.net_X509certificate_Digital Certificate - Fatal编程技术网

.net X509Certificate2Collection.Find如何定义有效的证书

.net X509Certificate2Collection.Find如何定义有效的证书,.net,x509certificate,digital-certificate,.net,X509certificate,Digital Certificate,我最近遇到了一个问题,希望有人能提供一些见解。证书即将过期,因此我们将其替换。有一段时间新旧证书都有效。旧证书过期时,以下代码仍然返回新证书和过期证书: X509Certificate2Collection.Find(X509FindType.FindBySubjectName, certName, true) 根据.NET的标准,认为证书是有效的。.NET是否认为证书有效到午夜UTC(如它应该)或当地时间午夜。 最后,我们简单地删除了旧证书,一切都很好;但是我不希望下次我们需要替换证书时出现

我最近遇到了一个问题,希望有人能提供一些见解。证书即将过期,因此我们将其替换。有一段时间新旧证书都有效。旧证书过期时,以下代码仍然返回新证书和过期证书:

X509Certificate2Collection.Find(X509FindType.FindBySubjectName, certName, true)
<>根据.NET的标准,认为证书是有效的。.NET是否认为证书有效到午夜UTC(如它应该)或当地时间午夜。


最后,我们简单地删除了旧证书,一切都很好;但是我不希望下次我们需要替换证书时出现同样的问题。

首先,
X509Certificate2Collection.Find(X509FindType.FindBySubjectName,certName,true)
方法对集合中的每个对象执行
X509Certificate2.Verify()
方法以确定证书是否有效<代码>验证()方法执行大量检查(根据RFC 5280)

关于有效性。证书中的有效性(内部)以UTC格式存储,并且.NET将此UTC时间转换为本地时间。打开证书并查看其有效期至午夜时,则证书在当前时区(非UTC午夜)的午夜前有效