santuario-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brent Putman <>
Subject Re: Signature breaks during I/O and parsing, but cannot resolve with canonicalisation
Date Fri, 07 Dec 2007 19:13:13 GMT

Scott Cantor wrote:

>> You don't happen to have a code snippet around that does exactly that
>> (Java)?
> I don't do Java any more (see headache above). The xmltooling code underneath opensaml-j,
which I didn’t write, has helper routines that provide one way to do it, and they appear
to use a DOM3 LSSerializer:
> public static void writeNode(Node node, Writer output) {
>     DOMImplementation domImpl = node.getOwnerDocument().getImplementation();
>     DOMImplementationLS domImplLS = (DOMImplementationLS) domImpl.getFeature("LS", "3.0");
>     LSSerializer serializer = domImplLS.createLSSerializer();
>     LSOutput serializerOut = domImplLS.createLSOutput();
>     serializerOut.setCharacterStream(output);
>     serializer.write(node, serializerOut);
> }
> There's also a pretty-print version that seems to be similar to what you're doing but
not exactly the same.

I was just about to send this out, but Scott beat me to it. :-)  Here's
where that code comes from:

It's often  used via the nodeToString():

     public static String nodeToString(Node node) {
        StringWriter writer = new StringWriter();
        writeNode(node, writer);
        return writer.toString();

These 2 methods are by and large how we serialize DOM elements in the
Java version of OpenSAML, and seems to work quite successfully with
signature and encryption.


View raw message