实施网络服务提供者+ sts

Implementing webservice provider + sts

我必须整合两个系统:

整个通信必须遵守以下 ws-policy 断言:

<wsp:Policy wsu:Id="WSHttpBinding_policy">
    <wsp:ExactlyOne>
        <wsp:All>
                <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
                        <wsp:Policy>
                                <sp:TransportToken>
                                        <wsp:Policy>
                                                <sp:HttpsToken RequireClientCertificate="false"/>
                                        </wsp:Policy>
                                </sp:TransportToken>
                                <sp:AlgorithmSuite>
                                        <wsp:Policy>
                                                <sp:Basic256/>
                                        </wsp:Policy>
                                </sp:AlgorithmSuite>
                                <sp:Layout>
                                        <wsp:Policy>
                                                <sp:Strict/>
                                        </wsp:Policy>
                                </sp:Layout>
                                <sp:IncludeTimestamp/>
                        </wsp:Policy>
                </sp:TransportBinding>
                <sp:EndorsingSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
                        <wsp:Policy>
                                <sp:SecureConversationToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
                                        <wsp:Policy>
                                                <sp:BootstrapPolicy>
                                                        <wsp:Policy>
                                                                <sp:SignedParts>
                                                                        <sp:Body/>
                                                                        <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing"/>
                                                                        <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing"/>
                                                                        <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing"/>
                                                                        <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing"/>
                                                                        <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing"/>
                                                                        <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing"/>
                                                                        <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing"/>
                                                                </sp:SignedParts>
                                                                <sp:EncryptedParts>
                                                                        <sp:Body/>
                                                                </sp:EncryptedParts>
                                                                <sp:TransportBinding>
                                                                        <wsp:Policy>
                                                                                <sp:TransportToken>
                                                                                        <wsp:Policy>
                                                                                                <sp:HttpsToken RequireClientCertificate="false"/>
                                                                                        </wsp:Policy>
                                                                                </sp:TransportToken>
                                                                                <sp:AlgorithmSuite>
                                                                                        <wsp:Policy>
                                                                                                <sp:Basic256/>
                                                                                        </wsp:Policy>
                                                                                </sp:AlgorithmSuite>
                                                                                <sp:Layout>
                                                                                        <wsp:Policy>
                                                                                                <sp:Strict/>
                                                                                        </wsp:Policy>
                                                                                </sp:Layout>
                                                                                <sp:IncludeTimestamp/>
                                                                        </wsp:Policy>
                                                                </sp:TransportBinding>
                                                                <sp:SignedSupportingTokens>
                                                                        <wsp:Policy>
                                                                                <sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
                                                                                        <wsp:Policy>
                                                                                                <sp:WssUsernameToken10/>
                                                                                        </wsp:Policy>
                                                                                </sp:UsernameToken>
                                                                        </wsp:Policy>
                                                                </sp:SignedSupportingTokens>
                                                                <sp:Wss11>
                                                                        <wsp:Policy/>
                                                                </sp:Wss11>
                                                                <sp:Trust10>
                                                                        <wsp:Policy>
                                                                                <sp:MustSupportIssuedTokens/>
                                                                                <sp:RequireClientEntropy/>
                                                                                <sp:RequireServerEntropy/>
                                                                        </wsp:Policy>
                                                                </sp:Trust10>
                                                        </wsp:Policy>
                                                </sp:BootstrapPolicy>
                                        </wsp:Policy>
                                </sp:SecureConversationToken>
                        </wsp:Policy>
                </sp:EndorsingSupportingTokens>
                <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
                        <wsp:Policy/>
                </sp:Wss11>
                <sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
                        <wsp:Policy>
                                <sp:MustSupportIssuedTokens/>
                                <sp:RequireClientEntropy/>
                                <sp:RequireServerEntropy/>
                        </wsp:Policy>
                </sp:Trust10>
                <wsaw:UsingAddressing/>
        </wsp:All>
    </wsp:ExactlyOne>
</wsp:Policy>

我的任务是在 java 中实现 WSP(最好是在 Apache CXF 中)。正在分析 ws-policy:

看来我需要使用 WS-TRUST 规范,而且除了真正的 WSP 之外,我还需要创建 STS。

在DELPHI 应用程序中,我只能为网络服务指定一个URL。如何实现这样的网络服务:

您实际上不需要此 Web 服务的 STS - WSDL 中没有 IssuedToken 策略。只是用于安全对话的 UsernameToken bootstrap。该错误类似于通过纯 http 而不是 https 接收消息时的错误。尝试将日志转到 DEBUG/FINE 并在那里查找错误消息。