You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@santuario.apache.org by Angel Contreras <ac...@mail.bcb.gov.bo> on 2003/06/11 03:42:51 UTC

RE: Signing a document in AppServer another log

Thank you Paul,
but, I have another trouble now,
Here is my fragment code:
            DocumentBuilderFactory dbf = new org.apache.xerces.jaxp.DocumentBuilderFactoryImpl ();
            dbf.setNamespaceAware (true);
            DocumentBuilder db = dbf.newDocumentBuilder ();
            db.setErrorHandler(new org.apache.xml.security.utils.IgnoreAllErrorHandler());
            java.io.File f = new java.io.File("/tfi/logs/docenv.xml");
            String currentSystemId = f.toURL().toString();
            doc = db.parse (new java.io.FileInputStream(f));
            CachedXPathAPI xpathAPI = new CachedXPathAPI();
            Element contexto = XMLUtils.createDSctx (doc, "ds", Constants.SignatureSpecNS);
            Element dsElem = (Element) xpathAPI.selectSingleNode (doc, "//ds:Signature", contexto);
            firma = new XMLSignature (dsElem, currentSystemId);

It looks good to me, but here is the message log:

[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: java.lang.NullPointerException  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.xerces.dom.CoreDocumentImpl.importNode(CoreDocumentImpl.java:989)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.xerces.dom.CoreDocumentImpl.importNode(CoreDocumentImpl.java:957)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.xerces.dom.CoreDocumentImpl.importNode(CoreDocumentImpl.java:903)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.xml.security.signature.SignedInfo.<init>(SignedInfo.java:198)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.xml.security.signature.XMLSignature.<init>(XMLSignature.java:281)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at transferencia.VerificaFirma.verFirma(Unknown Source)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at transferencia.VerificaFirma.<init>(Unknown Source)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at transferencia.TransferenciaImpl.solicitaTransferencia(Unknown Source)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at transferencia.TransferenciaIF_Tie.invoke_solicitaTransferencia(TransferenciaIF_Tie.java:45)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at transferencia.TransferenciaIF_Tie.processingHook(TransferenciaIF_Tie.java:105)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:219)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at com.sun.xml.rpc.server.http.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:280)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:69)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at java.security.AccessController.doPrivileged(Native Method)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:157)  
[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)  

Thank you,

