Hi everyone, I need to sign an xml using the "enveloped" method, but haven't been able to realize what to do with the needed keyAccessor parameter. I'm aware of default available implementation, buy haven't been able to found documentation and/or examples using it and how to configure it. I might me also capable of writing my own, but also no hints on what to do.
The scenario is as follows: I have several PFX files with certificates (protected by passwords), which will be used for the XML signing process, and I'll have to choose amongst them using an attribute from the XML message to be signed. (I think I'll have to import them into a KeyStore perhaps). Can anyone provide hints on how to solve this? This is my endpoint declaration: <camel:to uri="xmlsecurity:sign://enveloped?keyAccessor=#myKeyAccessor&parentLocalName=notaDebito" /> "notaDebito" is the root node of the incoming XML message, which is OK in this case I also had a bean like this, but it was of no use (probably need more initialization that just the default: <bean id="myKeyAccessor" class="cl.altiuz.reports.KeyAccesor" /> As it shows this stacktrace: org.apache.camel.component.xmlsecurity.api.XmlSignatureException: javax.xml.crypto.dsig.XMLSignatureException: the keySelector did not find a signing key at org.apache.camel.component.xmlsecurity.processor.XmlSignerProcessor.sign(XmlSignerProcessor.java:307) at org.apache.camel.component.xmlsecurity.processor.XmlSignerProcessor.process(XmlSignerProcessor.java:217) at org.apache.camel.component.xmlsecurity.XmlSignatureProducer.process(XmlSignatureProducer.java:39) at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) Regards, Gonzalo Vásquez Sáez Gerente Investigación y Desarrollo (R&D) Altiuz Soluciones Tecnológicas de Negocios Ltda. Av. Nueva Tajamar 555 Of. 802, Las Condes - CP 7550099 +56 2 335 2461 gvasq...@altiuz.cl http://www.altiuz.cl http://www.altiuzreports.com