当我使用AES时,'openssl genrsa'不起作用

时间:2018-04-04 11:21:03

标签: windows openssl aes ssh-keys lexikjwtauthbundle

当我尝试根据此Symfony Bundle的说明生成Ssh Key时,我有一个问题: LexikJWTAuthenticationBundle

当我使用此命令时:

1.5.0-RC1

这个过程没有完成,这就是我所拥有的:openssl genrsa with AES

但是如果不使用AES(-aes256或128或其他......)它可以完美地运行。

你知道为什么吗?

(那么,你认为我可以继续而不使用AES吗?)

谢谢。

2 个答案:

答案 0 :(得分:0)

您可能正在像MinGW之类的Linux之类的Windows操作系统上使用OpenSSL。

在此设置中显示密码短语提示时似乎存在问题。您可以使用OpenSSL的-passout选项指定密码来绕过提示:

openssl genrsa -out config/jwt/private.pem -aes256 -passout pass:PASSWORD 4096

但是,您无法使用-aes256之类的加密开关之一生成密钥,也无法指定密码。否则您会得到这样的错误,因为加密显然需要密码:

$  openssl genrsa -aes256 -out ca-key.pem -passout pass: 4096
Generating RSA private key, 4096 bit long modulus
........++++
..................................................................................++++
e is 65537 (0x10001)
5588:error:0906906F:PEM routines:PEM_ASN1_write_bio:read key:pem_lib.c:373:

答案 1 :(得分:0)

当我从Git Bash中使用openssl时,我遇到了同样的问题(在Windows上与git一起安装的命令行,默认情况下,openssl随它一起提供)。后来,我在Windows本身上安装了OpenSSL,您可以从here下载OpenSSL,将其添加到PC的路径变量中,然后便可以在任何位置的CMD中使用它,并且其工作方式与JWT文档中对此进行了描述。

希望它可以帮助您和其他人。