在springapp中放置.jks文件的位置以及在cxf.xml中提供的相对路径

时间:2015-08-27 20:58:53

标签: java spring spring-mvc cxf mutual-authentication

我有一个spring应用程序,它充当相互身份验证的客户端(向配置为相互身份验证的服务器发送请求)。在客户端springapp中,我在src / main / resources中有一个cxf.xml文件。文件被正确拾取。但是,对.jks文件的引用似乎不起作用

我的cxf.xml文件有一个定义为:

的管道

<http:tlsClientParameters>
  <sec:keyManagers keyPassword="xxxx">
    <sec:keyStore type="JKS" password="xxxx"
                  file="xyz.jks"/>
  </sec:keyManagers>
</http:tlsClientParameters>

<http:client AutoRedirect="true" Connection="Keep-Alive"/>

我总是收到一条错误,指出无法找到文件。 有人可以帮我解决一下我可以将这个.jks文件放在我的spring应用程序中以及我可以在上面的cxf.xml httpconduit中提供的相对路径,以便正确选择xyz.jks文件吗?

2 个答案:

答案 0 :(得分:3)

the CXF Xml-schema have a resource attribute defined on the sec:keyStore element which makes it possible to reference a keystore's file (JKS, PKCS12 etc ...) from the classpath. It is mutually exclusive with the file attribute (either one of the resource or file attribute may be present, but not both of them)

答案 1 :(得分:1)

您可以使用&#34;资源&#34;属性而不是&#34; file&#34;要相对解决的属性:

<http:tlsClientParameters>
  <sec:keyManagers keyPassword="xxxx">
    <sec:keyStore type="JKS" password="xxxx" resource="xyz.jks"/>  
  </sec:keyManagers>
</http:tlsClientParameters>
<http:client AutoRedirect="true" Connection="Keep-Alive"/>