Author: alessio.soldano(a)jboss.com
Date: 2012-09-12 10:04:33 -0400 (Wed, 12 Sep 2012)
New Revision: 16713
Added:
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/Service2314Impl.java
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/Service2315Impl.java
Modified:
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples21xTestCase.java
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples23xTestCase.java
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/resources/jaxws/samples/wsse/policy/oasis/WEB-INF/wsdl/SecurityService23x.wsdl
Log:
[JBWS-3405] Adding testcases for 2.3.1.4 and 2.3.1.5 scenarios of WS-SecurityPolicy
Example 1.0 + minor fixes
Added:
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/Service2314Impl.java
===================================================================
---
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/Service2314Impl.java
(rev 0)
+++
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/Service2314Impl.java 2012-09-12
14:04:33 UTC (rev 16713)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.samples.wsse.policy.oasis;
+
+import javax.ejb.Stateless;
+import javax.jws.WebService;
+
+import org.apache.cxf.annotations.EndpointProperties;
+import org.apache.cxf.annotations.EndpointProperty;
+import org.jboss.ws.api.annotation.WebContext;
+
+@WebService
+(
+ portName = "SecurityService2314Port",
+ serviceName = "SecurityService",
+ wsdlLocation = "WEB-INF/wsdl/SecurityService23x.wsdl",
+ targetNamespace =
"http://www.jboss.org/jbossws/ws-extensions/wssecuritypolicy/oasis-samples",
+ endpointInterface =
"org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.ServiceIface"
+)
+@EndpointProperties(value = {
+ @EndpointProperty(key = "ws-security.signature.properties", value =
"bob.properties"),
+ @EndpointProperty(key = "ws-security.signature.username", value =
"bob"),
+ @EndpointProperty(key = "ws-security.encryption.properties", value =
"bob.properties"),
+ @EndpointProperty(key = "ws-security.encryption.username", value =
"useReqSigCert"),
+ @EndpointProperty(key = "ws-security.callback-handler", value =
"org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.KeystorePasswordCallback")
+ }
+)
+@Stateless
+@WebContext(urlPattern = "SecurityService2314")
+public class Service2314Impl implements ServiceIface
+{
+ public String sayHello()
+ {
+ return "Hello - (WSS1.0) SAML1.1 Sender Vouches with X.509 Certificates, Sign,
Optional Encrypt";
+ }
+}
Added:
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/Service2315Impl.java
===================================================================
---
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/Service2315Impl.java
(rev 0)
+++
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/Service2315Impl.java 2012-09-12
14:04:33 UTC (rev 16713)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.samples.wsse.policy.oasis;
+
+import javax.ejb.Stateless;
+import javax.jws.WebService;
+
+import org.apache.cxf.annotations.EndpointProperties;
+import org.apache.cxf.annotations.EndpointProperty;
+import org.jboss.ws.api.annotation.WebContext;
+
+@WebService
+(
+ portName = "SecurityService2315Port",
+ serviceName = "SecurityService",
+ wsdlLocation = "WEB-INF/wsdl/SecurityService23x.wsdl",
+ targetNamespace =
"http://www.jboss.org/jbossws/ws-extensions/wssecuritypolicy/oasis-samples",
+ endpointInterface =
"org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.ServiceIface"
+)
+@EndpointProperties(value = {
+ @EndpointProperty(key = "ws-security.signature.properties", value =
"bob.properties"),
+ @EndpointProperty(key = "ws-security.signature.username", value =
"bob"),
+ @EndpointProperty(key = "ws-security.encryption.properties", value =
"bob.properties"),
+ @EndpointProperty(key = "ws-security.encryption.username", value =
"useReqSigCert"),
+ @EndpointProperty(key = "ws-security.callback-handler", value =
"org.jboss.test.ws.jaxws.samples.wsse.policy.oasis.KeystorePasswordCallback")
+ }
+)
+@Stateless
+@WebContext(urlPattern = "SecurityService2315")
+public class Service2315Impl implements ServiceIface
+{
+ public String sayHello()
+ {
+ return "Hello - (WSS1.0) SAML1.1 Holder of Key, Sign, Optional Encrypt";
+ }
+}
Modified:
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples21xTestCase.java
===================================================================
---
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples21xTestCase.java 2012-09-12
10:57:03 UTC (rev 16712)
+++
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples21xTestCase.java 2012-09-12
14:04:33 UTC (rev 16713)
@@ -48,6 +48,7 @@
{
private final String NS =
"http://www.jboss.org/jbossws/ws-extensions/wssecuritypolicy/oasis-samples";
private final String serviceURL = "http://" + getServerHost() +
":8080/jaxws-samples-wsse-policy-oasis-21x/";
+ private final String serviceURLHttps = "https://" + getServerHost() +
":8443/jaxws-samples-wsse-policy-oasis-21x/";
private final QName serviceName = new QName(NS, "SecurityService");
public static Test suite()
@@ -115,7 +116,7 @@
*/
public void test2121() throws Exception
{
- Service service = Service.create(new URL(serviceURL +
"SecurityService2121?wsdl"), serviceName);
+ Service service = Service.create(new URL(serviceURLHttps +
"SecurityService2121?wsdl"), serviceName);
ServiceIface proxy = (ServiceIface)service.getPort(new QName(NS,
"SecurityService2121Port"), ServiceIface.class);
setupWsse(proxy);
assertTrue(proxy.sayHello().equals("Hello - UsernameToken as supporting
token"));
Modified:
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples23xTestCase.java
===================================================================
---
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples23xTestCase.java 2012-09-12
10:57:03 UTC (rev 16712)
+++
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/wsse/policy/oasis/WSSecurityPolicyExamples23xTestCase.java 2012-09-12
14:04:33 UTC (rev 16713)
@@ -47,6 +47,7 @@
{
private final String NS =
"http://www.jboss.org/jbossws/ws-extensions/wssecuritypolicy/oasis-samples";
private final String serviceURL = "http://" + getServerHost() +
":8080/jaxws-samples-wsse-policy-oasis-23x/";
+ private final String serviceURLHttps = "https://" + getServerHost() +
":8443/jaxws-samples-wsse-policy-oasis-23x/";
private final QName serviceName = new QName(NS, "SecurityService");
public static Test suite()
@@ -93,7 +94,7 @@
*/
public void test2312() throws Exception
{
- Service service = Service.create(new URL(serviceURL +
"SecurityService2312?wsdl"), serviceName);
+ Service service = Service.create(new URL(serviceURLHttps +
"SecurityService2312?wsdl"), serviceName);
ServiceIface proxy = (ServiceIface)service.getPort(new QName(NS,
"SecurityService2312Port"), ServiceIface.class);
SamlCallbackHandler cbh = new SamlCallbackHandler();
cbh.setConfirmationMethod("urn:oasis:names:tc:SAML:1.0:cm:sender-vouches");
@@ -108,16 +109,60 @@
*/
public void test2313() throws Exception
{
- Service service = Service.create(new URL(serviceURL +
"SecurityService2313?wsdl"), serviceName);
+ Service service = Service.create(new URL(serviceURLHttps +
"SecurityService2313?wsdl"), serviceName);
ServiceIface proxy = (ServiceIface)service.getPort(new QName(NS,
"SecurityService2313Port"), ServiceIface.class);
+ Map<String, Object> reqCtx = ((BindingProvider) proxy).getRequestContext();
SamlCallbackHandler cbh = new SamlCallbackHandler();
cbh.setConfirmationMethod("urn:oasis:names:tc:SAML:1.0:cm:holder-of-key");
- ((BindingProvider)
proxy).getRequestContext().put(SecurityConstants.SAML_CALLBACK_HANDLER, cbh);
- ((BindingProvider)
proxy).getRequestContext().put(SecurityConstants.SIGNATURE_PROPERTIES,
-
Thread.currentThread().getContextClassLoader().getResource("META-INF/alice.properties"));
-
((BindingProvider)proxy).getRequestContext().put(SecurityConstants.SIGNATURE_USERNAME,
"alice");
-
((BindingProvider)proxy).getRequestContext().put(SecurityConstants.CALLBACK_HANDLER, new
KeystorePasswordCallback());
-
((BindingProvider)proxy).getRequestContext().put(SecurityConstants.SELF_SIGN_SAML_ASSERTION,
"true");
+ reqCtx.put(SecurityConstants.SAML_CALLBACK_HANDLER, cbh);
+ reqCtx.put(SecurityConstants.SIGNATURE_PROPERTIES,
Thread.currentThread().getContextClassLoader().getResource("META-INF/alice.properties"));
+ reqCtx.put(SecurityConstants.SIGNATURE_USERNAME, "alice");
+ reqCtx.put(SecurityConstants.CALLBACK_HANDLER, new KeystorePasswordCallback());
+ reqCtx.put(SecurityConstants.SELF_SIGN_SAML_ASSERTION, "true");
assertTrue(proxy.sayHello().equals("Hello - (WSS1.0) SAML1.1 Assertion (HK)
over SSL"));
}
+
+ /**
+ * 2.3.1.4 (WSS1.0) SAML1.1 Sender Vouches with X.509 Certificates, Sign, Optional
Encrypt
+ *
+ * @throws Exception
+ */
+ public void test2314() throws Exception
+ {
+ Service service = Service.create(new URL(serviceURL +
"SecurityService2314?wsdl"), serviceName);
+ ServiceIface proxy = (ServiceIface)service.getPort(new QName(NS,
"SecurityService2314Port"), ServiceIface.class);
+ Map<String, Object> reqCtx = ((BindingProvider) proxy).getRequestContext();
+ SamlCallbackHandler cbh = new SamlCallbackHandler();
+
cbh.setConfirmationMethod("urn:oasis:names:tc:SAML:1.0:cm:sender-vouches");
+ reqCtx.put(SecurityConstants.SAML_CALLBACK_HANDLER, cbh);
+ reqCtx.put(SecurityConstants.CALLBACK_HANDLER, new KeystorePasswordCallback());
+ reqCtx.put(SecurityConstants.SIGNATURE_PROPERTIES,
Thread.currentThread().getContextClassLoader().getResource("META-INF/alice.properties"));
+ reqCtx.put(SecurityConstants.ENCRYPT_PROPERTIES,
Thread.currentThread().getContextClassLoader().getResource("META-INF/alice.properties"));
+ reqCtx.put(SecurityConstants.SIGNATURE_USERNAME, "alice");
+ reqCtx.put(SecurityConstants.ENCRYPT_USERNAME, "bob");
+ assertTrue(proxy.sayHello().equals("Hello - (WSS1.0) SAML1.1 Sender Vouches
with X.509 Certificates, Sign, Optional Encrypt"));
+ }
+
+ /**
+ * 2.3.1.5 (WSS1.0) SAML1.1 Holder of Key, Sign, Optional Encrypt
+ *
+ * @throws Exception
+ */
+ public void test2315() throws Exception
+ {
+ Service service = Service.create(new URL(serviceURL +
"SecurityService2315?wsdl"), serviceName);
+ ServiceIface proxy = (ServiceIface)service.getPort(new QName(NS,
"SecurityService2315Port"), ServiceIface.class);
+ Map<String, Object> reqCtx = ((BindingProvider) proxy).getRequestContext();
+ SamlCallbackHandler cbh = new SamlCallbackHandler();
+
cbh.setConfirmationMethod("urn:oasis:names:tc:SAML:1.0:cm:holder-of-key");
+ reqCtx.put(SecurityConstants.SAML_CALLBACK_HANDLER, cbh);
+ reqCtx.put(SecurityConstants.CALLBACK_HANDLER, new KeystorePasswordCallback());
+ reqCtx.put(SecurityConstants.SIGNATURE_PROPERTIES,
Thread.currentThread().getContextClassLoader().getResource("META-INF/alice.properties"));
+ reqCtx.put(SecurityConstants.ENCRYPT_PROPERTIES,
Thread.currentThread().getContextClassLoader().getResource("META-INF/alice.properties"));
+ reqCtx.put(SecurityConstants.SIGNATURE_USERNAME, "alice");
+ reqCtx.put(SecurityConstants.ENCRYPT_USERNAME, "bob");
+ reqCtx.put(SecurityConstants.SELF_SIGN_SAML_ASSERTION, "true");
+ assertTrue(proxy.sayHello().equals("Hello - (WSS1.0) SAML1.1 Holder of Key,
Sign, Optional Encrypt"));
+ }
+
}
Modified:
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/resources/jaxws/samples/wsse/policy/oasis/WEB-INF/wsdl/SecurityService23x.wsdl
===================================================================
---
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/resources/jaxws/samples/wsse/policy/oasis/WEB-INF/wsdl/SecurityService23x.wsdl 2012-09-12
10:57:03 UTC (rev 16712)
+++
stack/cxf/trunk/modules/testsuite/cxf-tests/src/test/resources/jaxws/samples/wsse/policy/oasis/WEB-INF/wsdl/SecurityService23x.wsdl 2012-09-12
14:04:33 UTC (rev 16713)
@@ -66,6 +66,36 @@
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
+ <wsdl:binding name="SecurityService2314PortBinding"
type="tns:ServiceIface">
+ <wsp:PolicyReference URI="#SecurityService2314_policy"/>
+ <soap:binding
transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
+ <wsdl:operation name="sayHello">
+ <soap:operation soapAction=""/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ <wsp:PolicyReference URI="#Input_Policy"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ <wsp:PolicyReference URI="#Output_Policy"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:binding name="SecurityService2315PortBinding"
type="tns:ServiceIface">
+ <wsp:PolicyReference URI="#SecurityService2315_policy"/>
+ <soap:binding
transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
+ <wsdl:operation name="sayHello">
+ <soap:operation soapAction=""/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ <wsp:PolicyReference URI="#Input_Policy"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ <wsp:PolicyReference URI="#Output_Policy"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
<wsdl:service name="SecurityService">
<wsdl:port name="SecurityService2311Port"
binding="tns:SecurityService2311PortBinding">
<soap:address
location="http://@jboss.bind.address@:8080/jaxws-samples-wsse-policy-oasis/SecurityService2311"/>
@@ -76,6 +106,12 @@
<wsdl:port name="SecurityService2313Port"
binding="tns:SecurityService2313PortBinding">
<soap:address
location="https://@jboss.bind.address@:8443/jaxws-samples-wsse-policy-oasis/SecurityService2313"/>
</wsdl:port>
+ <wsdl:port name="SecurityService2314Port"
binding="tns:SecurityService2314PortBinding">
+ <soap:address
location="http://@jboss.bind.address@:8080/jaxws-samples-wsse-policy-oasis/SecurityService2314"/>
+ </wsdl:port>
+ <wsdl:port name="SecurityService2315Port"
binding="tns:SecurityService2315PortBinding">
+ <soap:address
location="http://@jboss.bind.address@:8080/jaxws-samples-wsse-policy-oasis/SecurityService2315"/>
+ </wsdl:port>
</wsdl:service>
<!-- 2.3.1.1 (WSS1.0) SAML1.1 Assertion (Bearer) -->
<wsp:Policy wsu:Id="SecurityService2311_policy">
@@ -142,7 +178,7 @@
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
- <sp:Basic128 />
+ <sp:Basic256 />
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
@@ -164,4 +200,135 @@
</wsp:Policy>
</sp:SignedEndorsingSupportingTokens>
</wsp:Policy>
+ <!-- 2.3.1.4 (WSS1.0) SAML1.1 Sender Vouches with X.509 Certificates, Sign,
Optional Encrypt -->
+ <wsp:Policy wsu:Id="SecurityService2314_policy">
+ <wsp:ExactlyOne>
+ <wsp:All>
+ <sp:AsymmetricBinding>
+ <wsp:Policy>
+ <sp:InitiatorToken>
+ <wsp:Policy>
+ <sp:X509Token
+
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/...
+ <wsp:Policy>
+ <sp:WssX509V3Token10 />
+ </wsp:Policy>
+ </sp:X509Token>
+ </wsp:Policy>
+ </sp:InitiatorToken>
+ <sp:RecipientToken>
+ <wsp:Policy>
+ <sp:X509Token
+
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/...
+ <wsp:Policy>
+ <sp:WssX509V3Token10 />
+ </wsp:Policy>
+ </sp:X509Token>
+ </wsp:Policy>
+ </sp:RecipientToken>
+ <sp:AlgorithmSuite>
+ <wsp:Policy>
+ <sp:Basic256/>
+ </wsp:Policy>
+ </sp:AlgorithmSuite>
+ <sp:Layout>
+ <wsp:Policy>
+ <sp:Strict/>
+ </wsp:Policy>
+ </sp:Layout>
+ <sp:IncludeTimestamp/>
+ <sp:OnlySignEntireHeadersAndBody/>
+ </wsp:Policy>
+ </sp:AsymmetricBinding>
+ <sp:Wss10>
+ <wsp:Policy>
+ <sp:MustSupportRefKeyIdentifier/>
+ </wsp:Policy>
+ </sp:Wss10>
+ <sp:SignedSupportingTokens>
+ <wsp:Policy>
+ <sp:SamlToken
+
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/...
+ <wsp:Policy>
+ <sp:WssSamlV11Token10/>
+ </wsp:Policy>
+ </sp:SamlToken>
+ </wsp:Policy>
+ </sp:SignedSupportingTokens>
+ </wsp:All>
+ </wsp:ExactlyOne>
+ </wsp:Policy>
+ <!-- 2.3.1.5 (WSS1.0) SAML1.1 Holder of Key, Sign, Optional Encrypt -->
+ <wsp:Policy wsu:Id="SecurityService2315_policy">
+ <wsp:ExactlyOne>
+ <wsp:All>
+ <sp:AsymmetricBinding>
+ <wsp:Policy>
+ <sp:InitiatorToken>
+ <wsp:Policy>
+ <sp:SamlToken
+
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/...
+ <wsp:Policy>
+ <sp:WssSamlV11Token10/>
+ </wsp:Policy>
+ </sp:SamlToken>
+ </wsp:Policy>
+ </sp:InitiatorToken>
+ <sp:RecipientToken>
+ <wsp:Policy>
+ <sp:X509Token
+
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/...
+ <wsp:Policy>
+ <sp:WssX509V3Token10 />
+ </wsp:Policy>
+ </sp:X509Token>
+ </wsp:Policy>
+ </sp:RecipientToken>
+ <sp:AlgorithmSuite>
+ <wsp:Policy>
+ <sp:Basic256/>
+ </wsp:Policy>
+ </sp:AlgorithmSuite>
+ <sp:Layout>
+ <wsp:Policy>
+ <sp:Strict/>
+ </wsp:Policy>
+ </sp:Layout>
+ <sp:IncludeTimestamp/>
+ <sp:OnlySignEntireHeadersAndBody/>
+ </wsp:Policy>
+ </sp:AsymmetricBinding>
+ <sp:Wss10>
+ <wsp:Policy>
+ <sp:MustSupportRefKeyIdentifier/>
+ </wsp:Policy>
+ </sp:Wss10>
+ </wsp:All>
+ </wsp:ExactlyOne>
+ </wsp:Policy>
+
+ <wsp:Policy wsu:Id="Input_Policy">
+ <wsp:ExactlyOne>
+ <wsp:All>
+ <sp:EncryptedParts wsp:Optional="true">
+ <sp:Body/>
+ </sp:EncryptedParts>
+ <sp:SignedParts>
+ <sp:Body/>
+ </sp:SignedParts>
+ </wsp:All>
+ </wsp:ExactlyOne>
+ </wsp:Policy>
+ <wsp:Policy wsu:Id="Output_Policy">
+ <wsp:ExactlyOne>
+ <wsp:All>
+ <sp:EncryptedParts>
+ <sp:Body/>
+ </sp:EncryptedParts>
+ <sp:SignedParts>
+ <sp:Body/>
+ </sp:SignedParts>
+ </wsp:All>
+ </wsp:ExactlyOne>
+ </wsp:Policy>
</wsdl:definitions>
\ No newline at end of file