我尝试按照以下步骤生成 CSRHeroku 说明。 具体来说
openssl genrsa -des3 -out server.pass.key 2048
openssl rsa -in server.pass.key -out server.key
openssl req -nodes -new -key server.key -out server.csr
# input data here
我收到以下错误:
140509003069088:error:04075070:rsa routines:RSA_sign:digest too big for rsa key:rsa_sign.c:127:
140509003069088:error:0D0DC006:asn1 encoding routines:ASN1_item_sign_ctx:EVP lib:a_sign.c:314:
我正在使用 openssl 版本:
OpenSSL> version
OpenSSL 1.0.1f 6 Jan 2014
我究竟做错了什么?
答案1
我遇到了同样的问题,这是由于在需要密钥大小的命令中放置 256 引起的。输入 1024 有效,而您的命令中是 2048
答案2
虽然这很有趣,但我最终还是换了另一台机器(相同的 openssl 版本)。效果很好。在我尝试过的另外 2 台机器上也有效。
所以解决方案:切换到另一台机器。
答案3
当我错误地输入上一个命令的密钥长度时,就会发生这种情况。例如,输入的是“409”位而不是“4096”-
openssl genrsa -out key.pem 409
openssl req -subj '/CN=client' -new -key key.pem -out client.csr
(error)
对阵
openssl genrsa -out key.pem 4096
openssl req -subj '/CN=client' -new -key key.pem -out client.csr
(success)
因此,也许可以尝试后退几个步骤并确保所有先前的命令都输入正确。