1

我正在尝试在 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.crt, server.csr, 并且server.key被创建并且它们位于 conf/sll... 如 makecert.bat 中所述,我也尝试了其他密码但没有成功。

设置set OPENSSL_CONF=C:\xampp\apache\conf\openssl.cnf也没有帮助,也没有改变openssl.cnfopenssl.cfg就像一些人在其他相关的 SO 问题上建议的那样)。

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

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

在此处输入图像描述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因此,由于某种原因,我基本上无法创建带有密码的文件。

有人可以帮忙吗?

4

1 回答 1

3

我已经设法通过将-nodesarg 传递给触发错误的行来避免此错误,如此处所建议

我的makecert.bat文件在第 7 行,如下所示:

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

此参数完全禁用身份验证。我不知道这是否对证书有任何副作用,因为我没有设法使它工作,我不知道为什么。(可能是因为这个,也可能是别的原因)

于 2018-07-26T15:21:14.620 回答