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");
   		}