Ayr*_*rat 47 openssl ssl-certificate
pkcs12 "path/to/pkcs12_container"
openvpn ~/openvp_config
它时要求输入私钥密码(我在使用 Chrome 导出时输入):Enter Private Key Password:...
问题:如何从pkcs12中删除私钥的密码?
也就是说,创建不需要密码的 pkcs12 文件。
(似乎一年前我已经以某种方式这样做了,现在忘记了。该死的。)
zer*_*ro0 61
可以通过各种openssl
调用来实现。
首先,提取证书:
$ openssl pkcs12 -clcerts -nokeys -in "YourPKCSFile" \
-out certificate.crt -password pass:PASSWORD -passin pass:PASSWORD
Run Code Online (Sandbox Code Playgroud)
二、CA密钥:
$ openssl pkcs12 -cacerts -nokeys -in "YourPKCSFile" \
-out ca-cert.ca -password pass:PASSWORD -passin pass:PASSWORD
Run Code Online (Sandbox Code Playgroud)
现在,私钥:
$ openssl pkcs12 -nocerts -in "YourPKCSFile" \
-out private.key -password pass:PASSWORD -passin pass:PASSWORD \
-passout pass:TemporaryPassword
Run Code Online (Sandbox Code Playgroud)
现在删除密码:
$ openssl rsa -in private.key -out "NewKeyFile.key" \
-passin pass:TemporaryPassword
Run Code Online (Sandbox Code Playgroud)
为新的 PKCS 文件整理一下:
$ cat "NewKeyFile.key" \
"certificate.crt" \
"ca-cert.ca" > PEM.pem
Run Code Online (Sandbox Code Playgroud)
并创建新文件:
$ openssl pkcs12 -export -nodes -CAfile ca-cert.ca \
-in PEM.pem -out "NewPKCSWithoutPassphraseFile"
Run Code Online (Sandbox Code Playgroud)
现在您有一个新的 PKCS12 密钥文件,私钥部分没有密码。
Koe*_*en. 47
我发现的最简单的解决方案是
openssl pkcs12 -in protected.p12 -nodes -out temp.pem
# -> Enter password
Run Code Online (Sandbox Code Playgroud)
openssl pkcs12 -export -in temp.pem -out unprotected.p12
# -> Just press [return] twice for no password
Run Code Online (Sandbox Code Playgroud)
rm temp.pem
Run Code Online (Sandbox Code Playgroud)
小智 6
这可以很容易地一步完成,无需临时文件:
openssl pkcs12 -in "PKCSFile" -nodes | openssl pkcs12 -export -out "PKCSFile-Nopass"
使用密码回答导入密码提示。使用 <CR> 回答导出密码提示
完毕。
请注意,这会处理捆绑包中可能存在的任意数量的中间证书......
我强烈建议小心处理生成的文件;首先将 umask 设置为 377 是个好主意(非 unix:这意味着只有所有者才能读取创建的文件。)我想这是 2 个步骤,如果您的默认 umask 是允许的...
归档时间: |
|
查看次数: |
174104 次 |
最近记录: |