Hi Friends,

             I have developed a java service using below security policies.

1) Sign and Encrypt messages
2) An AsymmetricBinding is used. Entire headers and body to be signed. 
    EncryptionParts specifies the Body to be encrypted.
3) Algorithm suite is TripleDesRsa15

           I am able parse the request from .NET client and sending back the 
response with security to .NET, but 
the problem is , in .NET client i am getting the follow error.

"The incoming message was signed with a token which was different from what 
used to encrypt the body.  This was not expected."


Response to .net client is:

<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
    xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
    <soapenv:Header>
        <wsse:Security
            
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
            soapenv:mustUnderstand="1">
            <wsu:Timestamp
                
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
                wsu:Id="Timestamp-16">
                <wsu:Created>2010-01-06T20:15:10.412Z</wsu:Created>
                <wsu:Expires>2010-01-06T20:20:10.412Z</wsu:Expires>
            </wsu:Timestamp>
            <wsse:BinarySecurityToken
                
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
                
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary";
                
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3";
                wsu:Id="3BFE8F13AE52758BDC126280891045129">
                MIICQTCCAaqgAwIBAgIESzGVTjANBgkqhkiG9w0BAQUFADBlMQswCQY
                DVQQGEwJJTjELMAkGA1UECBMCQVAxDDAKBgNVBAcTA1ZTUDEMMAoGA1UECh
                MDWVNFMRwwGgYDVQQLDBNZQUxBTUFOQ0hJTElfQ0xJRU5UMQ8wDQYDVQQDEw
                ZDTElFTlQwHhcNMDkxMjIzMDM1ODA2WhcNMTUxMjIyMDM1ODA2WjBlMQswCQYDV
                QQGEwJJTjELMAkGA1UECBMCQVAxDDAKBgNVBAcTA1ZTUDEMMAoGA1UEChMDWVNFM
                RwwGgYDVQQLDBNZQUxBTUFOQ0hJTElfQ0xJRU5UMQ8wDQYDVQQDEwZDTElFTlQwg
                
Z8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJn1zNQrxu/ck+yYpNlo5WVg6Q+vO0XVGDP
                
bY4TC8IKO6Qb9g4vMnJeXclpklyAuwsl3qd3qslyybU+JXdjKzo16tK42cg+8IpFRe/Qw
                
W36OWwfQrdmLiBZ/PCWxa1QEg0+L4cCBBl+FZrVIf2te4z0ayUQKJgJ9Mb45qc1y4XnX
                
AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAeVSnnTKo8vxz33y3a8BIOXCzyqXQwlHaeV7w
                
8hEdSQOel09LvuUw4hyuyEwWn5ynSXiMBSBeJO+OGI6yz7l6emMTvwOvl6aIQM4CJ8u7
                
a7R43SOZXUlcvOJEj76HLW3jszqyjVsTEmqyosfMKC5/1MYPL3Vi52Jmehv+qLWAnn4=
            </wsse:BinarySecurityToken>
            <xenc:EncryptedKey
                Id="EncKeyId-3BFE8F13AE52758BDC126280891046530">
                <xenc:EncryptionMethod
                    Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"; />
                <ds:KeyInfo
                    xmlns:ds="http://www.w3.org/2000/09/xmldsig#";>
                    <wsse:SecurityTokenReference>
                        <wsse:Reference
                            URI="#3BFE8F13AE52758BDC126280891045129"
                            
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3";
 />
                    </wsse:SecurityTokenReference>
                </ds:KeyInfo>
                <xenc:CipherData>
                    <xenc:CipherValue>
                    
                        
ByeARhJOzPVayU8VnAySzM4PWV7M7ozehT5U2a+7wX6RYjtwkmjmGv34iG
6MzN7I22P3kAh4PwlxKE6F4w08tYgz7CTBbmEt/ONof7FuN9o33ZmzvpbF7bbvAs2IxbRILXf+i4LdVmga
zJH/oQasRPhiJWHzzaP6yLnplAErec=
                    </xenc:CipherValue>
                </xenc:CipherData>
                <xenc:ReferenceList>
                    <xenc:DataReference URI="#EncDataId-18" />
                </xenc:ReferenceList>
            </xenc:EncryptedKey>
            <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#";
                Id="Signature-17">
                <ds:SignedInfo>
                    <ds:CanonicalizationMethod
                        Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"; />
                    <ds:SignatureMethod
                        Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"; 
/>
                    <ds:Reference URI="#Id-6930476">
                        <ds:Transforms>
                            <ds:Transform
                                
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"; />
                        </ds:Transforms>
                        <ds:DigestMethod
                            Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"; 
/>
                        <ds:DigestValue>
                            2trPhYNxqJgCt9YASagi0rahj14=
                        </ds:DigestValue>
                    </ds:Reference>
                    <ds:Reference URI="#Timestamp-16">
                        <ds:Transforms>
                            <ds:Transform
                                
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"; />
                        </ds:Transforms>
                        <ds:DigestMethod
                            Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"; 
