0

我有一个 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 文件吗?

4

2 回答 2

3

CXF Xml-schema在sec:keyStore元素上定义了一个资源属性,这使得从类路径中引用密钥库的文件(JKS、PKCS12 等)成为可能。它与文件属性互斥(资源文件属性之一可能存在,但不能同时存在)

于 2015-09-01T22:03:58.937 回答
1

您可以使用“资源”属性而不是“文件”属性来相对地址:

<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"/>
于 2016-05-07T07:13:32.367 回答