在 Git-Bash-Windows 中 `openssl pkcs12` 不提示输入密码

问题描述

SSL 证书颁发机构向我发送了 .pfx 格式的签名证书,并且它受密码保护;所以我需要将其转换为 .crt 文件

第一次尝试调用 openssl pkcs12 -in server.pfx -out server.crt -nokeys -clcerts,只是在 Git-Bash Windows 中;但它永远等待,并且没有输出提示。最终,我切换到 Linux (RHEL7),同样的命令运行正常。事实证明,在 Linux 中,命令提示Enter Import Password:”;但是,在 Windows Git-Bash 中运行时,它缺少密码提示,并且将永远挂在那里。

我想知道是否有任何东西可以让它在 Windows Git-Bash 中工作,例如命令参数等,因为我的工作计算机仍在运行 Windows 操作系统。任何指针将不胜感激。

Linux 屏幕截图:

[root@host]# openssl pkcs12 -in server.pfx -out server.crt -nokeys -clcerts
Enter Import Password:
MAC verified OK
[root@host]#

解决方法

首先,在 Windows 10 上,您可以通过 WSL2 切换到您选择的任何 Linus 发行版。

其次,在 Windows 上,我总是必须在命令行中包含密码:

openssl pkcs12 -password pass:aPassword -in server.keystore.pfx -nokeys -clcerts -out server.cert
# or
openssl pkcs12 -passin pass:aPassword -in server.keystore.pfx -nokeys -clcerts -out server.cert