OpenSSL密钥结果过小?

11

如果运行一个entrypoint.sh,我有一个始终处于RESTARTING状态的docker。

检查docker logs,我看到这两个错误的重复出现:

e is 65537 (0x010001)
140680312165760:error:28069065:UI routines:UI_set_result:result too small:../crypto/ui/ui_lib.c:765:You must type in 4 to 1023 characters
140680312165760:error:28069065:UI routines:UI_set_result:result too small:../crypto/ui/ui_lib.c:765:You must type in 4 to 1023 characters
140680312165760:error:0906906F:PEM routines:PEM_ASN1_write_bio:read key:../crypto/pem/pem_lib.c:330:
Generating RSA private key, 2048 bit long modulus

e is 65537 (0x010001)
unable to load Private Key
139751600240000:error:28069065:UI routines:UI_set_result:result too small:../crypto/ui/ui_lib.c:765:You must type in 4 to 1023 characters
139751600240000:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:../crypto/evp/evp_enc.c:536:
139751600240000:error:0906A065:PEM routines:PEM_do_header:bad decrypt:../crypto/pem/pem_lib.c:439:
Generating RSA private key, 2048 bit long modulus

我的entrypoint.sh文件关于加密有以下片段:

openssl genrsa -des3 -passout pass:x -out /etc/apache2/ssl/pass.key 2048
openssl rsa -passin pass:x -in /etc/apache2/ssl/pass.key -out /etc/apache2/ssl/server.key
cat /tmp/ssl-info.txt | openssl req -new -key /etc/apache2/ssl/server.key -out /etc/apache2/ssl/server.csr
openssl x509 -req -days 365 -in /etc/apache2/ssl/server.csr -signkey /etc/apache2/ssl/server.key -out /etc/apache2/ssl/server.crt

这是我接手的一个项目,所以我对这段代码不是非常熟悉,它比我通常用来生成和使用RSA密钥的代码冗长得多,例如在可能相关的主题中所示。

有谁能够提供一些见解,说明如何解决这个错误?

1个回答

34

我认为这是第一行中pass:x的问题,其中x只有一个字符长度。

pass:gsahdg等应该可以工作(gsahdg是随机字符串)。


2
谢谢!我正在按照 https://www.rosehosting.com/blog/how-to-generate-a-self-signed-ssl-certificate-on-linux/ 的步骤生成自签名证书进行测试,该步骤使用了 pass:x - Mike
@Larry Cai 所以,gsahdg 是一个我们必须传递的随机字符串。对吗?我们需要在某处保存这个随机字符串吗? - Yashwardhan Pauranik
1
@YashwardhanPauranik 我认为这取决于你的应用程序。对我来说,据我所知,我不需要这样做。 - Larry Cai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接