生成SSL私钥时出错 - Heroku - OpenSSL - Rails

swi*_*her 2 ssl openssl ruby-on-rails heroku private-key

我按照https://devcenter.heroku.com/articles/ssl-endpoint上的说明操作,但在生成私钥时遇到困难.它说生成一个私钥'$ openssl genrsa -des3 -out server.pass.key 2048'所以我输入rails命令行

$ heroku run openssl genrsa -des3 -out server.pass.key 2048
Run Code Online (Sandbox Code Playgroud)

这似乎工作,我可以输入两次密码短语(但没有确认消息)

下一步是键入以下"$ openssl rsa -in server.pass.key -out server.key" - 以便可以删除私钥的密码.所以:

$ heroku run openssl rsa -in server.pass.key -out server.key

But here I get the following error:
Error opening Private key server.pass.key
2:error:02001002:system library:fopen no such file or directory:bss_file.c:356:f
open('server.pass.key','r')
2:error:20074002:BIO routines:FILE CTRL:system lib:bss_file.c:358:
Unable to load private key
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢.

(顺便说一句,我已经在应用程序上启用了站点范围的SSL,使用heroku的证书.我正在尝试为我自己的域更改为我自己的SSL证书).

小智 6

我认为这个想法是在你自己的计算机上本地运行这些命令.首先,确保已openssl安装(如果不安装,请按照提供的Heroku帮助页面上的说明进行操作,或使用安装了它的朋友的计算机).然后,键入:

$ openssl genrsa -des3 -out server.pass.key 2048
Generating RSA private key, 2048 bit long modulus
........................................................................................+++
..........+++
e is 65537 (0x10001)
Enter pass phrase for server.pass.key:
Verifying - Enter pass phrase for server.pass.key:
Run Code Online (Sandbox Code Playgroud)

完成此步骤后,应该server.pass.key在当前目录中指定一个文件:

$ ls
server.pass.key
Run Code Online (Sandbox Code Playgroud)

然后,运行第二个命令:

$ openssl rsa -in server.pass.key -out server.key
Enter pass phrase for server.pass.key:
writing RSA key
Run Code Online (Sandbox Code Playgroud)

完成此步骤后,目录中应该有两个文件.然后,按照说明中的说法继续.

$ ls
server.key  server.pass.key
Run Code Online (Sandbox Code Playgroud)