我有需要转换为.pem文件的.p12文件 - 我在此过程中添加了用户名和密码。
使用openssl,命令是......
openssl pkcs12 -in PassbookCert.p12 -clcerts -nokeys -out passcertificate.pem -passin pass:
我可以从终端会话运行它,它完美无缺。
但是,我需要经常这样做,我想为此编写一个java代码。最好的方法是什么?
答案 0 :(得分:0)
不要在java中这样做!严重。
根据您的操作系统,在Linux上使用bash时尝试使用for循环,或者在Windows上使用某些PowerShell或其他任何东西(批处理脚本?)。在Mac上你也会有一个像linux一样的shell。
这样的事情:
for i in *; do openssl pkcs12 -in "$i".p12 -clcerts -nokeys -out "$i".pem -passin pass; done
为了便于说明,不能直接在终端中使用:
for i in *
do
openssl pkcs12 -in "$i".p12 -clcerts -nokeys -out "$i".pem -passin pass
done
也许你不应该在所有文件上使用相同的密码,但这应该这样做。
如果您不想在只有您的证书文件所在的文件夹中直接在终端上使用它,您也可以将其放入脚本文件中并用它做更多的事情。
创建一个空文本文件,在第一行(#!/bin/bash
)放置一个shebang,代码在下面一行。
使文件可执行(chmod +x filename
),然后您可以直接运行它。 (./filename
)
您也可以将参数传递给bash脚本。