从一个Java密钥库生成多个个人证书

时间:2015-08-13 14:47:33

标签: java authentication ssl certificate ssl-certificate

我正在尝试为每个客户端生成证书,这些证书将连接到一个返回json的REST调用,该证书将通过电子邮件发送并且是个人的。这样做的目的是当客户端发送带有该证书的HTTPS请求时,我们将读取其DN并记录访问权限。我们正在使用Mutual SSL。

我了解证书如何运作的方式,颁发者是签署证书的权威机构,而主题是要保护的目标机器,因此不应提供任何个人信息被包括在客户的证书中。

如果这是正确的,你会如何实现这个? 我已经尝试使用openssl生成证书,但Issuer和Subject都填充了相同的数据,我无法更改它,我不知道如何继续。

1 个答案:

答案 0 :(得分:0)

RFC5280颁发者主题是证书的必填字段。

OpenSSL实施证书签名请求(CSR) - PKCS#10。下面是一个使用它来演示CSR生成的示例。您最终会得到2个文件:私钥( MyCommonName.key )和名为 MyCommonName.csr 的CSR。

openssl req -new -newkey rsa:2048 -nodes -out MyCommonName.csr -keyout MyCommonName.key -subj "/C=US/ST=MyState/L=MyCity/O=MyOrganization/OU=MyDepartment/CN=MyCommonName"

现在可以将cert.csr发送给CA.如果CA无法处理.PEM格式, 使用其他参数-outform,然后使用特定的format