2015-08-13 43 views
0

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

我明白证书是如何工作的方式,发行人是,签署证书的机构,和主题是目标机器上的安全,因此任何个人信息应当包括客户端的证书中。

如果这是正确的,你将如何实现这一点? 我已经尝试使用openssl生成证书,但颁发者和主题都填充了相同的数据,我无法更改它,并且我不知道如何继续。

回答

0

RFC5280发行人主题需要证书的领域。

OpenSSL实施证书签名请求(CSR) - PKCS#10。以下是使用它来演示CSR生成的示例。您最终将获得2个文件:一个私钥(MyCommonName.key)和一个名为的CSR MyCommonName.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