Just as the earilier thread mentioned, when sign a big file, the
xmlsecurity lib will throw the out of memory error. By looking the source
code, seems in XmlSignatureInput::updateOutputStream
InputStream is = getResetableInputStream();
if (bytes!=null) {
//already read write it, can be rea.
diOs.write(bytes,0,bytes.length);
return;
}
is.reset();
The plail file will be read into memory, and then caculcate the signature
over it. Obviously it leads to a big memory allocation. Not sure why this
big-allocation-for-all is used in here, for performance? After commenting
the above code out and add
InputStream is = this._inputOctetStreamProxy;
It works well, I want to make sure whether this modification will cause
other problems or not?
wei