Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中以编程方式安装PFX_Java_Ssl_Certificate_Ssl Certificate - Fatal编程技术网

在Java中以编程方式安装PFX

在Java中以编程方式安装PFX,java,ssl,certificate,ssl-certificate,Java,Ssl,Certificate,Ssl Certificate,我已经使用OpenSSL命令行生成了一些证书。在生成的一批证书中,我在服务器上手动安装了PFX,以便启用对我的网站的HTTPS调用。PFX是使用以下命令生成的- openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.pfx 我通过右键单击并“安装证书”(不带密码)在服务器上安装了它 我希望通过Java代码实现这一点。我试着使用Java键工具- keytool -importkeystore -srckeystore "C:\ca.pfx

我已经使用OpenSSL命令行生成了一些证书。在生成的一批证书中,我在服务器上手动安装了PFX,以便启用对我的网站的HTTPS调用。PFX是使用以下命令生成的-

openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.pfx
我通过右键单击并“安装证书”(不带密码)在服务器上安装了它

我希望通过Java代码实现这一点。我试着使用Java键工具-

keytool -importkeystore -srckeystore "C:\ca.pfx" -srcstoretype pkcs12 -destkeystore clientcert.jks -deststoretype JKS
这会提示我输入目标密码和密钥库密码,如果不提供密码,则不会成功

1) 这是在服务器上安装PFX的正确方法吗。i、 e.这将把证书添加到密钥库(java安装的Jre位置),而不是windows当前用户证书(mmc->文件->添加/删除管理单元->证书->我的用户帐户->个人->证书)


2) 是否有更好的方法使用Java安装PFX

如果您使用的是像Tomcat/Wildfly这样的Java应用程序服务器,他们可以直接使用PKCS12密钥存储,而无需转换为JKS。直接存储PKCS12将与将PFX安装到当前用户证书相同?目前还不清楚您当前的设置是什么:您使用的是具有相互身份验证的HTTPS应用程序服务器,以及“当前用户证书”的含义。您是在设置客户端还是服务器端?我正在设置服务器端,安装由ca.crt(自签名根证书)生成的ca.pfx。我按照通常的窗口步骤进行安装,它反映在当前用户证书(服务器上)中。反过来,此证书可从浏览器获得,用于Apache上托管的我的应用程序的https调用。请原谅我的无知。。。“编程”部分在哪里?您只显示了命令。应该有一些附带的代码。