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
SSL上下文初始化失败:密钥库格式无效_Ssl - Fatal编程技术网

SSL上下文初始化失败:密钥库格式无效

SSL上下文初始化失败:密钥库格式无效,ssl,Ssl,我正在尝试使用ANT build为web服务创建存根。 Web应用程序部署在Websphere上。 我正在使用Websphere的默认密钥库和信任库文件 以下是我在环境变量中设置为ANT_OPTS的参数 -Djavax.net.ssl.trustStore=true-Djavax.net.ssl.keyStoreType=pkcs12-Djavax.net.ssl.trustStore=D:\App Servers\Websphere 8.5\WAS server\profiles\AppSrv

我正在尝试使用ANT build为web服务创建存根。 Web应用程序部署在Websphere上。 我正在使用Websphere的默认密钥库和信任库文件

以下是我在环境变量中设置为ANT_OPTS的参数 -Djavax.net.ssl.trustStore=true-Djavax.net.ssl.keyStoreType=pkcs12-Djavax.net.ssl.trustStore=D:\App Servers\Websphere 8.5\WAS server\profiles\AppSrv02\config\cells\SACHINANode02Cell\nodes\SACHINANode02\trust.p12-Djavax.net.ssl.trustStorePassword=WebAS

当我使用ANT命令运行构建时,我得到如下错误

D:\Scrap\2013年7月\eqbe610类>ant生成客户端 Buildfile:build.xml

设置:

生成客户端: [WSIMPRAT]考虑使用/这样WSIMPUT不会做不必要的编译 [wsimport]正在分析WSDL

[wsimport][ERROR]默认SSL上下文初始化失败:密钥库格式无效

[wsimport]无法读取WSDL文档:, 因为1找不到该文档/2文件无法阅读;3的根元素 该文件不是

[wsimport][ERROR]失败。noservice=在提供的WSDLs中找不到wsdl:service:

[wsimport]需要提供至少一个具有至少一个服务定义的WSDL

[wsimport]无法分析WSDL。 调用了[wsimport]命令:wsimport C:\Program Files x86\Java\jdk1.5.0\u 16\jre\bin\Java.exe-d D:\Scrap\2013年7月\eqbe610类\build-g-keep leton?wsdl-p com.eqtechnologic.eqbe.webservice

构建失败 D:\Scrap\July 2013\eqbe610\build.xml的类:35:wsimport失败


请告诉我哪里出了问题。

据我所知,标准JDK只支持JKS类型的密钥库格式。因此,您指定的选项-Djavax.net.ssl.keyStoreType=pkcs12-Djavax.net.ssl.trustStore=D:\App Servers\Websphere 8.5\WAS server\profiles\AppSrv02\config\cells\SACHINANode02Cell\nodes\SACHINANode02\trust.p12会导致问题-JVM无法将p12文件解析为密钥库。您需要做的是使用keytool实用程序创建一个JKS密钥库,并将证书导入其中,然后重试。@Parry Hi Parry谢谢您的回复。正如您所说,我使用IBMIkeyman工具创建了密钥库。已创建名为key.jks的文件。我将key.jks文件的路径指定到ANT_OPTS中,如下所示。ANT_OPTS=-Djavax.net.ssl.trustStore=true-Djavax.net.ssl.trustStore=D:\App Servers\Websphere 8.5\WAS server\profiles\AppSrv02\etc\key.jks-Djavax.net.ssl.trustStorePassword=bhushan现在我得到以下错误。[wsimport][ERROR]java.lang.RuntimeException:意外错误:java.security.InvalidalgorithParama MeterexException:trustAnchors参数必须为非空。请帮助我。您是否使用keytool将证书导入jks文件?如果您的密钥库为空,则会出现该错误。@Parry再次感谢您宝贵的回复。以下是我迄今为止所做的:我使用WebSphereIkeyman工具创建了名为key.jks的密钥库文件。然后,我使用ikeyman工具中的新证书请求选项创建了名为certreq.arm的证书。我的猜测:现在我想接下来我必须将证书导入jks文件。导入后,将创建信任库文件。然后我需要在ANT_OPTS选项中使用信任库文件路径。问题:1我的猜测是否正确?请纠正我。2请让我知道如何使用Websphere工具将证书导入jks文件。THNKSY您需要使用JDK Keytool命令来导入证书。您创建的是一个证书请求,它需要转换为一个签名证书,然后导入JKS。阅读一些关于证书/keystores/keytool上的PKI和Java文档。恐怕我不能给你具体的说明你的要求-你需要在阅读后提出这些要求。希望这有帮助。