factory.newReference("My%20document/test.txt", ...);
   However, apache XMLDsig could set Reference's URI with space by calling
XMLSignature.addDocument, ex.,
sig.addDocument("My document/test.txt", null, Constants.ALGO_ID_DIGEST_SHA1);

Although method newReference could succeed with URI escaped space to %20, the %20 would also appear in output file. I think it is not a proper readable format for user to comprehend
it. So implementation of apache sounds better. Anyone approve?!

----- Original Message -----
Laugh all you want :), but an API dependency on java.net.URI would have ruled out support for JDK 1.2/1.3, which was important at the time (but maybe not so much anymore).

Just escape the space and it should work:

factory.newReference("My%20document/test.txt", ...);

--Sean

jason marshall wrote:
Did you URL encode before passing the String form of the URI in to the Reference? I pass my URIs as URI objects until the last moment, so that I don't have to chase down encoded/unencoded data paths through the code. Saves me a lot of headaches and some potential security holes.

-Jason

(I will never understand why both xmlsec and the Java dsig API have so many method arguments called "String uri". You are all certainly welcome to try to explain, but I will simply laugh at you if you do. I may point at the same time.)



On Tue, Nov 11, 2008 at 12:13 AM, Ling Xiaohan <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Hi,

      URI attribute of <Reference> tag can be set to a relative path in
    local file
    system, but when the path contains blank space, it seems this
    <Reference>
    tag coulde not be created by XMLSignatureFactory.newReference method.

    Ex.,
      <Reference URI="My document/test.txt">
    where there is a space in "My document".

    Is this a limit?

    Thanks.
    ----------------------------------------------------------------------------





--
- Jason





Reply via email to