openssl PKCS12 导出 - 在密码中使用单引号字符时出现错误行为

Posted

技术标签:

【中文标题】openssl PKCS12 导出 - 在密码中使用单引号字符时出现错误行为【英文标题】:openssl PKCS12 export - wrong behaviour while using single quote character in password 【发布时间】:2021-06-30 06:06:50 【问题描述】:

我正在使用 openssl 命令导出 PKCS12 密钥库:openssl pkcs12 -export -out /root/pkcs12.pfx 但是,openssl 似乎不太支持密码中的单引号。 例如,如果我输入此密码:!"§'"§!\/!"77 我无法使用 java keytool 或 Windows PC 打开该密钥库。

我已经尝试了交互式密码提供以及带有转义单引号的 -password pass:<my-password> 选项。

是否有任何已知问题?

谢谢!

【问题讨论】:

【参考方案1】:

这并不是一个真正的 openssl 问题,而是在您使用的任何内容中转义。如何逃跑将取决于你在做什么。 例如Windows 命令提示符、powershell 提示符或 linux bash shell 就是示例。

我会说最好的建议是删除 shell 类型并使用文件。 例如-passin 文件:xxx 或 -passout 文件:xxx

如果您在示例中专门讨论 Windows 命令提示符和密码 !"§'"§!/!"77,我会这样做:

-passin "pass:!""§'""§!/!""77"

您可以在 answer 中看到这种双引号。

【讨论】:

以上是关于openssl PKCS12 导出 - 在密码中使用单引号字符时出现错误行为的主要内容,如果未能解决你的问题,请参考以下文章

指定 CSR 文件时,OpenSSL pkcs12 导出失败

使用OpenSSL创建多级CA证书链签发证书并导出为pkcs12/p12/pfx文件

使用OpenSSL创建多级CA证书链签发证书并导出为pkcs12/p12/pfx文件

使用OpenSSL创建多级CA证书链签发证书并导出为pkcs12/p12/pfx文件

将 PKCS#12 证书转换为 PEM 时输入 PEM 密码

如何以编程方式在 OpenSSL 中加载 PKCS#12 文件?