我试图通过几个步骤处理X509证书,并遇到几个问题.我是新来的JCE,所以我不完全是最新的一切.
我们希望能够根据不同的编码(PEM,DER和PCKS7)来解析几个不同的X509证书.我使用FireFox(证书包括链)从PEC和PCKS7格式从https://belgium.be导出了相同的证书.我已经离开了几条线,这些问题不是必需的
public List parse(FileInputStream fis) {
/*
* Generate a X509 Certificate initialized with the data read from the inputstream.
* NOTE: Generation fails when using BufferedInputStream on PKCS7 certificates.
*/
List certificates = null;
log.debug("Parsing new certificate.");
certificates = (List) cf.generateCertificates(fis);
return certificates;
}
这个代码工作正常,因为我使用FileInputStream而不是PCKS7的BufferedInputStream,这是非常奇怪的,我认为?但我可以和它一起生活
下一步是验证这些证书链.
1)检查所有证书是否具有有效的日期(简单)
2)使用OCSP验证证书链(如果证书中没有找到OCSP URL,则返回CRL).这是我不完全确定如何处理这个问题.
我正在使用Sun JCE,但是似乎没有那么多的文档(在示例中)?
我首先做了一个简单的实现,只检查链,而不经过OCSP / CRL检查.
priv