You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by bl...@apache.org on 2004/10/02 13:30:54 UTC
cvs commit: xml-security/src/org/apache/xml/security/encryption XMLCipher.java
blautenb 2004/10/02 04:30:54
Modified: src/org/apache/xml/security/encryption XMLCipher.java
Log:
Canonicalizer does not properly close out byte streams, so cannot re-use
Revision Changes Path
1.28 +17 -3 xml-security/src/org/apache/xml/security/encryption/XMLCipher.java
Index: XMLCipher.java
===================================================================
RCS file: /home/cvs/xml-security/src/org/apache/xml/security/encryption/XMLCipher.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- XMLCipher.java 24 Sep 2004 21:29:34 -0000 1.27
+++ XMLCipher.java 2 Oct 2004 11:30:54 -0000 1.28
@@ -1842,8 +1842,15 @@
String serialize(NodeList content) throws Exception { //XMLEncryptionException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
for (int i = 0; i < content.getLength(); i++) {
+ Canonicalizer canon;
+ try {
+ canon = Canonicalizer.getInstance
+ (Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
+ } catch (InvalidCanonicalizerException ice) {
+ throw new XMLEncryptionException("empty", ice);
+ }
byte[] canonBytes =
- _canon.canonicalizeSubtree(content.item(i));
+ canon.canonicalizeSubtree(content.item(i));
baos.write(canonBytes);
}
baos.close();
@@ -1858,8 +1865,15 @@
*/
String canonSerialize(Node node) throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
- byte[] canonBytes = _canon.canonicalizeSubtree(node);
- baos.write(canonBytes);
+ Canonicalizer canon;
+ try {
+ canon = Canonicalizer.getInstance
+ (Canonicalizer.ALGO_ID_C14N_WITH_COMMENTS);
+ } catch (InvalidCanonicalizerException ice) {
+ throw new XMLEncryptionException("empty", ice);
+ }
+ byte[] cbytes = canon.canonicalizeSubtree(node);
+ baos.write(cbytes);
baos.close();
return baos.toString("UTF-8");
}