Security Token Reference, signature validation error
massimiliano.masi at gmail.com
massimiliano.masi at gmail.com
Fri Aug 3 06:29:07 EDT 2012
Hi All,
Using OpenSAML I correctly validate the signature of an assertion that has
as Subject Confirmation Data the following
<wsse:SecurityTokenReference
xmlns:wsse="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
">
<wsse:KeyIdentifier
ValueType="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier
">
Ytig1daWMVvZKbESb1W10TpDcJY=
</wsse:KeyIdentifier>
</wsse:SecurityTokenReference>
When I add this assertion (using wsse4j) to the security header, DOM is
pushing the namespace in the security header element, as:
<wsse:Security xmlns:wsse="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
">
<saml2:Assertion
causing the keyInfo of the Subject Confirmation Data to be:
<wsse:SecurityTokenReference><wsse:KeyIdentifier ValueType="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier
">Ytig1daWMVvZKbESb1W10TpDcJY=
</wsse:KeyIdentifier></wsse:SecurityTokenReference>
and this seems to break the validation of the saml assertion:
Caused by: org.opensaml.xml.validation.ValidationException: Signature did
not validate against the credential's key
at
org.opensaml.xml.signature.SignatureValidator.validate(SignatureValidator.java:78)
How to avoid this situation? The assertion's SignedInfo is:
<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="#uuid-d8840a0d-fa90-4522-806e-edc8dc427d2b">
<ds:Transforms>
<ds:Transform Algorithm="
http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<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>ghAD3gMLcZvyXFhVXJwNkeHCGi8=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
AFAIK, the two xmls are semantically equivalent, thus the signature shall
behave the same, or am I wrong?
Thanks a lot,
Massi
--
Massimiliano Masi
http://www.mascanc.net/~max
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://shibboleth.net/pipermail/users/attachments/20120803/dbe9042b/attachment.html
More information about the users
mailing list