Well, it can't be the http headers. I now think the problem might be with
canonicalization.
I can verify when I sign with the transform:
<dsig:Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
I can verify when I sign with the transform:
<dsig:Transform
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
but when I sign with the transform:
<dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
it fails to verify.
And none of it verifies when I send to my server (which is some black box
Microsoft implementation).
It looks like the server is expecting Exclusive Canonicalization, but I
can't even get that to work in my test environment.
Attached is my xml document after signing (shortened the digest values,
but otherwise unchanged).
Please take a look at it and see if I am doing something stupid.
Thanks in advance,
Brian
Aleksey Sanin <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]
06/29/2008 08:19 PM
To
[EMAIL PROTECTED]
cc
xmlsec@aleksey.com
Subject
Re: [xmlsec] Signing a document that will be altered
I highly doubt that http headers are involved in the signatures...
At least, not with xmlsec.
Aleksey
[EMAIL PROTECTED] wrote:
>
> Hello,
> I think I'm running into a problem where the digital signature is being
> made invalid due to an http post.
> Before I send my message to serverB I encrypt it and sign it, I then
> post the message to the server.
> The post obviously adds http headers to the beginning of the message,
> such as ContentType, ContentLength, ect.
> I'm guessing that even though these headers are not inside the xml
> document, they are still affecting my digest.
>
> Is there a way to force the sign method to only sign the xml as opposed
> to the whole string? and also force
> the severB verifier to verify the xml?
>
> Thank you,
> Brian
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> xmlsec mailing list
> xmlsec@aleksey.com
> http://www.aleksey.com/mailman/listinfo/xmlsec
_______________________________________________
xmlsec mailing list
xmlsec@aleksey.com
http://www.aleksey.com/mailman/listinfo/xmlsec
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test [
<!ATTLIST soap:Body wsu:Id ID #IMPLIED>
<!ATTLIST xenc:EncryptedData Id ID #IMPLIED>
<!ATTLIST xenc:EncryptedKey Id ID #IMPLIED>
]>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<soap:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
soap:mustUnderstand="1">
<dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
<dsig:SignedInfo>
<dsig:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<dsig:Reference URI="#SB">
<dsig:Transforms>
<dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<dsig:DigestValue>RcoLinRmgZOuMk8KbAdJRLhRdzc=</dsig:DigestValue>
</dsig:Reference>
</dsig:SignedInfo>
<dsig:SignatureValue>c0GoWW9WCw7JSEDvd4PUcl3TmLp9gMtanzhj/nLLkyCQd2Q5g8fhxs4ATQnxSKpQ
...
srq68Xg5cdzJyuiGxFyzeVYIRKI5o5JE0iMU5+Ww+nw9EKlzisKZOgeBav/Aozez
Ep05DNaey/WYyp2Xpu6iqw==</dsig:SignatureValue>
<dsig:KeyInfo>
<wsse:SecurityTokenReference>
<wsse:KeyIdentifier
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier"
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">JIQs8tRZIGKLLlyGkKOqMLonGpw=</wsse:KeyIdentifier>
</wsse:SecurityTokenReference>
</dsig:KeyInfo>
</dsig:Signature>
<xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="EK-0"
Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<wsse:SecurityTokenReference>
<wsse:KeyIdentifier
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier"
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">JIQs8tRZIGKLLlyGkKOqMLonGpw=</wsse:KeyIdentifier>
</wsse:SecurityTokenReference>
</KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>EI4QK0cOVgoRm5CNTOdxDJ4fwyNxcvpJb+7HbADNn75dF+3McMEtCsxo85q25sFb
...
LeonG0qH50jqboU8UEgfLmi8oNew4OfRb1RvnfS5w3HJ+b19YrAouI+iZK9RcOLz
roXJ6gYgb4TrdMnXXyIXL5G6HiA39Kt9533tQB81Ycu6wUqE1wH7V485ukS3FScx
OJA7h/VdbZamAaiWgPwh9A==</xenc:CipherValue>
</xenc:CipherData>
<xenc:ReferenceList>
<xenc:DataReference URI="#ED-0"/>
</xenc:ReferenceList>
</xenc:EncryptedKey>
</wsse:Security>
</soap:Header>
<soap:Body wsu:Id="SB">
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="ED-0"
Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod
Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<RetrievalMethod URI="#EK-0"
Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey"/>
</KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>bhiN30v5EV+37HUmEbuJJTj9PSAD7cCDs3C2+bnhd05r8VlzBsQgJBcrR/P/6vzW
u8PSFGekaQDcLgCJkFyiK83X9Q/PPHLke+ZEjClKl/+BOxv0NamSoaDGHMkqDwy1
Iblm/XQ0PfFY9arPdgWTxkE+qymQlU+LWlG8Q4Q3zqtwOxvSALV/dEreBcE0OqbP
...
7aftifDgmidBO7tV8MqLvLNrOB/ANbfI3GvMSeih2Ew4afEWp02bE3Muo/ev0YPf
2bXV/SbkaUJxhemZVHHJaKx7dSr80rEboz/BGigGLB3PscPo41pJMz7WbvNlX27M
affn5s4LjxIjbSYqGYHi2E26zRxo0V1t1c7zLTMycRfNWbJLEg29pon8LU8jDWkX
hKRF1FuQbe7AhOXFcSEp2wd+bNnPcRu7bXVAa69VR4Clm0BwJz4zADcLtioaYmSY
5UZGkcLmpopfQy8IgAhadI8v6Vme4ZXkAkchc6Iy8h/KBCx8+W/U/cTSYeLS54hg
CfJB48KJvL8DwNP2U8fJy7jGrQ4sFGMBORr8JKBg++aLhNxxoEVhJkiztVfyiZPx
m4JAJEcddcyJuMpyPYyv2F6cWiOqU0SQgCWAwPKiGmddfH0k6Jbk70k57olR7Zv4</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</soap:Body>
</soap:Envelope>
_______________________________________________
xmlsec mailing list
xmlsec@aleksey.com
http://www.aleksey.com/mailman/listinfo/xmlsec