我在“创建私钥”的第2步.在我发出命令以生成密钥对之后:
openssl genrsa 2048 > privatekey.pem
我明白了:
Generating RSA private key,2048 bit long modulus ........................................+++ ...............................+++ unable to write 'random state' e is 65537 (0x10001)
但是,它确实为我的目录写了一个键.但是在第二个命令之后:
openssl req -new -key privatekey.pem -out csr.pem
我明白了:
unable to load Private Key 6312:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: ANY PRIVATE KEY
我已经尝试了谷歌搜索,但我发现的解决方案似乎都与我无关.我检查了生成的密钥,它看起来像
-----BEGIN RSA PRIVATE KEY----- {lots of characters} -----END RSA PRIVATE KEY-----
我做错了什么?
解决方法
unable to load Private Key
6312:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: ANY PRIVATE KEY
我在OS X上运行了命令,但我无法重现结果.
我确实使用了-config选项,因为我有一个“OpenSSL服务器配置模板”,可以轻松生成CSR和自签名证书:
$mkdir test $cd test $openssl req -new -key privatekey.pem -out csr.pem -config example-com.conf
配置文件名为example-com.conf,您可以在How do I edit a self signed certificate created using openssl xampp?找到它.编辑它以符合您的口味(特别是DNS名称).
如果有兴趣,这是req
sub-command上的OpenSSL手册页.
I checked the generated key and it looks like
—–BEGIN RSA PRIVATE KEY—–
{lots of characters}
—–END RSA PRIVATE KEY—–
您可以验证刚刚创建的密钥:
$openssl rsa -in privatekey.pem -inform PEM -text -noout Private-Key: (2048 bit) modulus: 00:b0:91:ce:57:28:0f:5c:3a:c3:29:d7:23:6a:71: ca:64:49:fc:24:ea:69:a3:09:d6:49:94:17:b9:09: 65:fa:5a:10:47:a4:9b:b8:cd:6d:32:74:19:8d:5c: 79:92:f0:a6:43:9c:75:a3:7b:ef:c4:c3:d9:c2:db: b9:bd:ec:14:a8:b1:52:73:8f:56:c8:5c:16:08:56: ff:c2:2b:35:3c:0a:0f:34:d0:91:c1:54:7e:72:e8: 97:bf:ea:46:69:5f:e4:21:8d:7a:f5:a5:6b:6a:e8: 00:56:bc:02:f6:b4:ae:6e:89:a6:50:aa:5b:2f:d8: 7d:99:04:61:51:76:b3:5e:9e:30:52:99:54:26:e2: 3a:54:ec:78:34:e6:9a:b7:c2:58:5c:51:3d:39:52: d4:6e:0c:6e:a1:a0:a5:f1:4d:5a:f5:0b:1a:6e:dc: f3:bb:0d:d0:53:51:b0:1a:04:ee:86:35:d5:f3:8b: 0d:bc:19:61:6c:0c:b2:7b:a9:7c:47:97:01:bb:a2: 6a:74:d9:19:e9:df:60:07:d4:95:4c:83:f8:3b:84: c2:b8:3d:b9:a7:34:0a:9b:a3:c6:70:cc:ef:de:f4: 64:88:f1:56:d3:2a:fd:5a:82:88:96:66:93:6c:a0: b8:ec:e4:4c:e8:76:5c:9c:fc:c4:60:72:b6:9a:3f: 98:a3 publicExponent: 65537 (0x10001) privateExponent: 00:87:ab:f1:65:ac:e5:68:93:ca:64:3a:e7:fe:a1: 62:c7:7e:c5:dc:c3:b5:d9:cd:f4:36:e3:30:fb:40: 0a:78:bc:7d:67:df:46:bc:50:34:88:a1:07:05:44: ba:31:ba:f1:b6:5f:e1:50:76:29:bd:02:54:2f:d2: cf:bc:ec:4a:cf:78:39:07:8c:6b:3d:56:ec:a3:09: de:49:9f:13:af:87:77:39:b8:cd:56:45:0b:48:56: 0a:4c:2f:c2:5c:b3:8e:c2:6d:48:be:b9:95:79:36: bd:13:e8:31:4a:c9:78:82:7d:08:2b:51:4a:f1:cf: a2:6a:52:20:49:0d:31:34:10:88:02:d7:a7:07:70: 32:b5:f5:8c:cc:d4:b2:8d:b9:aa:bb:33:82:1a:74: bd:4d:4f:e9:e0:cc:f2:27:fb:98:34:2c:77:56:6f: 88:3a:66:32:5d:7d:57:c6:5b:63:39:fa:32:04:9d: e3:cc:a5:b6:44:91:fd:7d:d1:b6:2d:16:47:59:81: 3d:cf:d9:a7:58:2a:d6:61:5d:c6:69:3b:7a:70:50: 4f:80:f4:d9:fb:c8:7d:5e:44:9e:ac:c8:e6:aa:49: c3:d6:df:6b:03:68:25:a3:2b:89:8f:9a:35:3a:58: 7d:71:b4:08:d9:04:7b:b9:96:17:f3:a5:19:c5:07: 4e:c1 prime1: 00:d7:d0:d8:8c:b5:86:ed:0e:06:70:c9:54:00:25: d7:8c:e4:65:51:1b:c5:ba:33:c2:02:1a:dc:80:a6: ae:8e:1e:e8:c0:b7:04:11:5a:e3:98:52:8f:4a:7a: 43:b8:e8:1b:c8:d6:d3:b2:dc:70:59:a5:ca:83:bb: 35:f1:6c:f5:cb:d0:f4:04:5e:aa:7c:d0:ec:d7:4a: d5:1c:7c:e2:67:e4:e8:17:95:9b:4e:2b:a0:26:74: 61:d0:a0:15:27:18:e5:84:b5:54:ef:be:82:35:7e: 78:e0:49:6b:4e:ae:93:53:a0:81:a3:8e:de:d3:e5: dc:c5:ba:03:36:14:47:97:03 prime2: 00:d1:72:3b:f5:34:b1:11:78:b2:79:f4:3e:d7:be: bf:cc:b3:09:ea:24:a4:cc:7f:64:73:96:d2:48:9e: 55:bc:79:23:c2:d9:80:81:7d:a4:a5:4b:43:33:8e: 62:04:ec:8d:22:d7:43:5e:41:b6:4d:e9:b0:cc:70: 63:17:70:93:88:81:f5:84:a6:3f:2b:98:33:a3:69: 53:11:c7:95:8c:30:ea:e8:58:c7:77:10:b4:a8:f5: bf:5e:cf:e1:99:bb:b3:4e:57:d2:4c:f7:73:de:8a: 98:8e:7c:26:37:6c:e4:77:c6:d2:ed:5d:53:a7:15: c3:9c:67:61:d3:24:9a:f5:e1 exponent1: 00:83:34:59:e2:b9:9d:8c:d2:e1:01:82:b4:89:de: 77:bc:15:42:af:5b:c6:0a:dc:da:8e:f3:0b:a9:3f: 2c:92:04:a2:96:3e:ed:bf:2b:55:80:ce:78:84:db: ed:fe:25:46:77:04:7b:f1:9a:68:c7:67:ae:c6:05: 73:d7:11:da:21:0e:28:bb:db:5d:a4:c2:53:aa:d3: b8:da:37:e6:61:29:5e:1c:b0:7c:99:ba:96:03:aa: ef:a8:a9:1a:13:09:e4:c7:98:82:49:ba:b5:68:96: 3a:20:89:22:2e:d4:9d:86:d2:e6:dd:ab:c7:36:65: e1:a1:67:e3:f9:e5:bc:5c:47 exponent2: 00:81:6d:b9:55:8f:09:39:05:c0:2d:12:dd:5e:cf: 56:91:35:b6:93:c5:af:3d:5c:20:04:3a:18:9a:9d: 95:d7:d1:78:62:e9:ab:ba:d9:9c:cc:34:95:43:9f: e2:3c:ae:bd:8c:e1:3f:95:58:c0:42:a7:7e:04:e8: 12:a4:22:82:59:22:0e:49:b9:be:61:bf:3d:71:e7: 1d:59:68:5f:a6:f1:77:c8:bb:4c:0f:ec:f7:e7:4d: 6d:c4:36:6c:70:67:08:a8:0a:27:40:3e:ce:90:a0: 4f:24:05:de:4b:f3:f3:bf:7c:d3:4d:b1:95:87:34: 30:dc:4f:1a:a9:b2:fe:3b:a1 coefficient: 6d:51:b3:6e:87:8d:aa:f0:55:c4:22:21:62:a9:ea: 24:b3:b7:91:40:f5:78:5d:f1:40:45:7e:0d:a2:a3: 54:46:ba:42:33:b6:cd:57:a1:85:bc:3d:ba:1c:eb: 87:33:a9:e9:63:1e:7c:2c:89:98:b9:0f:4b:e8:c4: 79:bd:00:6a:f5:3e:ea:63:f1:9e:aa:47:35:5a:22: fc:4e:e3:61:7e:eb:dc:a6:c0:2c:d5:fd:22:9f:01: 59:32:15:db:41:99:b7:a8:c1:eb:1e:42:c7:1b:c7: c8:56:86:a8:34:fe:1c:48:b6:6e:f1:c1:5c:96:bf: 9d:fa:e5:4c:d0:2a:d9:09
unable to write ‘random state’
这是一个众所周知的问题. OpenSSL使用默认配置文件.您可以使用correct location of openssl.cnf file找到配置文件.
$cat /usr/local/ssl/macosx-x64/openssl.cnf ... HOME = . RANDFILE = $ENV::HOME/.rnd ...
要保存随机文件,应将HOME和RANDFILE指向有效位置.在Windows上,键入set HOME = …并在命令提示符中设置RANDFILE = ….或者更好的是,在您使用的OpenSSL配置文件中更改它.
另见How to fix “unable to write ‘random state’ ” in openssl和How do I make OpenSSL write the RANDFILE on Windows Vista?.
I’m trying to configure HTTPS for my ElasticBeanstalk environment following these instructions.
IETF(发布RFC的人员)和CA / B论坛(浏览器和CA串通的卡特尔)都不推荐在公共名称中放置DNS名称.您应该特别关注CA / B推荐的内容,因为浏览器和CA会提出这些规则,并且浏览器会遵循它们(并且它们不遵循RFC).供参考,参见RFC 5280,RFC 6125和CA/B Baseline Requirements.
而是将DNS名称放在主题备用名称(SAN)中. IETF和CA / B都指定它.
自定义OpenSSL配置文件为您处理此问题.您只需更改[alternate_names]部分下列出的DNS名称即可.例如,这是为域example.com设置的一组名称.请注意CN中没有DNS名称:
[ subject ] ... commonName = Common Name (e.g. server FQDN or YOUR name) commonName_default = Example Company [ alternate_names ] DNS.1 = example.com DNS.2 = www.example.com DNS.3 = mail.example.com DNS.4 = ftp.example.com