3
我有PEM格式的文件,如何验证Java中的签名,因为我也跟着http://download.oracle.com/javase/tutorial/security/apisign/versig.html却发现Java的犯规支持PEM如何验证PEM格式的证书在Java中
我有PEM格式的文件,如何验证Java中的签名,因为我也跟着http://download.oracle.com/javase/tutorial/security/apisign/versig.html却发现Java的犯规支持PEM如何验证PEM格式的证书在Java中
可以使用读取一个PEM文件证书BouncyCastle的PEMReader
。如果内容是X.509证书,则应该获得X509Certificate
的实例并根据需要验证它。
编辑:这里是代码应该是什么样子(没试过):
// The key with which you want to verify the cert.
// This is probably a CA certificate's public key.
PublicKey publicKey = ...;
PEMReader reader = new PEMReader(new FileReader("/path/to/file.pem"));
Object pemObject = reader.readObject();
if (pemObject instanceof X509Certificate) {
X509Certificate cert = (X509Certificate)pemObject;
cert.checkValidity(); // to check it's valid in time
cert.verify(publicKey); // verify the sig. using the issuer's public key
}
(当然,如同任何I/O操作,你需要与可能关闭该阅读器尝试/最后)。
请注意,checkValidity
和verify
不会返回任何内容:相反,如果它们失败,它们会抛出异常。
因为我对Java很陌生,可能我有一些代码片段。 – Shri 2011-06-14 10:59:55