I assume you are using the Apache XML Security APIs and not the standard
JSR 105 API. In that case, try calling the following static methods
before you sign/encrypt your data:

to set the dsig prefix to "":

org.apache.xml.security.utils.Constants.setSignatureSpecNSprefix("");

to set the enc prefix to "":

org.apache.xml.security.utils.ElementProxy.setPrefix(org.apache.xml.security.encryption.EncryptionConstants.EncryptionSpecNS,
"");

Let me know if that works.

--Sean

Berin Lautenbach wrote:
> OK - first up I'm not an expert on the Java library, more on the C++
> library.
> 
> The two examples you sent through are completely separate - one is for
> sig and one encryption.  So my guess is that in your situation you could
> set the namespace prefix to "" for the dsig namespace when you are doing
> a signature and to "" for the xenc namespace when you are doing
> encryption.  I.e. do one or the other - not both.  If you need to do
> both encryption and signature in one document, I'm not sure whether the
> library will let you do that easily.  I know you can't have both
> namespaces as the default, but maybe you can switch between each other
> as the default depending on what you are trying to do.
> 
> Hopefully someone else can comment in that case.
> 
> As a side note - namespace support is mandatory according to the spec.
> What is optional is the use of "dsig" as the namespace prefix.  So in
> reality a compliant implementation needs to support the use of a prefix
> for the signature and encryption namespaces.
> 
> Cheers,
>     Berin
> 
> Eric Tournier wrote:
>> Hi Berin :)
>>
>>   I hope your baby goes well and let you sleep :)
>>
>>   Was the previously posted XML useful ? I checked the W3 XMLEnc and
>> XMLDSig references and found that thes two namespaces were optional
>> (§1.3), so could you help me to configure XMLSecurity classe to
>> produce signed XML without ds: then produce with this doc a encrypted
>> XML without xenc: ?
>>
>> Thanks in advance
>> Eric
>>
>>> -----Message d'origine-----
>>> De : Berin Lautenbach [mailto:[EMAIL PROTECTED] Envoyé :
>>> mercredi 18 avril 2007 14:05
>>> À : security-dev@xml.apache.org
>>> Objet : Re: Namespaces
>>>
>>> Can you post a signature from the implementation you use to see what
>>> it looks like?
>>>
>>> Cheers,
>>>     Berin
>>>
>>> Eric Tournier wrote:
>>>> Hi Berin :)
>>>>
>>>>   I'm using a home-made XML Encryption implementation but 
>>> unfortunately I'm not the developer of it. This implementation does
>>> not support ds: and xenc: prefixes, so I try not to have them. In
>>> order to test interoperability of it with well-known API, I'm trying
>>> to encrypt a XML document with XML Security and decrypt the result
>>> with my implementation, and vice-versa.
>>>>   My intent is not to have two different namespaces as the 
>>> default namespace for the Signature element, but trying not to have
>>> any of the ds: and xenc: prefix into the final encrypted then signed
>>> XML document : element <Signature instead of <ds:Signature and
>>> <CipherValue instead of <xenc:CipherValue.
>>>>   Thanks for your help
>>>>
>>>> Eric
>>>>
>>>>> -----Message d'origine-----
>>>>> De : Berin Lautenbach [mailto:[EMAIL PROTECTED] Envoyé :
>>>>> mercredi 18 avril 2007 11:36 À : 
>>> security-dev@xml.apache.org Objet :
>>>>> Re: Namespaces
>>>>>
>>>>> As far as I can see - effectively your trying to have two 
>>> different
>>>>> namespaces as the default namespace for the Signature 
>>> element.  Which
>>>>> can't really be done.  Or am I misreading your intent?
>>>>>
>>>>> Why do you not want the namespaces?  Both specs exist inside a
>>>>> specific namespace, so you can't not use them.
>>>>>
>>>>> Cheers,
>>>>>     Berin
>>>>>
>>>>> Eric Tournier wrote:
>>>>>> Hi :)
>>>>>>  
>>>>>>   I wish to encrypt then sign a XML document without the 
>>> 'ds;' and
>>>>>> 'xenc:' namespaces. Unfortunately, I can only suppress on 
>>> of these
>>>>>> namespaces :| The following code throws
>>>>> XmlSecurityException always on
>>>>>> the second line independent from its nature
>>>>>> (EncryptionConstants.setEncryptionSpecNSprefixor or
>>>>>> Constants.setSignatureSpecNSprefix) :
>>>>>> (...)
>>>>>>   static
>>>>>>   {
>>>>>>     org.apache.xml.security.Init.init();
>>>>>>     JCA.setProvider();
>>>>>>   }
>>>>>>  
>>>>>>   public XMLSecurityResource() throws XMLSecurityException
>>>>>>   {
>>>>>>     // Suppression du namespace 'xenc:'
>>>>>>     EncryptionConstants.setEncryptionSpecNSprefix("");
>>>>>>     // Suppression du namespace 'ds:'
>>>>>>     Constants.setSignatureSpecNSprefix("");
>>>>>>   }
>>>>>> (...)
>>>>>>  
>>>>>> Could someone tell me how to resolve this ?
>>>>>> Thanks
>>>>>> Eric
>>>>>>  
>>>>>> Eric TOURNIER
>>>>>> Ingénieur concepteur objet senior - Expertise technique
>>>>>> Java/J2EE/XML/AOP - Spring/Hibernate/Maven
>>>>>> ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
>>>>>> STERIA
>>>>>> Département Banque, Assurance et Finance 46, rue Camille
>>>>> Desmoulins -
>>>>>> 92782 Issy-Les-Moulineaux Cedex 9 Tél : 01 53 94 22 94 -
>>>>> Mob : 06 17
>>>>>> 98 32 51 [EMAIL PROTECTED] 
>>> <mailto:[EMAIL PROTECTED]>
>>>>>> //
>>>>
>>
>>

Reply via email to