我遇到了一个我似乎无法解释的CSR生成问题,并且想知道是否有人可以帮助我执行命令,或者告诉我我正在生成什么。
我想我正在生成 PEM 格式的 CRT 证书,但似乎我的密钥不是 PEM 格式!?
这就是我所做的,也是我得到的。 我创建一个企业社会责任:
openssl req -nodes -new -newkey rsa:2048 -sha256 -out test.csr
这将生成 2 个文件:privkey.pem和测试.csr
现在,当我尝试更新某些服务器时,他们抱怨我的私钥不是PEM格式。nginx和Apache似乎对我的钥匙很满意。
当我然后使用以下命令转换密钥时:
openssl rsa -in privkey.pem -out privkey.rsa.pem
它?!工作
vimdiff 直观地向我展示了文件的差异,可以看到不仅标题不同,而且内容也发生了变化(在前 4 个字符之后)
因此我的问题
是以 DER - PEM 格式创建的密钥,即使我指定不在创建行中使用 DER?
我发现生成 RSA 格式密钥的唯一方法是首先使用
openssl genrsa -out ./yourkeyfile.key 2048
,然后使用该文件创建 CSR
openssl req -new -sha256 -key yourkeyfile.key -out yourcsrfile.csr
如果使用单行命令,则会以 DER 格式创建密钥文件。
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout yourkeyfile.key -out yourcsrfile.csr