我正在尝试为每个客户端生成证书,这些证书将连接到一个返回json的REST调用,该证书将通过电子邮件发送并且是个人的。这样做的目的是当客户端发送带有该证书的HTTPS请求时,我们将读取其DN并记录访问权限。我们正在使用Mutual SSL。
我了解证书如何运作的方式,颁发者是签署证书的权威机构,而主题是要保护的目标机器,因此不应提供任何个人信息被包括在客户的证书中。
如果这是正确的,你会如何实现这个? 我已经尝试使用openssl生成证书,但Issuer和Subject都填充了相同的数据,我无法更改它,我不知道如何继续。
答案 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。