I think that the "so.close()" instruction should be AFTER the
canonicalization of bytes from the SignedInfo element.
I think so the following code should be better:
------------------------
// generate digest values for all References in this SignedInfo
si.generateDigestValues();
OutputStream so=new UnsyncBufferedOutputStream(new SignerOutputStream(sa));
// get the canonicalized bytes from SignedInfo
si.signInOctectStream(so);
// **** Close the output stream AFTER calling signInOctetStream method
*****
try {
so.close();
} catch (IOException e) {
//Imposible
}
------------------------
----- Original Message -----
From: "Marcin Cinik" <[EMAIL PROTECTED]>
To: <security-dev@xml.apache.org>
Sent: Wednesday, March 14, 2007 12:19 PM
Subject: RE: XMLSignature class - The signer output stream is closed before
signing operation
There should rather be:
try {
so.close();
} catch (IOException e) {
//Imposible
throw new RuntimeException(e);
}
when the operation is impossible (You never know ;-) ).
-----Original Message-----
From: Julien PASQUIER [mailto:[EMAIL PROTECTED]
Sent: Wednesday, March 14, 2007 12:12 PM
To: security-dev@xml.apache.org
Subject: XMLSignature class - The signer output stream is closed before
signing operation
Hi,
In the org.apache.xml.security.signature.XMLSignature class of the java
XML
Security v1.4, I don't understand a piece of code in the "public void
sign(Key signingKey)" method.
-----------------------------
// generate digest values for all References in this SignedInfo
si.generateDigestValues();
OutputStream so=new UnsyncBufferedOutputStream(new
SignerOutputStream(sa));
try {
so.close();
} catch (IOException e) {
//Imposible
}
// get the canonicalized bytes from SignedInfo
si.signInOctectStream(so);
-----------------------------
Why the output stream "so" object is closed ("so.close()") before the
signing operation ?
Regards,
Julien PASQUIER
---------------------------------------------------------------------------------------
Orange vous informe que cet e-mail a ete controle par l'anti-virus mail.
Aucun virus connu a ce jour par nos services n'a ete detecte.