Mac验证错误:含特殊字符的密码如何正确输入?
解决OpenSSL 1.0.2u含特殊字符密码的Mac验证错误
在PowerShell环境下使用OpenSSL 1.0.2u时,若密码包含特殊字符导致Mac verify error: invalid password?错误,可通过以下方法正确传递密码:
单引号包裹密码:PowerShell会原样保留单引号内的所有字符,不会解析特殊符号。示例命令:
openssl pkcs12 -in yourcert.pfx -out yourcert.pem -passin pass:'P@ssw0rd!$%'注意单引号要紧跟在
pass:之后,中间不要加空格。转义特殊字符:对PowerShell中有特殊含义的字符(如
$、!、&、@等),用反引号`转义。示例:openssl pkcs12 -in yourcert.pfx -out yourcert.pem -passin pass:P@ssw0rd`!`$`%从文件读取密码:把密码写入纯文本文件(比如
password.txt),通过文件路径传递,既避免解析问题又更安全:openssl pkcs12 -in yourcert.pfx -out yourcert.pem -passin file:password.txt注意文件里只存密码内容,不要加换行符。
交互式输入:不在命令行指定密码参数,让OpenSSL主动提示输入,彻底避开解析问题:
openssl pkcs12 -in yourcert.pfx -out yourcert.pem执行后按提示输入密码即可。
本质上这个错误不是OpenSSL 1.0.2u的问题,而是PowerShell对命令行参数的解析导致密码传递失真,只要让PowerShell正确把完整密码字符串传给OpenSSL就能解决。
内容的提问来源于stack exchange,提问作者jcaique
相关产品推荐
相关产品推荐