> -----Mensaje original-----
> De: Paul Adams [mailto:padams@ptc.com]
> Enviado el: Martes, 10 de Junio de 2003 10:06 a.m.
> Para: acontreras@mail.bcb.gov.bo; security-dev@xml.apache.org
> Asunto: Re: Signing a document in AppServer
> 
> 
> I ran into the same problem previously and had to work around 
> it in my 
> code.  Here's the mail I sent and how I got around it.  I 
> still feel that 
> the IdResolver class should be fixed to make use of generic 
> DOM interfaces 
> and not be hardcoded to xerces.
> 
> I had to do something like:
> DocumentBuilderFactory builderFactory = new 
> org.apache.xerces.jaxp.DocumentBuilderFactoryImpl ();
> 
> -- 04/25/03 9:05 AM --
> 
> While testing I ran into the following bit of code in 
> org.apahe.xml.security.utils.IdResolver
> 
>   public static void registerElementById(Element element, 
> String idValue) {
> 
>      Document doc = element.getOwnerDocument();
> 
>      ((org.apache.xerces.dom.DocumentImpl) doc).putIdentifier(idValue,
>              element);
>   }
> 
> The class cast here causes problems if the default XML parser is not 
> xerces.  Running my code within the Sun ONE 7.0 application 
> server failed 
> because it uses the crimson parser by default.  To get around 
> the problem I 
> had to manually force my code to make use of xerces....
> 
> I couldn't do something like:
> // using javax.xml.parsers.DocumentBuilderFactory
> DocumentBuilderFactory builderFactory = 
> DocumentBuilderFactory.newInstance 
> ();
> ... build/parse the DOM to sign ...
> 
> and have the signature code reliably work....
> 
> Shouldn't any code that makes an assumption on the 
> implementation used be 
> modified to make use of *only* the org.w3c interfaces?
> 
> Rgds,
> -paul
> 
> 
> 
> 
> On Mon, 9 Jun 2003 19:44:00 -0400, Angel Contreras 
> <ac...@mail.bcb.gov.bo> wrote:
> 
> > Hi,
> >
> > I'm having trouble signing a document. I´m using a Sun One 
> AppServer7. 
> > This
> > is the logs message:
> >
> > [09/Jun/2003:19:33:48] WARNING (13874):  CORE3283: stderr:
> > java.lang.ClassCastException
> > [09/Jun/2003:19:33:48] WARNING (13874):  CORE3283: stderr: at
> > 
> org.apache.xml.security.utils.IdResolver.registerElementById(I
> dResolver.java 
> >
> >
> > :111)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> org.apache.xml.security.signature.ObjectContainer.setId(Object
> Container.java 
> >
> >
> > :123)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > transferencia.FirmaDigital.firma(Unknown Source)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > transferencia.FirmaDigital.<init>(Unknown Source)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> transferencia.TransferenciaImpl.solicitaTransferencia(Unknown Source)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> transferencia.TransferenciaIF_Tie.invoke_solicitaTransferencia
> (Transferencia 
> >
> >
> > IF_Tie.java:45)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> transferencia.TransferenciaIF_Tie.processingHook(Transferencia
> IF_Tie.java:10 
> >
> >
> > 5)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandle
> r.java:219)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> com.sun.xml.rpc.server.http.JAXRPCServletDelegate.doPost(JAXRP
> CServletDelega 
> >
> >
> > te.java:280)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet
> .java:69)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> org.apache.catalina.core.StandardWrapperValve.invokeServletSer
> vice(StandardW 
> >
> >
> > rapperValve.java:720)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> org.apache.catalina.core.StandardWrapperValve.access$000(Stand
> ardWrapperValv 
> >
> >
> > e.java:118)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> org.apache.catalina.core.StandardWrapperValve$1.run(StandardWr
> apperValve.jav 
> >
> >
> > a:278)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > java.security.AccessController.doPrivileged(Native Method)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.ja 
> >
> >
> > va:274)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:505) 
> >
> >
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.ja 
> >
> >
> > va:212)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:505) 
> >
> >
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:203 
> >
> >
> > )
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:505) 
> >
> >
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > 
> com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSA
> PIProcessor.ja 
> >
> >
> > va:157)
> > [09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> > com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)
> >
> > My classes are the same that I use in JWSDP 1.0.01, but I 
> don´t have any
> > problem in It.
> >
> > Thanks,
> >
> > Angel
> >
> >
> 
> 
> 
> -- 
> Using M2, Opera's revolutionary e-mail client: 
> http://www.opera.com/m2/
> 


RE: Signing a document in AppServer another log

Posted by Angel Contreras <ac...@mail.bcb.gov.bo>.
Ok.
I've tried with XpathAPI and CachedXpathAPI, both are dicovering the
signature element. The dsElem is not null. I've verified both things.

Could you send me a copy to your code?.

Angel Contreras Joffré
Banco Central de Bolivia
Departamento de Desarrollo
Telf. 591-2-2409090 int. 4922


