Hi Tirtza,
It seems something like this would will work for you. You have to
specify what should be signed within the
<sp:SignedParts></sp:SignedParts>.
<wsp:Policy wsu:Id="MutualCertificate10Sign_IPingService_policy"
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"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
<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: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: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:OnlySignEntireHeadersAndBody/>
</wsp:Policy>
</sp:AsymmetricBinding>
<sp:SignedParts xmlns:sp="
http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<sp:Body/>
</sp:SignedParts>
<sp:Wss10 xmlns:sp="
http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:MustSupportRefKeyIdentifier/>
<sp:MustSupportRefIssuerSerial/>
</wsp:Policy>
</sp:Wss10>
<sp:Trust10 xmlns:sp="
http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:MustSupportIssuedTokens/>
<sp:RequireClientEntropy/>
<sp:RequireServerEntropy/>
</wsp:Policy>
</sp:Trust10>
<ramp:RampartConfig xmlns:ramp="
http://ws.apache.org/rampart/policy">
<ramp:user>XXX</ramp:user>
<ramp:passwordCallbackClass>
com.wso2.interop.wcf.wss10.WSS10Client</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">keys/sec.jks</ramp:property>
<ramp:property name="
org.apache.ws.security.crypto.merlin.keystore.password
">password</ramp:property>
</ramp:crypto>
</ramp:signatureCrypto>
</ramp:RampartConfig>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
Regards,
Nandana
On 10/18/07, Tirtza Bernstein <[EMAIL PROTECTED]> wrote:
>
> It look slike you are using axis1. I need a solution for axis2.
> I have Rampart set up properly I just need a policy.xml which will allow
> me to send a client certificate. (no encryption and no timestamp)
>
> Does anyone have a policy.xml that defines this?
>
> ------------------------------
> *From:* Senthivel U S [mailto:[EMAIL PROTECTED]
> *Sent:* Thursday, October 18, 2007 1:17 PM
> *To:* [email protected]
> *Subject:* RE: Rampart signature
>
> Hi,
>
>
>
> Couple of days back I had the same problem but I could not make it using
> rampart but solved the problem. Find below the working code. I have created
> the stub using wsdl with Eclipse IDE.
>
>
>
> URL endPointURL = new URL("http:// ");
>
> EngineConfiguration config = new FileProvider("client_deploy.wsdd");
>
> Service service = new Service(config);
>
> TestSoapStub stub = new TestSoapStub(endPointURL, service);
>
>
>
> stub._setProperty(WSHandlerConstants.ACTION,
> WSHandlerConstants.SIGNATURE);
>
> stub._setProperty(WSHandlerConstants.SIG_PROP_FILE,
> "client_crypto.properties");
>
> stub._setProperty(WSHandlerConstants.USER, "client");
>
> stub._setProperty(WSHandlerConstants.PW_CALLBACK_CLASS,"
> com.unistream.client.ServiceSecurityHandler");
>
> stub._setProperty(WSHandlerConstants.SIG_KEY_ID
> ,"DirectReference");
>
>
>
> stub.login(userID,password);
>
>
>
> client.deploy.wsdd file (just copy the same contents)
>
>
>
> <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="
> http://xml.apache.org/axis/wsdd/providers/java">
>
> <transport name="http" pivot="java:
> org.apache.axis.transport.http.HTTPSender"/>
>
> <globalConfiguration >
>
> <requestFlow >
>
> <handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
>
> </handler>
>
> </requestFlow >
>
> </globalConfiguration >
>
> </deployment>
>
>
>
> client_crypto.properties file (just copy the same contents and change
> the keystore.password, keystore.alias, alias.password, merlin.fileaccording
> to ur spec)
>
>
>
>
> org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
>
> org.apache.ws.security.crypto.merlin.keystore.type=jks
>
> org.apache.ws.security.crypto.merlin.keystore.password=xyzabc
>
> org.apache.ws.security.crypto.merlin.keystore.alias=client
>
> org.apache.ws.security.crypto.merlin.alias.password= xyzabc
>
> org.apache.ws.security.crypto.merlin.file=client.jks
>
>
>
> If you find any other better solution, please let me know.
>
>
>
> Regards,
>
>
>
> -senthil
>
>
> ------------------------------
>
> *From:* Tirtza Bernstein [mailto:[EMAIL PROTECTED]
> *Sent:* Wednesday, October 17, 2007 7:54 PM
> *To:* [email protected]
> *Subject:* Rampart signature
>
>
>
> I am using Axis2-1.3 and Rampart 1.3.
>
> I am the client and my requests need to be signed.
>
>
>
> My axis.client.xml includes the following
>
>
>
> <module ref="rampart" />
>
>
>
> <parameter name="OutflowSecurity">
> <action>
> <items>Signature</items>
> <user>wally</user>
> <signaturePropFile>crypto.properties</signaturePropFile>
> <passwordCallbackClass>net.idt.svp.security.PWCallback
> </passwordCallbackClass>
> <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
> </action>
> </parameter>
>
>
>
> <parameter name="InflowSecurity">
> <action>
> <items>Signature</items>
> <signaturePropFile>crypto.properties</signaturePropFile>
> </action>
> </parameter>
>
>
>
> My crypto.properties
>
>
>
>
> org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
> org.apache.ws.security.crypto.merlin.keystore.type=jks
>
> org.apache.ws.security.crypto.merlin.file=J:\svp_prime\trunk\security\test.jks
> org.apache.ws.security.crypto.merlin.keystore.password=pswd
>
> My Client includes the following:
>
> _serviceClient.getOptions().setTo(new
> org.apache.axis2.addressing.EndpointReference(targetEndpoint));
>
> _serviceClient.getOptions().setUseSeparateListener(useSeparateListener);
>
>
>
> StAXOMBuilder builder = new StAXOMBuilder("resources/policy.xml");
>
> Policy clientPolicy = PolicyEngine.getPolicy(
> builder.getDocumentElement());
> _serviceClient.getOptions().setProperty(
> RampartMessageData.KEY_RAMPART_POLICY, clientPolicy);
> _serviceClient.engageModule("rampart");
>
> My problem is that I have no clue how to set up the policy.xml. Rampart's
> examples do not include an example of pure signature only (no timestamp).
>
>
>
>
>
> Can someone supply me with an example?
>
> Thanks.
>