Hola Rafael, Sí que es un poco extraño ...
Lo que parece que pasa es que no es capaz de acceder a la clave privada, por eso te dice que no tiene la codificación adecuada o, al ser nulo, falla y da una excepción. ¿Puedes pegar la traza entera por si vemos algo? --- Salut, ==================================== Ricardo Borillo Domenech http://xml-utils.com 2010/3/3 <[email protected]>: > He traceado todo el código siguiendo la pila de la excepción, y el > asunto es rarísimo, porque el error según se lee en la excepción, > parece que es de la clave privada, pero la clave llega intacta a > > sap.setCrypto((PrivateKey) pk, chain, null, > PdfSignatureAppearance.VERISIGN_SIGNED); > > incluso le he hecho un casting por si acaso, y además es la misma que > se usa en la primera vez que se firma, que sí funciona. > > La verdad que no tengo ni idea de que puede ser. > > También he buscado algo por internet, pero nada. > > Ojalá alguien sepa algo!!! Porque de otra manera me voy a tener que > dedicar a reiniciar el navegador cada vez que quiera firmar :-S > > Muchas Gracias!!! > > Rafa > > > > Quoting Ricardo Borillo <[email protected]>: > >> Hola Rafael, >> >> ¿Qué versión de CryptoApplet utilizas? >> ¿Te pasa lo mismo con el test que tenemos publicado? >> >> http://proyectostic.uji.es/pr/cryptoapplet/samples/v2.1.0/test.html >> >> --- >> Salut, >> ==================================== >> Ricardo Borillo Domenech >> http://xml-utils.com >> >> >> >> 2010/3/2 <[email protected]>: >>> Muy buenas a todos, >>> >>> Estoy usando CryptoApplet en una aplicación y ya lo tengo >>> perfectamente integrado en el xhtml y con las funciones JavaScript >>> necesarias, y me va muy bien, pero tengo un problema que no se de que >>> puede ser, lo explico. >>> >>> El caso es que al acceder a la web en cuestión, se carga el applet >>> (aparece la consola de Java), y me deja firmar la primera vez >>> correctamente y sin problemas, por cierto, utilizo la función >>> signDataUrlToUrl(urlIn, urlOut). >>> Pero al intentar firmar la segunda vez consecutivamente me aparece la >>> siguiente excepción con el mensaje "No se ha podido calcular la >>> firma". Sin tocar absolutamente nada, la segunda vez que intento >>> firmar consecutivamente me aparece eso. >>> >>> La única solución es volver a cargar el applet "completamente desde >>> cero", es decir, no me vale recargar la página, porque el applet ya >>> está cargado, tengo que cerrar el navegador y volverlo a arrancar, o >>> cambiar de página y esperar a que el applet (consola de Java) se cierre. >>> >>> Espero haberme explicado bien, ¿alguien tiene alguna pista de lo que >>> puede pasar? >>> >>> Muchas gracias!!! >>> >>> Rafa >>> >>> ***********************EXCEPCION********************************************** >>> >>> Using provider: SunPKCS11-NSS >>> ExceptionConverter: java.security.InvalidKeyException: Private key >>> must be instance of RSAPrivate(Crt)Key or have PKCS#8 encoding >>> at >>> sun.security.pkcs11.P11RSAKeyFactory.implTranslatePrivateKey(P11RSAKeyFactory.java:84) >>> at >>> sun.security.pkcs11.P11KeyFactory.engineTranslateKey(P11KeyFactory.java:115) >>> at >>> sun.security.pkcs11.P11KeyFactory.convertKey(P11KeyFactory.java:48) >>> at >>> sun.security.pkcs11.P11Signature.engineInitSign(P11Signature.java:326) >>> at >>> java.security.Signature$Delegate.engineInitSign(Signature.java:1095) >>> at java.security.Signature.initSign(Signature.java:480) >>> at com.lowagie.text.pdf.PdfPKCS7.<init>(PdfPKCS7.java:420) >>> at >>> com.lowagie.text.pdf.PdfSigGenericPKCS.setSignInfo(PdfSigGenericPKCS.java:106) >>> at >>> com.lowagie.text.pdf.PdfSignatureAppearance.preClose(PdfSignatureAppearance.java:928) >>> at >>> com.lowagie.text.pdf.PdfSignatureAppearance.preClose(PdfSignatureAppearance.java:847) >>> at com.lowagie.text.pdf.PdfStamper.close(PdfStamper.java:183) >>> at >>> es.uji.security.crypto.pdf.PDFSignatureFactory.formatSignature(PDFSignatureFactory.java:215) >>> at >>> es.uji.security.ui.applet.SignatureThread.run(SignatureThread.java:298) >>> DEBUG thread-sig-1 es.uji.security.ui.applet.SignatureThread >>> [18:37:56,453] - The signature is not valid >>> java.lang.NullPointerException >>> at >>> es.uji.security.ui.applet.SignatureThread.run(SignatureThread.java:315) >>> >>> ****************************************************************************** >>> >>> _______________________________________________ >>> 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 > > _______________________________________________ CryptoApplet mailing list [email protected] http://llistes.uji.es/mailman/listinfo/cryptoapplet