> -----Mensaje original-----
> De: Paul Adams [mailto:padams@ptc.com]
> Enviado el: Miércoles, 11 de Junio de 2003 10:31 a.m.
> Para: acontreras@mail.bcb.gov.bo
> CC: security-dev@xml.apache.org
> Asunto: Re: Signing a document in AppServer another log
>
>
> best guess would be to look at:
>
> org.apache.xml.security.signature.SignedInfo line 198 and
> start there.  Have you verified that xpath is discovering the
> signature element?  Is the dsElem variable null?  My code is
> a bit more simplistic, it actually walks through the parsed
> dom to find the elements it needs.
>
> Angel Contreras wrote:
>
> >Thank you Paul,
> >but, I have another trouble now,
> >Here is my fragment code:
> >            DocumentBuilderFactory dbf = new
> org.apache.xerces.jaxp.DocumentBuilderFactoryImpl ();
> >            dbf.setNamespaceAware (true);
> >            DocumentBuilder db = dbf.newDocumentBuilder ();
> >            db.setErrorHandler(new
> org.apache.xml.security.utils.IgnoreAllErrorHandler());
> >            java.io.File f = new
> java.io.File("/tfi/logs/docenv.xml");
> >            String currentSystemId = f.toURL().toString();
> >            doc = db.parse (new java.io.FileInputStream(f));
> >            CachedXPathAPI xpathAPI = new CachedXPathAPI();
> >            Element contexto = XMLUtils.createDSctx (doc,
> "ds", Constants.SignatureSpecNS);
> >            Element dsElem = (Element)
> xpathAPI.selectSingleNode (doc, "//ds:Signature", contexto);
> >            firma = new XMLSignature (dsElem, currentSystemId);
> >
> >It looks good to me, but here is the message log:
> >
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> java.lang.NullPointerException
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.xerces.dom.CoreDocumentImpl.importNode(CoreDocument
> Impl.java:989)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.xerces.dom.CoreDocumentImpl.importNode(CoreDocument
> Impl.java:957)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.xerces.dom.CoreDocumentImpl.importNode(CoreDocument
> Impl.java:903)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.xml.security.signature.SignedInfo.<init>(SignedInfo
> .java:198)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.xml.security.signature.XMLSignature.<init>(XMLSigna
> ture.java:281)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at transferencia.VerificaFirma.verFirma(Unknown Source)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at transferencia.VerificaFirma.<init>(Unknown Source)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> transferencia.TransferenciaImpl.solicitaTransferencia(Unknown
> Source)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> transferencia.TransferenciaIF_Tie.invoke_solicitaTransferencia
> (TransferenciaIF_Tie.java:45)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> transferencia.TransferenciaIF_Tie.processingHook(Transferencia
> IF_Tie.java:105)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandle
> r.java:219)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> com.sun.xml.rpc.server.http.JAXRPCServletDelegate.doPost(JAXRP
> CServletDelegate.java:280)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet
> .java:69)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.catalina.core.StandardWrapperValve.invokeServletSer
> vice(StandardWrapperValve.java:720)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.catalina.core.StandardWrapperValve.access$000(Stand
> ardWrapperValve.java:118)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.catalina.core.StandardWrapperValve$1.run(StandardWr
> apperValve.java:278)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at java.security.AccessController.doPrivileged(Native Method)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.java:274)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:505)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.java:212)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:505)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:203)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:505)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at
> com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSA
> PIProcessor.java:157)
> >[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr:
> at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)
> >
> >Thank you,
> >
> >
> >
> >>-----Mensaje original-----
> >>De: Paul Adams [mailto:padams@ptc.com]
> >>Enviado el: Martes, 10 de Junio de 2003 10:06 a.m.
> >>Para: acontreras@mail.bcb.gov.bo; security-dev@xml.apache.org
> >>Asunto: Re: Signing a document in AppServer
> >>
> >>
> >>I ran into the same problem previously and had to work around
> >>it in my
> >>code.  Here's the mail I sent and how I got around it.  I
> >>still feel that
> >>the IdResolver class should be fixed to make use of generic
> >>DOM interfaces
> >>and not be hardcoded to xerces.
> >>
> >>I had to do something like:
> >>DocumentBuilderFactory builderFactory = new
> >>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl ();
> >>
> >>-- 04/25/03 9:05 AM --
> >>
> >>While testing I ran into the following bit of code in
> >>org.apahe.xml.security.utils.IdResolver
> >>
> >>  public static void registerElementById(Element element,
> >>String idValue) {
> >>
> >>     Document doc = element.getOwnerDocument();
> >>
> >>     ((org.apache.xerces.dom.DocumentImpl)
> doc).putIdentifier(idValue,
> >>             element);
> >>  }
> >>
> >>The class cast here causes problems if the default XML
> parser is not
> >>xerces.  Running my code within the Sun ONE 7.0 application
> >>server failed
> >>because it uses the crimson parser by default.  To get around
> >>the problem I
> >>had to manually force my code to make use of xerces....
> >>
> >>I couldn't do something like:
> >>// using javax.xml.parsers.DocumentBuilderFactory
> >>DocumentBuilderFactory builderFactory =
> >>DocumentBuilderFactory.newInstance
> >>();
> >>... build/parse the DOM to sign ...
> >>
> >>and have the signature code reliably work....
> >>
> >>Shouldn't any code that makes an assumption on the
> >>implementation used be
> >>modified to make use of *only* the org.w3c interfaces?
> >>
> >>Rgds,
> >>-paul
> >>
> >>
> >>
> >>
> >>On Mon, 9 Jun 2003 19:44:00 -0400, Angel Contreras
> >><ac...@mail.bcb.gov.bo> wrote:
> >>
> >>
> >>
> >>>Hi,
> >>>
> >>>I'm having trouble signing a document. I´m using a Sun One
> >>>
> >>>
> >>AppServer7.
> >>
> >>
> >>>This
> >>>is the logs message:
> >>>
> >>>[09/Jun/2003:19:33:48] WARNING (13874):  CORE3283: stderr:
> >>>java.lang.ClassCastException
> >>>[09/Jun/2003:19:33:48] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>org.apache.xml.security.utils.IdResolver.registerElementById(I
> >>dResolver.java
> >>
> >>
> >>>:111)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>org.apache.xml.security.signature.ObjectContainer.setId(Object
> >>Container.java
> >>
> >>
> >>>:123)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>transferencia.FirmaDigital.firma(Unknown Source)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>transferencia.FirmaDigital.<init>(Unknown Source)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>transferencia.TransferenciaImpl.solicitaTransferencia(Unknow
> n Source)
> >>
> >>
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>transferencia.TransferenciaIF_Tie.invoke_solicitaTransferencia
> >>(Transferencia
> >>
> >>
> >>>IF_Tie.java:45)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>transferencia.TransferenciaIF_Tie.processingHook(Transferencia
> >>IF_Tie.java:10
> >>
> >>
> >>>5)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandle
> >>r.java:219)
> >>
> >>
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>com.sun.xml.rpc.server.http.JAXRPCServletDelegate.doPost(JAXRP
> >>CServletDelega
> >>
> >>
> >>>te.java:280)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet
> >>.java:69)
> >>
> >>
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>org.apache.catalina.core.StandardWrapperValve.invokeServletSer
> >>vice(StandardW
> >>
> >>
> >>>rapperValve.java:720)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>org.apache.catalina.core.StandardWrapperValve.access$000(Stand
> >>ardWrapperValv
> >>
> >>
> >>>e.java:118)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>org.apache.catalina.core.StandardWrapperValve$1.run(StandardWr
> >>apperValve.jav
> >>
> >>
> >>>a:278)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>java.security.AccessController.doPrivileged(Native Method)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> >>rapperValve.ja
> >>
> >>
> >>>va:274)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> >>ine.java:505)
> >>
> >>
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>org.apache.catalina.core.StandardContextValve.invoke(StandardC
> >>ontextValve.ja
> >>
> >>
> >>>va:212)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> >>ine.java:505)
> >>
> >>
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> >>Valve.java:203
> >>
> >>
> >>>)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> >>ine.java:505)
> >>
> >>
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>
> >>>
> >>>
> >>com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSA
> >>PIProcessor.ja
> >>
> >>
> >>>va:157)
> >>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
> >>>com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)
> >>>
> >>>My classes are the same that I use in JWSDP 1.0.01, but I
> >>>
> >>>
> >>don´t have any
> >>
> >>
> >>>problem in It.
> >>>
> >>>Thanks,
> >>>
> >>>Angel
> >>>
> >>>
> >>>
> >>>
> >>
> >>--
> >>Using M2, Opera's revolutionary e-mail client:
> >>http://www.opera.com/m2/
> >>
> >>
> >>
> >
> >
> >
>


