0

私の Java プログラムは、受信した X509 証明書要求に独自のキーを使用して署名する必要があります。証明書リクエストは PEM 形式です。署名用のキー/証明書は、ローカルの Java キー ストアにあります。

java.securityパッケージから適切なクラスを探しました。しかし、成功せずに。

X509 証明書に署名するには、どのクラスの Java API を使用する必要がありますか?

PEM を DER に変換できますが、DER のデコードで問題が発生します。私は次のことを試しました:

BufferedInputStream  bis  = new BufferedInputStream(new ByteArrayInputStream(derReq));          
CertificateFactory certFact = CertificateFactory.getInstance("X.509");          
java.security.cert.Certificate cert = certFact.generateCertificate(bis);

javax.security.cert.X509Certificate cer = X509Certificate.getInstance(derReq);

どちらも次の例外が発生します。

javax.security.cert.CertificateException: Could not parse certificate: java.io.IOException: Empty input

そのため、これらは署名付き証明書専用であり、X509 証明書要求用ではないようです。

4

1 に答える 1