Как проверить сертификат формата PEM в Java - PullRequest
4 голосов
/ 14 июня 2011

У меня есть файл формата PEM, Как проверить подпись в Java, как я следовал http://download.oracle.com/javase/tutorial/security/apisign/versig.html, но обнаружил, что Java не поддерживает PEM

1 Ответ

2 голосов
/ 14 июня 2011

Вы можете прочитать сертификат в файле PEM, используя BouncyCastle 's 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
}

(Конечно, как и при любых операциях ввода-вывода, вам, возможно, придется закрыть программу чтения с помощью try / finally.)

Обратите внимание, что checkValidity и verify ничего не возвращают: вместо этого они выдают исключения, если они терпят неудачу.

...