DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=33393>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=33393

           Summary: Base64 Transform throws "Stream is closed" IOExceptions
           Product: Security
           Version: cvs
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: Signature
        AssignedTo: security-dev@xml.apache.org
        ReportedBy: [EMAIL PROTECTED]


There is a problem because
org.apache.xml.security.transforms.implementations.TransformBase64Decode invokes
the XMLSignatureInput.getOctetStreamReal method. If an XMLSignatureInput is
constructed with a byte[] and not a stream, then calling "getOctetStreamReal" on
XMLSignatureInput during the transform in TransformBase64Decode will yield an
empty stream and thus when trying to access the newly constructed
BufferInputStream with null will yield the "stream is closed" error.
The XMLSignatureInput should do more than setting the internal "bytes" to the
input of the XMLSignature(byte[]) constructor.
The line :
//this._inputOctetStreamProxy = new ByteArrayInputStream(inputOctets);
in the byte[] constructor is currently commented out.


Here's the diffs of the fix:

$ cvs diff XMLSignatureInput.java
Index: XMLSignatureInput.java
===================================================================
RCS file:
/home/cvspublic/xml-security/src/org/apache/xml/security/signature/XMLSignatureInput.java,v
retrieving revision 1.33
diff -r1.33 XMLSignatureInput.java
123c123,125
<       //this._inputOctetStreamProxy = new ByteArrayInputStream(inputOctets);
---
>       if (inputOctets != null) {
>           this._inputOctetStreamProxy = new ByteArrayInputStream(inputOctets);
>       }

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Reply via email to