Hi everybody,
My environment is based on Axis2 1.3, Rampart 1.3.
What I am testing is symmetric binding with Username token. What I am
receiving is the following exception:
"Unexpected signature".

I know the reason about the problem, but I am interested is it bug in
rampart or there is another reason for that? Or may be I do not
understand it well?
This exception is caused into
org.apache.rampart.PolicyBasedResultsValidator class and namely into
the public void validate(ValidatorData data, Vector results) method.
There are several checks for signitureParts. These checks are for
"timestamp", "EndorsingSupportingTokens" and
"SignedEndorsingSupportingTokens".
The problem is that when I read the WS - Security Policy - 1.1 - July
2005, which spec is implemented by Rampart, we can read that there are
two additional supporting tokens assertions, namely:

- SupportingTokens Assertion
and
- SignedSupportingTokens Assertion.

Why these two cases are not processed into the method? Is there any
particular reason about that?

Here is an excerpt from my service.xml that causes the exception:

<sp:SignedSupportingTokens
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
            <wsp:Policy>
              <sp:UsernameToken
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always";

xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/>
            </wsp:Policy>
          </sp:SignedSupportingTokens>

My understanding is that I should add two additional cases into the
above mentioned code in order to have:

signatureParts.add(new WSEncryptionPart("SignedSupportingTokens "));
and
signatureParts.add(new WSEncryptionPart("SupportingTokens "));

Thank you in advance!
Best regards, Dobri

PS
I am applying and the SOAP request:

<?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#";
xmlns:wsa="http://www.w3.org/2005/08/addressing";>
        <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">
                        <xenc:EncryptedKey Id="EncKeyId-18788761">
                                <xenc:EncryptionMethod
Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/>
                                <ds:KeyInfo 
xmlns:ds="http://www.w3.org/2000/09/xmldsig#";>
                                        <wsse:SecurityTokenReference>
                                                <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";>9kbwRNyMypNWhulx0JkHVOFvRB8=</wsse:KeyIdentifier>
                                        </wsse:SecurityTokenReference>
                                </ds:KeyInfo>
                                <xenc:CipherData>
                                        
<xenc:CipherValue>PjfZ2MAa1HZs1pfzNxa+zdaNKBMgi9fjOdsQSY3jfqkl0lFiWMtc5UOngBfjlN0hNHxfLnU2cJVnEuBTQgHYl2iaJT/VnbDk2Oby5/HZcFyq2ojNarE0iScoJ5beZD0DbSkkpzkq3elfSjYpa1MXRYBtNHcCD+cDkmmpNfZHuJU=</xenc:CipherValue>
                                </xenc:CipherData>
                        </xenc:EncryptedKey>
                        <wsc:DerivedKeyToken
xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc";
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
wsu:Id="derivedKeyId-27003862">
                                <wsse:SecurityTokenReference>
                                        <wsse:Reference 
URI="#EncKeyId-18788761"/>
                                </wsse:SecurityTokenReference>
                                <wsc:Length>16</wsc:Length>
                                <wsc:Nonce>iy0NzppeoVrO6YfwpMlnSw==</wsc:Nonce>
                                <wsc:Offset>0</wsc:Offset>
                        </wsc:DerivedKeyToken>
                        <xenc:ReferenceList/>
                        <wsse:UsernameToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
wsu:Id="UsernameToken-13367741">
                                <wsse:Username>vmtest</wsse:Username>
                                <wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText";>vmtest</wsse:Password>
                        </wsse:UsernameToken>
                        <wsc:DerivedKeyToken
xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc";
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
wsu:Id="derivedKeyId-24856323">
                                <wsse:SecurityTokenReference>
                                        <wsse:Reference 
URI="#EncKeyId-18788761"/>
                                </wsse:SecurityTokenReference>
                                <wsc:Length>16</wsc:Length>
                                <wsc:Nonce>SYR+YeMYEbTiIxSg1ZnccQ==</wsc:Nonce>
                                <wsc:Offset>0</wsc:Offset>
                        </wsc:DerivedKeyToken>
                        <ds:Signature 
xmlns:ds="http://www.w3.org/2000/09/xmldsig#";
Id="Signature-19419092">
                                <ds:SignedInfo>
                                        <ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                                        <ds:SignatureMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/>
                                        <ds:Reference 
URI="#UsernameToken-13367741">
                                                <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>n1Tt4rPVpDWRQbkXo21bMOSbcpU=</ds:DigestValue>
                                        </ds:Reference>
                                </ds:SignedInfo>
                                
<ds:SignatureValue>JFfbGIEU9tGljsoEbTQfbQA0+jY=</ds:SignatureValue>
                                <ds:KeyInfo Id="KeyId-4167406">
                                        <wsse:SecurityTokenReference
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
wsu:Id="STRId-13506221">
                                                <wsse:Reference 
URI="#derivedKeyId-24856323"/>
                                        </wsse:SecurityTokenReference>
                                </ds:KeyInfo>
                        </ds:Signature>
                </wsse:Security>
                
<wsa:To>http://127.0.0.1:8082/wsstack/services/HelloPojo</wsa:To>
                
<wsa:MessageID>urn:uuid:FD4944A142545EE74F1194968191631</wsa:MessageID>
                <wsa:Action>urn:sayHello</wsa:Action>
        </soapenv:Header>
        <soapenv:Body>
                <xsd:sayHello xmlns:xsd="http://pojo.wsstack.mycompany.com";>
                        <xsd:name>Dodo!</xsd:name>
                </xsd:sayHello>
        </soapenv:Body>
</soapenv:Envelope>

Reply via email to