/>
                        <ds:DigestValue>
                            MX7jYnYpfeaPxizuQY9Lf17w+Ic=
                        </ds:DigestValue>
                    </ds:Reference>
                </ds:SignedInfo>
                <ds:SignatureValue>
                    
FrjWFw7kyVqkkD9fVaBH1Y+j/DuoqsYv2U+DcUoNEq6K2OpjK9pKNVML1gVAWge/mgoFI3gj9YYa
                    
ydiUfFhBHKEXtGTYxVy5S71Eez/D0o3NV41IJKzgp8XlKIlcgISOtha9qtmNKp4ftNzGFZrxiKy/
                    n0nrfJvizsojioID7Qs=
                </ds:SignatureValue>
                <ds:KeyInfo
                    Id="KeyId-3BFE8F13AE52758BDC126280891042227">
                    <wsse:SecurityTokenReference
                        
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
                        wsu:Id="STRId-3BFE8F13AE52758BDC126280891042228">
                        <wsse:KeyIdentifier
                            
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary";
                            
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier";>
                            SQM8FoU23FrDNGnQI1AbtvLCilc=
                        </wsse:KeyIdentifier>
                    </wsse:SecurityTokenReference>
                </ds:KeyInfo>
            </ds:Signature>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body
        
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
        wsu:Id="Id-6930476">
        <xenc:EncryptedData Id="EncDataId-18"
            Type="http://www.w3.org/2001/04/xmlenc#Content";>
            <xenc:EncryptionMethod
                Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"; />
            <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#";>
                <wsse:SecurityTokenReference
                    
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";>
                    <wsse:Reference
                        URI="#EncKeyId-3BFE8F13AE52758BDC126280891046530" />
                </wsse:SecurityTokenReference>
            </ds:KeyInfo>
            <xenc:CipherData>
                <xenc:CipherValue>
                    
J9S3eSeZghO41n0uW0t2IqiqXmK9aGrDh+bySECE2VuNl6QZI2vSzoGgTridbGFarSRiaeltKAwu
                    
5mv+pE6BijB3U5Zkbd//w+MiRXtPlaQTYlE/+PwGLeczaDv+1CvqvrXRFUB6xldzg8wx+7m4zL+s
                    
sC4Oa+d0WdJVGxwIlWLkeRaLhxqUtRI8VLYJ9MpmdFBPaEQutiSOs2S+cpNL+0zZCnKAvRgAw5RF
                    
vE7LL5Kr3xaJKc7zqYNq3lQZKzx5fcLRhoJDyz8oi4JSX71yMxic21aXIeL7Bt2p42CE9MXUzMN4
                    
Sek9p5lf9UNVKK0G/r8Mqb2OT0JQbj7JfyrI/qmMOzh1MPlxaDRLPvtIr6C5HxaaoKOW04Et5o+r
                    
Re+4ego7JOMb60MEdaI5OEJun0oH0xwInnD4fxK5foSL2z/UJGYw/2LfHD9AtxNzZc6BMEGIfmxj
                    
8NB7/iDL26tbtHFS+0dCJi77EM0vOowTrIMS5T/nQjSvpEgUTXIOLR2qzpmxM5vac+1XOu/bIwv8
                    
CpNdxXS8rRIiIwI1Rv+d8HNBsZCglAgdHfWPk1DLTKNrNy04mZ4mpVbT5QKeWhzFi+vYO/00D38V
                    
ungYXMpQqWKqMWUk1LeZf186SjbDMs1d4y5MNmgXfHS6kdQ/0gGanBm8Qmq9JyP5a/k8GuFk7nlZ
                    
1euZ6DdOCwT/+s/QQWY+Xm6MEsizSPN0sUyBpOSY+YByuP6UEWLxc0om6FM5IaOaxbp48mngIg==
                </xenc:CipherValue>
            </xenc:CipherData>
        </xenc:EncryptedData>
    </soapenv:Body>
</soapenv:Envelope>



.NET CONFIGURATION:



 <bindings>
      <customBinding>
        <binding name="JavaInterop">
          <textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
            messageVersion="Soap11" writeEncoding="utf-8">
            <readerQuotas maxDepth="32" maxStringContentLength="8192" 
maxArrayLength="16384"
              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          </textMessageEncoding>
          <security defaultAlgorithmSuite="TripleDesRsa15" 
allowSerializedSigningTokenOnReply="true"
            authenticationMode="MutualCertificate" requireDerivedKeys="false"
            securityHeaderLayout="Strict" 
messageProtectionOrder="SignBeforeEncrypt"
            
