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