外部属性使用Apache CXF对SOAP消息进行签名和加密

时间:2015-02-12 09:36:49

标签: apache cxf jboss5.x ws-security

我正在尝试外化我的标志并加密属性文件。 但是如果我使用absolut路径,那么上下文就无法得到它。

¿你有没有想法我该怎么办? ¿如何在jboss类路径中包含absolut路径?

我正在使用jboss 5.1

我有这个:

<entry key="user" value="${user.ws.security.firma}"/>
<entry key="signatureKeyIdentifier" value="DirectReference"/>
<entry key="signatureParts" value="{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body"/>
<entry key="signaturePropFile" value="sign.properties"/>
<entry key="passwordCallbackClass" value="es.minhap.carpeta.front.ws.micc.security.ClientPasswordCallback"/>

我想要这样的东西

<entry key="user" value="${user.ws.security.sign}"/>
<entry key="signatureKeyIdentifier" value="DirectReference"/>
<entry key="signatureParts" value="{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body"/>
<entry key="signaturePropFile" value="C:/workspace/sign.properties"/>
<entry key="passwordCallbackClass" value="es.micc.security.ClientPasswordCallback"/>

1 个答案:

答案 0 :(得分:1)

目前无法在CXF设置中使用绝对路径进行加密和签名,文件将通过WSS4J从类路径加载:

或者,您可以将属性文件放在JBoss的conf目录中。此目录是类路径的一部分,或者将自定义目录添加到conf/jboss-service.xml中的类路径,如下所示:

<classpath codebase="${jboss.server.lib.url}" archives="*"/>
<classpath codebase="${jboss.common.lib.url}" archives="*"/>
<classpath codebase="file:/C:/mycustomconfigdir/" archives="*"/>