我试图在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.cnf
更改为openssl.cfg
(就像有人建议其他相关的SO问题一样)。
我用这个问题向谷歌发送了几个小时的垃圾邮件,没有Stack Overflow答案似乎也有帮助。
编辑:添加图片以显示即使使用全新的pem
文件也会发生此问题。 (pem
文件名由我改为privkey77.pem
用于测试目的,我明显得到同样的错误。
编辑#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
个文件。
有人可以帮忙吗?
答案 0 :(得分:2)
我设法通过将-nodes
arg传递给触发错误的行来避免此错误,如建议的here。
第7行中的makecert.bat
文件如下所示:
bin\openssl req -new -out server.csr -nodes
此参数完全禁用身份验证。我不知道这在证书中是否有任何副作用,因为我没有设法使它起作用,我也不知道为什么。 (也许是因为这个原因,或者也许是其他原因)