'openssl genrsa' 在我使用 AES 时不起作用

'openssl genrsa' doesn't work when I use AES

当我尝试按照此 Symfony Bundle 的说明生成 Ssh 密钥时遇到问题: LexikJWTAuthenticationBundle

当我使用这个命令时:

openssl genrsa -out config/jwt/private.pem -aes256 4096

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

但它在不使用 AES(-aes256 或 128 或其他..)的情况下也能完美运行

你知道为什么吗?

(那你觉得我不使用AES还能继续吗?)

谢谢。

您可能正在 Windows 上的 Linux 子系统(如 MinGW)中使用 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:

我遇到了同样的问题,当我从 Git Bash 使用 openssl 时(在 Windows 上安装了 git 的命令行,并且 openssl 即将到来默认为它)。后来,我在 windows 本身安装了 OpenSSL,你可以从 here 下载它,将它添加到你电脑的路径变量中,然后你就可以在任何地方从你的 CMD 使用它并且它可以工作与 JWT 文档中描述的方式相同。

希望它能对您和其他人有所帮助。