Re: Signing a document in AppServer another log

Posted by Paul Adams <pa...@ptc.com>.
best guess would be to look at:

org.apache.xml.security.signature.SignedInfo line 198 and start there.  Have you verified that xpath is discovering the signature element?  Is the dsElem variable null?  My code is a bit more simplistic, it actually walks through the parsed dom to find the elements it needs.

Angel Contreras wrote:

>Thank you Paul,
>but, I have another trouble now,
>Here is my fragment code:
>            DocumentBuilderFactory dbf = new org.apache.xerces.jaxp.DocumentBuilderFactoryImpl ();
>            dbf.setNamespaceAware (true);
>            DocumentBuilder db = dbf.newDocumentBuilder ();
>            db.setErrorHandler(new org.apache.xml.security.utils.IgnoreAllErrorHandler());
>            java.io.File f = new java.io.File("/tfi/logs/docenv.xml");
>            String currentSystemId = f.toURL().toString();
>            doc = db.parse (new java.io.FileInputStream(f));
>            CachedXPathAPI xpathAPI = new CachedXPathAPI();
>            Element contexto = XMLUtils.createDSctx (doc, "ds", Constants.SignatureSpecNS);
>            Element dsElem = (Element) xpathAPI.selectSingleNode (doc, "//ds:Signature", contexto);
>            firma = new XMLSignature (dsElem, currentSystemId);
>
>It looks good to me, but here is the message log:
>
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: java.lang.NullPointerException  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.xerces.dom.CoreDocumentImpl.importNode(CoreDocumentImpl.java:989)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.xerces.dom.CoreDocumentImpl.importNode(CoreDocumentImpl.java:957)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.xerces.dom.CoreDocumentImpl.importNode(CoreDocumentImpl.java:903)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.xml.security.signature.SignedInfo.<init>(SignedInfo.java:198)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.xml.security.signature.XMLSignature.<init>(XMLSignature.java:281)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at transferencia.VerificaFirma.verFirma(Unknown Source)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at transferencia.VerificaFirma.<init>(Unknown Source)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at transferencia.TransferenciaImpl.solicitaTransferencia(Unknown Source)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at transferencia.TransferenciaIF_Tie.invoke_solicitaTransferencia(TransferenciaIF_Tie.java:45)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at transferencia.TransferenciaIF_Tie.processingHook(TransferenciaIF_Tie.java:105)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:219)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at com.sun.xml.rpc.server.http.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:280)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:69)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at java.security.AccessController.doPrivileged(Native Method)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:157)  
>[10/Jun/2003:21:29:42] WARNING (16805):  CORE3283: stderr: at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)  
>
>Thank you,
>
>  
>
>>-----Mensaje original-----
>>De: Paul Adams [mailto:padams@ptc.com]
>>Enviado el: Martes, 10 de Junio de 2003 10:06 a.m.
>>Para: acontreras@mail.bcb.gov.bo; security-dev@xml.apache.org
>>Asunto: Re: Signing a document in AppServer
>>
>>
>>I ran into the same problem previously and had to work around 
>>it in my 
>>code.  Here's the mail I sent and how I got around it.  I 
>>still feel that 
>>the IdResolver class should be fixed to make use of generic 
>>DOM interfaces 
>>and not be hardcoded to xerces.
>>
>>I had to do something like:
>>DocumentBuilderFactory builderFactory = new 
>>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl ();
>>
>>-- 04/25/03 9:05 AM --
>>
>>While testing I ran into the following bit of code in 
>>org.apahe.xml.security.utils.IdResolver
>>
>>  public static void registerElementById(Element element, 
>>String idValue) {
>>
>>     Document doc = element.getOwnerDocument();
>>
>>     ((org.apache.xerces.dom.DocumentImpl) doc).putIdentifier(idValue,
>>             element);
>>  }
>>
>>The class cast here causes problems if the default XML parser is not 
>>xerces.  Running my code within the Sun ONE 7.0 application 
>>server failed 
>>because it uses the crimson parser by default.  To get around 
>>the problem I 
>>had to manually force my code to make use of xerces....
>>
>>I couldn't do something like:
>>// using javax.xml.parsers.DocumentBuilderFactory
>>DocumentBuilderFactory builderFactory = 
>>DocumentBuilderFactory.newInstance 
>>();
>>... build/parse the DOM to sign ...
>>
>>and have the signature code reliably work....
>>
>>Shouldn't any code that makes an assumption on the 
>>implementation used be 
>>modified to make use of *only* the org.w3c interfaces?
>>
>>Rgds,
>>-paul
>>
>>
>>
>>
>>On Mon, 9 Jun 2003 19:44:00 -0400, Angel Contreras 
>><ac...@mail.bcb.gov.bo> wrote:
>>
>>    
>>
>>>Hi,
>>>
>>>I'm having trouble signing a document. I´m using a Sun One 
>>>      
>>>
>>AppServer7. 
>>    
>>
>>>This
>>>is the logs message:
>>>
>>>[09/Jun/2003:19:33:48] WARNING (13874):  CORE3283: stderr:
>>>java.lang.ClassCastException
>>>[09/Jun/2003:19:33:48] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>org.apache.xml.security.utils.IdResolver.registerElementById(I
>>dResolver.java 
>>    
>>
>>>:111)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>org.apache.xml.security.signature.ObjectContainer.setId(Object
>>Container.java 
>>    
>>
>>>:123)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>transferencia.FirmaDigital.firma(Unknown Source)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>transferencia.FirmaDigital.<init>(Unknown Source)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>transferencia.TransferenciaImpl.solicitaTransferencia(Unknown Source)
>>    
>>
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>transferencia.TransferenciaIF_Tie.invoke_solicitaTransferencia
>>(Transferencia 
>>    
>>
>>>IF_Tie.java:45)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>transferencia.TransferenciaIF_Tie.processingHook(Transferencia
>>IF_Tie.java:10 
>>    
>>
>>>5)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandle
>>r.java:219)
>>    
>>
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>com.sun.xml.rpc.server.http.JAXRPCServletDelegate.doPost(JAXRP
>>CServletDelega 
>>    
>>
>>>te.java:280)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet
>>.java:69)
>>    
>>
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>org.apache.catalina.core.StandardWrapperValve.invokeServletSer
>>vice(StandardW 
>>    
>>
>>>rapperValve.java:720)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>org.apache.catalina.core.StandardWrapperValve.access$000(Stand
>>ardWrapperValv 
>>    
>>
>>>e.java:118)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>org.apache.catalina.core.StandardWrapperValve$1.run(StandardWr
>>apperValve.jav 
>>    
>>
>>>a:278)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>java.security.AccessController.doPrivileged(Native Method)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
>>rapperValve.ja 
>>    
>>
>>>va:274)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
>>ine.java:505) 
>>    
>>
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>org.apache.catalina.core.StandardContextValve.invoke(StandardC
>>ontextValve.ja 
>>    
>>
>>>va:212)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
>>ine.java:505) 
>>    
>>
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>org.apache.catalina.core.StandardHostValve.invoke(StandardHost
>>Valve.java:203 
>>    
>>
>>>)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
>>ine.java:505) 
>>    
>>
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>
>>>      
>>>
>>com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSA
>>PIProcessor.ja 
>>    
>>
>>>va:157)
>>>[09/Jun/2003:19:33:49] WARNING (13874):  CORE3283: stderr: at
>>>com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)
>>>
>>>My classes are the same that I use in JWSDP 1.0.01, but I 
>>>      
>>>
>>don´t have any
>>    
>>
>>>problem in It.
>>>
>>>Thanks,
>>>
>>>Angel
>>>
>>>
>>>      
>>>
>>
>>-- 
>>Using M2, Opera's revolutionary e-mail client: 
>>http://www.opera.com/m2/
>>
>>    
>>
>
>  
>