My 2 cents: XML was designed as an information protocol, not a wire protocol, with multiple ways of representing the same canonical information. Why would you ever not canonicalize the data: are you sure the pipe between sender and receiver never have midpoints where, say, line breaks and carriage returns change?
The XML sig spec + libraries have had hundreds of man-year in the design and implementation and for example Java 6 has an XML signature library built in http://java.sun.com/developer/technicalArticles/xml/dig_signature_api/ BTW, xml namespaces carry information and should not be rewritten: http://www.w3.org/TR/xml-c14n#NoNSPrefixRewriting Hans On Wed, Jun 10, 2009 at 6:05 AM, Zhihong<[email protected]> wrote: > > We had some terrible experiences with XMLDSig a few years ago so we > switched to SimpleSign. The problem is with namespace prefixes. The > signature includes the prefixes and the prefixes can be changed. Say > you sign the SAML assertion with a prefix called "saml". Later the > assertion is put into a SAMLResponse which defines the same namespace > as "sa". When the whole thing is used in some other context (BEA Web > Services), the namespaces are optimized so "saml" is changed into "sa" > defined in outer layer and it messed up the signature. Back then, > there is a new c14n proposal to sign with full namespaces, not sure if > it went anywhere. > > Then we ran into a similar issue with SimpleSign. Firefox normalizes > line-break characters and I had to ask for a spec change to sign the > XML, instead of the Base64. > > The SimpleSign works for our use case (SAML Simple SSO profile) > because the XML is a Base64 BLOB already. For SXRD, XMLDSig seems to > be a better solution if you can rein in on the complexities of the > spec so you don't have to rely on the huge library like Apache XMLSec. > > Zhihong > > On Jun 10, 2:43 am, Nat Sakimura <[email protected]> wrote: >> Hi all: >> >> At XRI TC of OASIS Open, we are talking about the signing method for XRD. >> The current trend in the TC is that to use a constrained form of XML DSig, >> which is found in the SAML Core spec. We are almost deciding on it, >> but I would like to hear from the community that if it would be OK. >> >> The reason I ask this was that when we started to discuss the >> signing method for XRD back in November last year, we were >> hearing from the community that XML DSig is too complex and >> hard to use by some developers. That's why we came up with >> "Simple Sign" which basically signes the blob without any >> cannonicalization. >> >> e.g., >> >> <SXRD sig="signature" >> sigalg="http://www.w3.org/2000/09/xmldsig#rsa-sha1" certuri="pem file >> location" data="BASE64 of the payload" /> >> >> Where: >> >> - XRD/@data : Base64 encoded XRD to be signed. >> - XRD/@sig : Signature taken over the original data (before Base64 >> encoding). >> - XRD/@certuri: (Optional) Certificate location.Either XRD/@certuri or >> XRD/@certs MUST be present. >> - XRD/@certs : (Optional) The content of [email protected] both >> XRD/@certuri and XRD/@certs are present, XRD/@certs takes precidence. >> - XRD/@sigalg : (Optional) Signature Algorithm. Defaults to rsa-sha1. >> >> When we started writing spec on such thing, we found that we are re-writing >> a lot of things that are already in XML DSig. >> As the result, XML DSig with new canonicalization method=no-canonicalization >> was discussed and in the end, >> it seems the discussion precipitated to "After all, constrained XML DSig >> would be good enough." >> Theoretically, it looks good. >> >> The remaining question is then the reality check, such as: >> >> - Is it widely implementable, in each scripting language and hosting >> environment including Google AppEngine, Force.com, etc.? >> - Would the community feel that this is simple enough? >> >> I would appreciate your insight/opinion/input into this matter. >> >> Best, >> >> -- >> Nat Sakimura (=nat)http://www.sakimura.org/en/ > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "OAuth" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/oauth?hl=en -~----------~----~----~----~------~----~------~--~---
