使用 PEM 格式的密钥创建 CSR



我遇到了一个我似乎无法解释的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

最新更新