在我的新客户站点之一,我有一个即将到期的SSL证书。 我已经收到我的提供者过期通知。 之前的pipe理员相当详细,我find了用于请求即将到期的证书的.CSR。
然而,这个主机是一个debian主机,我已经证实,当Debian遭受OpenSSL随机数生成问题时,.CSR被生成。
所以。 现在我已经更新了debian主机上的OpenSSL,我想我必须重新生成.CSR来进行更新。 有没有办法找出在.CSR中使用了什么值,以确保新的.CSR是一致的?
尝试这个:
openssl req -in file.csr -noout -text
为了将来的参考,你甚至不需要原始的CSR。
您可以从现有的x509证书创build新的请求。
openssl x509 -x509toreq -in file.crt -signkey file.key -out file.csr
一般来说,几乎所有的OpenSSL命令都支持被别人正确回答的标志。
-noout -text
这只是防止PEM输出,而不是显示人类可读的内容。
如果密钥是在Debian或Ubuntu服务器上生成的,而openssl有一个破损的随机数生成器,则必须重新生成密钥 。 不要只从旧密钥中生成新的CSR。 你仍然是可怕的。 一旦你有了新的密钥,你就可以用正确的值创build一个新的CSR。
openssl req -text -noout -in FILENAME.csr
应该做的伎俩。
我完全同意David Pashley的观点(但我还有一些补充…)。
密钥本身是脆弱的,而不是csr! 再生csr没有意义,你必须重新生成你的钥匙!
大多数CA甚至不接受与这些“被盗用”密钥相关的签名请求。
这里有一些有用的链接:
完全依赖于你在这里做什么,但是如果我们正在谈论与Web服务器一起使用的常规SSL证书,有时候简单的解决办法就是把网站( https://www.mywebsite.com )拉起来,看看那里的证书的属性。
在HTTPS / SSL模式下,右键单击浏览器中的“locking”,您应该可以看到几乎所有input的值。
希望这可以帮助。
你也可以通过检查当前的证书来确定什么信息被放入了原始的CSR中:
openssl x509 -in <certfile> -text -noout