本地SSL证书返回错误"结果太小","获取密码问题"

时间:2018-05-30 21:40:52

标签: apache ssl xampp

我试图在XAMPP,Windows 10上安装SSL证书,但无论我做什么,我都会收到此错误:

22632:error:28069065:lib(40):UI_set_result:result too small:.\crypto\ui\ui_lib.c:830:You must type in 4 to 511 characters
22632:error:0906406D:PEM routines:PEM_def_callback:problems getting password:.\crypto\pem\pem_lib.c:116:
22632:error:0907E06F:PEM routines:DO_PK8PKEY:read key:.\crypto\pem\pem_pk8.c:130:
unable to load Private Key
18224:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:707:Expecting: ANY PRIVATE KEY
server.csr: No such file or directory
Could Not Find c:\xampp\apache\server.csr
The system cannot find the file specified.
The system cannot find the file specified.

-----
Das Zertifikat wurde erstellt.
The certificate was provided.

Press any key to continue . . .

makecert.bat:

@echo off
set OPENSSL_CONF=./conf/openssl.cnf

if not exist .\conf\ssl.crt mkdir .\conf\ssl.crt
if not exist .\conf\ssl.key mkdir .\conf\ssl.key

bin\openssl req -new -out server.csr
bin\openssl rsa -in privkey.pem -out server.key
bin\openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365

set OPENSSL_CONF=
del .rnd
del privkey.pem
del server.csr

move /y server.crt .\conf\ssl.crt
move /y server.key .\conf\ssl.key

pause

看起来server.crtserver.csrserver.key已创建并且它们位于conf / sll中......如makecert.bat中所述,我还尝试了其他密码没有成功。

设置set OPENSSL_CONF=C:\xampp\apache\conf\openssl.cnf也没有帮助,也没有将openssl.cnf更改为openssl.cfg(就像有人建议其他相关的SO问题一样)。

我用这个问题向谷歌发送了几个小时的垃圾邮件,没有Stack Overflow答案似乎也有帮助。

编辑:添加图片以显示即使使用全新的pem文件也会发生此问题。 (pem文件名由我改为privkey77.pem用于测试目的,我明显得到同样的错误。

enter image description here为png

编辑#2 :即使使用openssl genrsa -des3 -out mykey.pem 2048密码创建新密钥,也会返回27492:error:28069065:lib(40):UI_set_result:result too small:.\crypto\ui\ui_lib.c:830:You must type in 4 to 1023 characters

因此我基本上无法使用密码创建pem个文件。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

我设法通过将-nodes arg传递给触发错误的行来避免此错误,如建议的here

第7行中的makecert.bat文件如下所示:

bin\openssl req -new -out server.csr -nodes

此参数完全禁用身份验证。我不知道这在证书中是否有任何副作用,因为我没有设法使它起作用,我也不知道为什么。 (也许是因为这个原因,或者也许是其他原因)