我想编写一个程序,可以生成证书签名请求,其中包含域名、国家/地区名称、国家组织等所有信息。我知道如何使用open-ssl 生成它但我只想用java程序生成它。我怎样才能做到这一点?
感谢您的帮助
最佳答案
Bouncy caSTLe 提供了执行此操作所需的所有工具。
以下是生成 CSR 的代码:
PrivateKey priKey = entry.getPrivateKey(keystore, pwd);
PKCS10CertificationRequestBuilder p10Builder
= new JcaPKCS10CertificationRequestBuilder(
cert.getSubjectX500Principal(), cert.getPublicKey());
JcaContentSignerBuilder csBuilder = new JcaContentSignerBuilder(cert.getSigAlgName());
ContentSigner signer = csBuilder.build(priKey);
PKCS10CertificationRequest csr = p10Builder.build(signer);
try (OutputStream stream = new FileOutputStream(file);
Writer writer = new OutputStreamWriter(stream, "UTF-8");
JcaPEMWriter out = new JcaPEMWriter(writer)) {
out.writeObject(csr);
}
关于java - 使用java程序生成ssl证书签名请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60257382/