简体   繁体   English

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

[英]Generate a Certificate Signing Request for ssl using java program

I want to write a program that can generate Certificate Signing Request with all information like domain name, country name, state organisation etc. I know to how to generate it with open-ssl but I want to generate it with only java program .我想编写一个程序,可以生成包含域名、国家名称、国家组织等所有信息的证书签名请求。我知道如何使用open-ssl生成它,但我只想用java 程序生成它。 How can I do this?我怎样才能做到这一点?

Thanks for your help谢谢你的帮助

Bouncy castle provides all the tools you need to do that.充气城堡提供了您需要的所有工具。

Here is the code to generate a CSR:这是生成 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);
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM