CryptoAPI和CRL

时间:2016-08-30 07:46:12

标签: certificate windows-ce cryptoapi certificate-revocation

我遇到了CryptoAPI证书链验证的问题,尤其是撤销检查。问题是我在Windows CE下工作(没有互联网访问权限),而CryptoAPI也没有为它导出CRL API。

https://msdn.microsoft.com/en-us/library/ms936955.aspx

我已经完成了一些研究,似乎CertGetCertificateChain()进行了撤销检查,但是在引擎盖下。

我创建时使用OpenSSL自签名Root CAIntermediate CA(使用根CA签名),最后我使用Intermediate CA签署了结束证书,其中包含扩展名{ {1}}其中指出crlDistributionPoints的CRL以Intermediate CA格式编码。为简洁起见,我们将其命名为PEM

所以,intermediate.crl.pem在我的磁盘上是持久的,而在intermediate.crl.pem我将它链接为:

openssl.cnf

我不确定,这是正确的,但我也不确定CryptoAPI不会期望某种不同的格式(例如DER而不是PEM)。

最后撤销检查不正确。我总是得到证书被撤销的错误,无论它是否在CRL中。

你能在这里给我一些指导吗?重要的是,... [ extensions_section ] crlDistributionPoints=//windows//intermediate.crl.pem ... 不能通过网络获得(它必须抵制文件系统)。

另外,我注意到Windows CE支持一个名为intermediate.crl.pem的证书存储,CryptoAPI的链引擎在验证期间检查并返回错误(如果证书无效),如果证书是验证在那里。

使用此商店代替CRL是更好的方法吗?

0 个答案:

没有答案