4

私はPEM形式のファイルを持っています.Javaで署名を検証するにはどうすればよいですか.

4

1 に答える 1

2

BouncyCastlePEMReader. _ コンテンツが 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 操作と同様に、おそらく try/finally でリーダーを閉じる必要があります。)

checkValidityandは何も返さないことに注意してくださいverify。代わりに、失敗した場合に例外をスローします。

于 2011-06-14T10:52:50.817 に答える