Hola Elias, Este es un bug que está corregido en la nueva versión 2.1.0 que se publicará en nada.
El problema es que si no defines un SignerRole, se produce el NullPointerException: http://forja.uji.es/plugins/scmsvn/viewcvs.php/tags/CryptoApplet_2.0.5/ujiApplet/src/main/java/es/uji/dsign/applet2/SignatureThread.java?revision=100&root=cryptoapplet&view=markup Para evitar esta situación, utiliza la función "setXadesSignerRole" que se expone desde JavaScript para definir el rol del firmante: http://proyectostic.uji.es/pr/cryptoapplet/docu/wiki/doku.php#funciones_javascript --- Salut, ==================================== Ricardo Borillo Domenech http://xml-utils.com 2010/1/11 Elías Breijo <[email protected]>: > Sigo teniendo problemas con CryptoApplet. Ahora se me carga correctamente el > applet pero a la hora de firmar se lanza un NullPointerException. El > contenido de la consola es el siguiente: > > Java Plug-in 1.6.0_15 > Usar versión JRE 1.6.0_15-b03 Java HotSpot(TM) Client VM > Directorio local del usuario = C:\Documents and Settings\T02074.IBERIA > ---------------------------------------------------- > c: borrar ventana de consola > f: finalizar objetos en la cola de finalización > g: liberación de recursos > h: presentar este mensaje de ayuda > l: volcar lista del cargador de clases > m: imprimir sintaxis de memoria > o: activar registro > q: ocultar consola > r: recargar configuración de norma > s: volcar propiedades del sistema y de despliegue > t: volcar lista de subprocesos > v: volcar pila de subprocesos > x: borrar antememoria del cargador de clases > 0-5: establecer nivel de rastreo en <n> > ---------------------------------------------------- > Reading certificates from 7504 > http://localhost:8080/facturae-web/jars/ujiApplet-2.0.5.jar | C:\Documents > and Settings\T02074.IBERIA\Datos de > programa\Sun\Java\Deployment\cache\6.0\54\6f695c36-63629e1c.idx > Reading certificates from 29462 > http://localhost:8080/facturae-web/jars/jakarta-log4j-1.2.6.jar | > C:\Documents and Settings\T02074.IBERIA\Datos de > programa\Sun\Java\Deployment\cache\6.0\13\350c9e0d-79d9d2f3.idx > Reading certificates from 20632 > http://localhost:8080/facturae-web/jars/ujiCrypto-2.0.5.jar | C:\Documents > and Settings\T02074.IBERIA\Datos de > programa\Sun\Java\Deployment\cache\6.0\26\1ff9789a-45d76341.idx > Creando handler clander ... > User Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.16) > Gecko/2009120208 Firefox/3.0.16 GTB6 (.NET CLR 3.5.30729) > Reading certificates from 152282 > http://localhost:8080/facturae-web/jars/bcprov-jdk15-138.jar | C:\Documents > and Settings\T02074.IBERIA\Datos de > programa\Sun\Java\Deployment\cache\6.0\63\ca6117f-21b7aa10.idx > navigator: MOZILLA > Reading certificates from 3676 > http://localhost:8080/facturae-web/jars/ujiUtils-2.0.5.jar | C:\Documents > and Settings\T02074.IBERIA\Datos de > programa\Sun\Java\Deployment\cache\6.0\40\35bb5d28-70bb882d.idx > _pk11LibPath: C:\Archivos de programa\Mozilla Firefox\softokn3.dll > Obtenido path null > Saliendo false por el ProviderException... > Returning ksh= {mozilla=es.uji.dsign.crypto.keystore.pkcs11keyst...@9aca82} > You chose to open this file: C:\Documents and > Settings\T02074.IBERIA\Escritorio\software\CryptoApplet\camerfirma\cert_demo.p12 > actionPerformed() > Returning ksh= {mozilla=es.uji.dsign.crypto.keystore.pkcs11keyst...@9aca82, > pkcs12=es.uji.dsign.crypto.keystore.pkcs12keyst...@1ab7626} > Reading certificates from 152282 > http://localhost:8080/facturae-web/jars/bcprov-jdk15-138.jar | C:\Documents > and Settings\T02074.IBERIA\Datos de > programa\Sun\Java\Deployment\cache\6.0\63\ca6117f-21b7aa10.idx > STORE: PKCS12KeyStore > START: 1SIGNATURECOUNT: 1 > Certificate Alias: {17ee65dd-65ad-4858-af43-9b7ad9198318} > java.lang.NullPointerException > at es.uji.dsign.applet2.SignatureThread.run(SignatureThread.java:156) > > Por cierto, gracias por haberme ayudado a solucionar mi anterior problema. > > > > El 17 de diciembre de 2009 13:28, Ricardo Borillo > <[email protected]> escribió: >> >> Hola Elias, >> >> Antes de ejecutar el applet, pulsa "x" para borrar la cache y realizar >> la carga completa del applet. >> En esa traza no estamos viendo los intentos de descarga de los JARs, >> los cuales deberían de aparecer antes ... >> >> --- >> Salut, >> ==================================== >> Ricardo Borillo Domenech >> http://xml-utils.com >> >> >> >> 2009/12/17 Elías Breijo <[email protected]>: >> > Hola Javier. >> > >> > Ya había visto ese problema y ya los había incluido. Gracias de todos >> > modos. >> > >> > >> > >> > La traza completa de la consola es la siguiente: >> > >> > Java Plug-in 1.6.0_15 >> > Usar versión JRE 1.6.0_15-b03 Java HotSpot(TM) Client VM >> > Directorio local del usuario = C:\Documents and Settings\T02074.IBERIA >> > >> > cargar: clase es.uji.dsign.applet2.SignatureApplet no encontrada. >> > java.lang.ClassNotFoundException: es.uji.dsign.applet2.SignatureApplet >> > at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) >> > at java.lang.ClassLoader.loadClass(Unknown Source) >> > at java.lang.ClassLoader.loadClass(Unknown Source) >> > at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) >> > at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) >> > at >> > sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown >> > Source) >> > at java.lang.Thread.run(Unknown Source) >> > Caused by: java.io.IOException: open HTTP connection >> > >> > failed:http://localhost:8080/facturae-web/jars/es/uji/dsign/applet2/SignatureApplet.class >> > at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) >> > at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) >> > at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) >> > at java.security.AccessController.doPrivileged(Native Method) >> > ... 7 more >> > Excepción: java.lang.ClassNotFoundException: >> > es.uji.dsign.applet2.SignatureApplet >> > Nivel de rastreo establecido en 5: todos... terminado. >> > basic: Receptor de progreso agregado: >> > sun.plugin.util.grayboxpainter$grayboxprogressliste...@1bfc93a >> > network: No se ha encontrado entrada de caché [URL: >> > >> > http://localhost:8080/facturae-web/jars/es/uji/dsign/applet2/SignatureApplet.class, >> > versión: null] >> > network: Conectando >> > >> > http://localhost:8080/facturae-web/jars/es/uji/dsign/applet2/SignatureApplet.class >> > con proxy=DIRECT >> > network: Conectando http://localhost:8080/ con proxy=DIRECT >> > network: Conectar >> > >> > http://localhost:8080/facturae-web/jars/es/uji/dsign/applet2/SignatureApplet.class >> > con cookie "com.tecno.facturae.LOCALE_COOKIE=es; >> > JSESSIONID=D1F9C51C61264C1C9BEE890C3B416F11" >> > network: No se ha encontrado entrada de caché [URL: >> > >> > http://localhost:8080/facturae-web/jars/es/uji/dsign/applet2/SignatureApplet.class, >> > versión: null] >> > network: Conectando >> > >> > http://localhost:8080/facturae-web/jars/es/uji/dsign/applet2/SignatureApplet.class >> > con proxy=DIRECT >> > network: Conectar >> > >> > http://localhost:8080/facturae-web/jars/es/uji/dsign/applet2/SignatureApplet.class >> > con cookie "com.tecno.facturae.LOCALE_COOKIE=es; >> > JSESSIONID=D1F9C51C61264C1C9BEE890C3B416F11" >> > basic: cargar: clase es.uji.dsign.applet2.SignatureApplet no encontrada. >> > cargar: clase es.uji.dsign.applet2.SignatureApplet no encontrada. >> > java.lang.ClassNotFoundException: es.uji.dsign.applet2.SignatureApplet >> > at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) >> > at java.lang.ClassLoader.loadClass(Unknown Source) >> > at java.lang.ClassLoader.loadClass(Unknown Source) >> > at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) >> > at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) >> > at >> > sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown >> > Source) >> > at java.lang.Thread.run(Unknown Source) >> > Caused by: java.io.IOException: open HTTP connection >> > >> > failed:http://localhost:8080/facturae-web/jars/es/uji/dsign/applet2/SignatureApplet.class >> > at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) >> > at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) >> > at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) >> > at java.security.AccessController.doPrivileged(Native Method) >> > ... 7 more >> > Excepción: java.lang.ClassNotFoundException: >> > es.uji.dsign.applet2.SignatureApplet >> > >> > >> > >> > El 17 de diciembre de 2009 13:21, javier ramirez >> > <[email protected]> >> > escribió: >> >> >> >> Elias, pero en la etiqueta applet te faltan en archive declarar los jar >> >> ujipplet y cryptoapplet, tal vez te falten otros. >> >> >> >> >> >> El 17 de diciembre de 2009 09:14, Elías Breijo <[email protected]> >> >> escribió: >> >>> >> >>> Me parece que el problema está en que pretende bajarse el .class del >> >>> applet en lugar de bajarse el .jar que lo contiene. ¿No sabrás como se >> >>> soluciona esto? >> >>> >> >>> El 17 de diciembre de 2009 13:04, Ricardo Borillo >> >>> <[email protected]> escribió: >> >>>> >> >>>> Hola Elias, >> >>>> >> >>>> Tienes que pulsar 5 en la consola java, para activar el máximo "nivel >> >>>> de rastreo". >> >>>> Ahí seguramente podrás ver como la máquina virtual intenta ir >> >>>> recuperando los JARs del applet y verás si puede o no hacerlo. >> >>>> >> >>>> --- >> >>>> Salut, >> >>>> ==================================== >> >>>> Ricardo Borillo Domenech >> >>>> http://xml-utils.com >> >>>> >> >>>> >> >>>> >> >>>> 2009/12/17 Elías Breijo <[email protected]>: >> >>>> > Lo que me saca la consola es lo siguiente: >> >>>> > >> >>>> > Java Plug-in 1.6.0_15 >> >>>> > Usar versión JRE 1.6.0_15-b03 Java HotSpot(TM) Client VM >> >>>> > Directorio local del usuario = C:\Documents and >> >>>> > Settings\T02074.IBERIA >> >>>> > >> >>>> > ---------------------------------------------------- >> >>>> > c: borrar ventana de consola >> >>>> > f: finalizar objetos en la cola de finalización >> >>>> > g: liberación de recursos >> >>>> > h: presentar este mensaje de ayuda >> >>>> > l: volcar lista del cargador de clases >> >>>> > m: imprimir sintaxis de memoria >> >>>> > o: activar registro >> >>>> > q: ocultar consola >> >>>> > r: recargar configuración de norma >> >>>> > s: volcar propiedades del sistema y de despliegue >> >>>> > t: volcar lista de subprocesos >> >>>> > v: volcar pila de subprocesos >> >>>> > x: borrar antememoria del cargador de clases >> >>>> > 0-5: establecer nivel de rastreo en <n> >> >>>> > ---------------------------------------------------- >> >>>> > >> >>>> > cargar: clase es.uji.dsign.applet2.SignatureApplet no encontrada. >> >>>> > java.lang.ClassNotFoundException: >> >>>> > es.uji.dsign.applet2.SignatureApplet >> >>>> > at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown >> >>>> > Source) >> >>>> > at java.lang.ClassLoader.loadClass(Unknown Source) >> >>>> > at java.lang.ClassLoader.loadClass(Unknown Source) >> >>>> > at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown >> >>>> > Source) >> >>>> > at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown >> >>>> > Source) >> >>>> > at >> >>>> > >> >>>> > sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown >> >>>> > Source) >> >>>> > at java.lang.Thread.run(Unknown Source) >> >>>> > Caused by: java.io.IOException: open HTTP connection >> >>>> > >> >>>> > >> >>>> > failed:http://localhost:8080/facturae-web/jars/es/uji/dsign/applet2/SignatureApplet.class >> >>>> > at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown >> >>>> > Source) >> >>>> > at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown >> >>>> > Source) >> >>>> > at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) >> >>>> > at java.security.AccessController.doPrivileged(Native Method) >> >>>> > ... 7 more >> >>>> > Excepción: java.lang.ClassNotFoundException: >> >>>> > es.uji.dsign.applet2.SignatureApplet >> >>>> > >> >>>> > >> >>>> > El 17 de diciembre de 2009 10:43, Ricardo Borillo >> >>>> > <[email protected]> escribió: >> >>>> >> >> >>>> >> Hola Elias, >> >>>> >> >> >>>> >> Para poder ayudarte debes adjuntar el error que se registra en la >> >>>> >> consola java cuando se intenta cargar el applet. >> >>>> >> >> >>>> >> --- >> >>>> >> Salut, >> >>>> >> ==================================== >> >>>> >> Ricardo Borillo Domenech >> >>>> >> http://xml-utils.com >> >>>> >> >> >>>> >> >> >>>> >> >> >>>> >> 2009/12/17 Elías Breijo <[email protected]>: >> >>>> >> > Hola a todos necesito usar CryptoApplet desde una aplicación >> >>>> >> > J2EE y >> >>>> >> > no >> >>>> >> > soy >> >>>> >> > capaz de que se me cargue el applet. El código de mi página jsp >> >>>> >> > es >> >>>> >> > el >> >>>> >> > siguiente: >> >>>> >> > >> >>>> >> > <div class="applet"> >> >>>> >> > <jsp:plugin name="CryptoApplet" >> >>>> >> > code="es.uji.dsign.applet2.SignatureApplet" >> >>>> >> > width="0" >> >>>> >> > height="0" >> >>>> >> > >> >>>> >> > >> >>>> >> > >> >>>> >> > >> >>>> >> > archive="bcprov-jdk15-138.jar,bcmail-jdk15-138.jar,bctsp-jdk15-138.jar,xalan.jar,xmlsec.jar,myxmlsec.jar,jakarta-log4j-1.2.6.jar" >> >>>> >> > codebase="jars" type="applet" jreversion="1.5"> >> >>>> >> > <jsp:params> >> >>>> >> > <jsp:param name="mayscript" value="true"/> >> >>>> >> > <jsp:param name="signFormat" >> >>>> >> > value="es.uji.dsign.crypto.XAdESSignatureFactory"/> >> >>>> >> > <jsp:param name="signInputParams" >> >>>> >> > value="es.uji.dsign.io.URLInputParams"/> >> >>>> >> > <jsp:param name="urlInput" >> >>>> >> > value="GetUnsignedInvoiceAction.do"/> >> >>>> >> > <jsp:param name="signOutputParams" >> >>>> >> > value="es.uji.dsign.io.URLOutputParams"/> >> >>>> >> > <jsp:param name="urlOutput" >> >>>> >> > value="PutSignedInvoiceAction.do"/> >> >>>> >> > </jsp:params> >> >>>> >> > <jsp:fallback> >> >>>> >> > <B>Unable to start plugin!</B> >> >>>> >> > </jsp:fallback> >> >>>> >> > </jsp:plugin> >> >>>> >> > <script type="text/javascript"> >> >>>> >> > function onInitOk(){ >> >>>> >> > alert('El applet se ha instalado con exito'); >> >>>> >> > } >> >>>> >> > </script> >> >>>> >> > </div> >> >>>> >> > >> >>>> >> > Gracias por anticipido a cualquiera que pueda ayudarme. >> >>>> >> > >> >>>> >> > _______________________________________________ >> >>>> >> > CryptoApplet mailing list >> >>>> >> > [email protected] >> >>>> >> > http://llistes.uji.es/mailman/listinfo/cryptoapplet >> >>>> >> > >> >>>> >> > >> >>>> > >> >>>> > >> >>> >> >>> >> >>> _______________________________________________ >> >>> CryptoApplet mailing list >> >>> [email protected] >> >>> http://llistes.uji.es/mailman/listinfo/cryptoapplet >> >>> >> >> >> > >> > > > _______________________________________________ CryptoApplet mailing list [email protected] http://llistes.uji.es/mailman/listinfo/cryptoapplet
