Windows 在安装由 openssl 生成的 p12 key 时要求输入 p12 密码

标签 windows openssl x509 pkcs#12

如果我使用 openssl 生成一个 p12 证书:

openssl pkcs12 -export -in myprivatecert.pem -nokeys -out mycert.p12

虽然我要求openssl不要导出私钥,但为什么windows在安装证书的时候还是需要私钥密码

我想我错过了什么。

最佳答案

密码用于 PKCS12 文件本身,而不用于私钥。您可以通过添加“-password pass:”来指定空白密码,如下所示:

$ openssl pkcs12 -password pass: -export -in myprivatecert.pem -nokeys -out mycert.p12

Windows 仍会提示您输入密码,但您可以将其留空,导入会正常进行。

如果你在 Windows 上导入的只是证书,没有 key ,你也可以像这样使用 DER 格式:

$ openssl x509 -in myprivatecert.pem -outform DER -out mycert.der

这样做的一个好处是,当您在 Windows 上双击此文件时,它会识别 der 扩展名,并且您可以在导入之前查看证书详细信息。此外,不会有密码提示。

关于Windows 在安装由 openssl 生成的 p12 key 时要求输入 p12 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2452301/

相关文章:

windows - 使用 yt-dlp 和 ffmpeg 创建 YouTube 到 MP3 应用程序有多容易?

c++ - WriteFile lpNumberOfBytesWritten 小于 nNumberOfBytesToWrite

java - Android key 对生成

.net - 使用证书访问 .NET Framework 中的 Web 服务时无法建立信任连接

ssl - OpenSSL 验证失败,找不到根证书

.net - BackgroundWorker:一旦 DoWork() 事件处理程序完成,它就死了吗?

windows - ConnectEx 要求套接字为 "initially bound",但是什么?

java - AES/CBC/PKCS5Padding 在 JAVA 和 JNI 中结果不同

sockets - 将部分数据包写入 SSL BIO

java - 将 RSAPublic key 转换为 X509Certificate (Java)