java - 使用java程序生成ssl证书签名请求

标签 java csr

我想编写一个程序,可以生成证书签名请求,其中包含域名、国家/地区名称、国家组织等所有信息。我知道如何使用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/

相关文章:

java - 如何让我的循环水平显示而不是垂直显示?

java - 可以使用 java.security 生成 CSR 而不需要 sun 软件包或外部库吗?

ssl - 创建 EC CSR 时命名曲线或域参数

java - Spring 启动: unit test class that uses @Configuration class

java - 是否可以使用具有不同 key 对的现有 CA 生成签名证书?

java - 将属性放入 X500Name Builder Bouncy CaSTLe 以生成 PKCS10

android - 使用 javacard 生成签名 CSR 时出错(asn1 错误标记值)

java - 如何从PDF图像中提取文本

java - jfreechart - 更改图例中的颜色样本

java - java中Web应用程序的后台进程