messageSecurityVersion="WSSecurity10WSTrust13WSSecureConversation13WSSecurityPolicy12BasicSecurityProfile10">
            <issuedTokenParameters keyType="AsymmetricKey" />
            <localClientSettings maxClockSkew="00:25:00" replayWindow="00:25:00"
              sessionKeyRolloverInterval="00:25:00" 
timestampValidityDuration="00:25:00" />
            <secureConversationBootstrap />
          </security>
          <httpTransport manualAddressing="false" maxBufferPoolSize="524288"
            maxReceivedMessageSize="65536" allowCookies="false" 
authenticationScheme="Anonymous"
            bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
            keepAliveEnabled="true" maxBufferSize="65536" 
proxyAuthenticationScheme="Anonymous"
            realm="" transferMode="Buffered" 
unsafeConnectionNtlmAuthentication="false"
            useDefaultWebProxy="true" />
        </binding>
      </customBinding>
    </bindings>



    <behaviors>
      <endpointBehaviors>
        <behavior name="ClientCertBehavior">
          <clientCredentials>
            <clientCertificate findValue="ba f9 f8 82 da 54 26 1b 2b 22 18 88 
aa 79 d2 e3 d0 13 f1 b9"
              storeLocation="CurrentUser" storeName="My" 
x509FindType="FindByThumbprint" />
            <serviceCertificate>
              <defaultCertificate findValue="6a ca 90 f6 4c 89 68 6e 08 ab da 
97 c4 9b 8b b8 83 49 0f 04"
                storeLocation="CurrentUser" storeName="My" 
x509FindType="FindByThumbprint" />
              <authentication certificateValidationMode="None" 
revocationMode="NoCheck" />
            </serviceCertificate>
            <peer>
              <peerAuthentication certificateValidationMode="None" />
              <messageSenderAuthentication certificateValidationMode="None"
                revocationMode="NoCheck" />
            </peer>
          </clientCredentials>
        </behavior>
      </endpointBehaviors>
    </behaviors>



Service.xml:

<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
    <service name="TestService">
        <messageReceivers>
            <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"; 
class="com.test.ws.TestServiceMessageReceiverInOut"/>
        </messageReceivers>
        <parameter 
name="ServiceClass">com.test.ws.TestServiceSkeleton</parameter>
        <parameter name="useOriginalwsdl">true</parameter>
        <parameter name="modifyUserWSDLPortAddress">true</parameter>
        <operation name="getService" mep="http://www.w3.org/ns/wsdl/in-out"; 
namespace="http://ws.test.com";>
            <actionMapping>urn:getService</actionMapping>
            <outputActionMapping>urn:getServiceResponse</outputActionMapping>
        </operation>

 <module ref="rampart" />
 <module ref="addressing" />

<wsp:Policy wsu:Id="SigEncr" 
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:RequireKeyIdentifierReference/>  -->
            <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:RequireKeyIdentifierReference/> -->
             <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:RequireThumbprintReference/>
      <sp:MustSupportRefThumbprint/>
     <sp:MustSupportRefIssuerSerial/>
    </wsp:Policy>
   </sp:Wss10>
   <sp:SignedParts 
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
    <sp:Body/>
   </sp:SignedParts>
   <sp:EncryptedParts 
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
    <sp:Body/>
   </sp:EncryptedParts>

   <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy";>
    <ramp:user>xws-security-server</ramp:user>
    <ramp:encryptionUser>xws-security-client</ramp:encryptionUser>
    
<ramp:passwordCallbackClass>com.test.ws.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">keystore.jks</ramp:property>
      <ramp:property 
name="org.apache.ws.security.crypto.merlin.keystore.password">adminadmin</ramp:property>
     </ramp:crypto>
    </ramp:signatureCrypto>
    <ramp:encryptionCypto>
     <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">keystore.jks</ramp:property>
      <ramp:property 
name="org.apache.ws.security.crypto.merlin.keystore.password">adminadmin</ramp:property>
     </ramp:crypto>
    </ramp:encryptionCypto>
   </ramp:RampartConfig>

  </wsp:All>
 </wsp:ExactlyOne>
</wsp:Policy>
   </service>
</serviceGroup>

              Kindly help me friends.


-------------
with Regards,
Siva Kumar
 
"This e-mail message may contain confidential, proprietary or legally 
privileged information. It should not be used by anyone who is not the original 
intended recipient. If you have erroneously received this message, please 
delete it immediately and notify the sender. The recipient acknowledges that 
YALAMANCHILI or its subsidiaries and associated companies, are unable to 
exercise control or ensure or guarantee the integrity of/over the contents of 
the information contained in e-mail transmissions and further acknowledges that 
any views expressed in this message are those of the individual sender and no 
binding nature of the message shall be implied or assumed unless the sender 
does so expressly with due authority of YALAMANCHILI Group.  Before opening any 
attachments please check them for viruses and defects."

Reply via email to