【发布时间】:2012-03-31 10:56:30
【问题描述】:
我得到需要转换为 .p12 文件的外部 .pem 文件 - 我在此过程中添加了用户名和密码。 (我需要这样做才能利用第三方 API。)
使用openssl,命令是……
openssl pkcs12 -export -in xxxx.pem -inkey xxxx.pem -out xxx.p12 -passout pas:newpassword -name "newname"
我可以从终端会话中运行它,它运行良好。
但是,我需要经常这样做,并编写了一个 Java 类来处理这个以及更多问题(我的应用程序主要是 .jsp 与 Tomcat 和 Apache)。当我尝试使用Runtime.exec 从Java 运行相同的命令时,我得到了可怕的“无法写入'随机状态'”错误(Using OpenSSL what does "unable to write 'random state'" mean?)。
我假设不同之处在于,当我从 Java 运行时,用户不是“root”。
那么,有没有更好的方法来使用 Java 库将 pem 转换为 .p12,而不是执行命令行程序(即 openssl)?
否则,我想我需要在我的服务器上进行一些配置。我在服务器上的任何地方都找不到任何.md 文件。唯一的 openssl.cnf 文件位于一个奇怪的目录 (/etc/pki/tls) 中。我需要在其他地方创建一个新的openssl.cnf 文件吗?
【问题讨论】: