java - Axis 2 和 Rampart 如何在 policy.xml 中仅指定传出安全性

标签 java web-services security apache-axis rampart

我正在使用 Rampart 生成请求。 我有一个用于应用安全性的policy.xml。

我在响应中遇到异常,因为 Rampart 正在寻找安全 header ,但安全 header 不存在。

我仍然可以使用我的policy.xml 并指定我不需要入站安全性这一事实,还是我需要做其他事情?

政策:

 <wsp:Policy wsu:Id="SigOnly"  
        xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"  
        xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">  
<wsp:ExactlyOne>  
    <wsp:All>  
        <sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">  
            <wsp:Policy>  
                <sp:InitiatorToken>  
                    <wsp:Policy>  
                        <sp:X509Token  
                                sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">  
                            <wsp:Policy>  
                                <sp:RequireThumbprintReference/>  
                                <sp:WssX509V3Token10/>  
                            </wsp:Policy>  
                        </sp:X509Token>  
                    </wsp:Policy>  
                </sp:InitiatorToken>  
                <sp:RecipientToken>  
                    <wsp:Policy>  
                        <sp:X509Token  
                                sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">  
                            <wsp:Policy>  
                                 <sp:RequireThumbprintReference/>  
                                <sp:WssX509V3Token10/>   
                            </wsp:Policy>  
                        </sp:X509Token>   
                    </wsp:Policy>  
                </sp:RecipientToken>  
                <sp:AlgorithmSuite>  
                    <wsp:Policy>  
                        <sp:TripleDesRsa15/>  
                    </wsp:Policy>  
                </sp:AlgorithmSuite>  
                <sp:Layout>  
                    <wsp:Policy>  
                        <sp:Strict/>  
                    </wsp:Policy>  
                </sp:Layout>  
               <!--   <sp:IncludeTimestamp/> -->  
                <sp:OnlySignEntireHeadersAndBody/>  
            </wsp:Policy>  
        </sp:AsymmetricBinding>  
        <sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">  
            <wsp:Policy>  
                <sp:MustSupportRefKeyIdentifier/>  
                <sp:MustSupportRefIssuerSerial/>  
            </wsp:Policy>  
        </sp:Wss10>  
        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">  
            <sp:Body/>  
        </sp:SignedParts>  
        <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">  
            <ramp:user>ctr</ramp:user>  
            <ramp:encryptionUser>ctr</ramp:encryptionUser>  
            <ramp:passwordCallbackClass>com.gtnet.rampart.PWCBHandler  
            </ramp:passwordCallbackClass>  

            <ramp:signatureCrypto>  
                <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">  
                    <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>  
                    <ramp:property name="org.apache.ws.security.crypto.merlin.file">build\resources\qw.jks</ramp:property>  
                    <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">123123</ramp:property>  
                </ramp:crypto>  
            </ramp:signatureCrypto>  
        </ramp:RampartConfig>  

    </wsp:All>  
</wsp:ExactlyOne>  

最佳答案

请看这里: http://blog.rampartfaq.com/2009/11/how-to-generate-non-secure-response-to.html

您可以通过更改 axis2.xml 和 OutFlow 在客户端执行等效操作。

关于java - Axis 2 和 Rampart 如何在 policy.xml 中仅指定传出安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10905404/

相关文章:

java - Java 中的 XML 格式化 - 维护状态缩进

java - 如何使用 MongoTemplate 应用多个标准条件

java - 具有 Rest API 和 RESTEasy 的嵌入式 Web 服务器

c# - 如何在 Xamarin 中使用 RestSharp Portable 3.0?

java - Spring Security 实体字段级安全

ios - 无法识别 iOS OSStatus 代码

java - 使用 spring 集成 IMAP 适配器,如何手动获取标记为 "unread"的电子邮件?

java - Spock mock - 设置和获取参数

c# - 通过 Web 服务 API 的 Web Scraper?

git - 'git add' 没有 'git commit' 到远程是否需要更改 key 对