【问题标题】:Building a Certificate Authority architecture构建证书颁发机构架构
【发布时间】:2011-07-28 01:45:04
【问题描述】:

我正在尝试构建一个涉及多个客户端和一个服务器的网络,两者都是用 Java 编写的。我正在尝试找到一种在客户端自动生成 CSR 的方法,该 CSR 可以发送到服务器以获得签名证书。我已经能够在 Java 中生成公钥/私钥对,但无法弄清楚如何生成 CSR。也许我正在寻找错误的方式!请帮忙!

【问题讨论】:

  • 您的问题是关于“证书颁发机构架构”,还是“我如何创建 CSR”?
  • 两者都有。我正在假设一个 CA 体系结构需要生成 CSR 并将其发送到服务器,然后服务器将生成一个证书,然后将证书发送回客户端。我是 CA 的新手,所以如果有不同的方式从 CSR 以外的服务器处理证书生成,我不知道。

标签: java keystore pki csr


【解决方案1】:

您可能需要查看Bouncy Castle Crypto APIs 以帮助您生成 CSR。他们有documentation关于如何去做。这是一个需要充气城堡的example。我遇到了KeyUtils.java,它有一个writeCertReq() 方法,但它依赖于一些内部sun.security 导入(因此它仅限于Oracle/Sun JVM)。我实际上不知道使用标准 JCE 的方法。

【讨论】:

    【解决方案2】:

    看看这篇文章的结尾。它解释了如何使用 BouncyCastle 库来生成证书和 PKCS#10 CSR。这应该是您完成这项工作所需的全部内容。

    http://www.bouncycastle.org/wiki/display/JA1/X.509+Public+Key+Certificate+and+Certification+Request+Generation

    【讨论】: