Buenas de nuevo Irune, Te confirmo que no hemos implementado esa opción, la carga de certificados se hace directamente desde la interacción Java -> pkcs#11 sin pasar por las abstracciones de las NSS.
Saludos. El 28 de diciembre de 2010 16:20, Irune Prado Alberdi <[email protected]>escribió: > Buenas Paul, > > La práctica de poner el 'lock_login = false;' en el opensc no es muy > 'legal' digamos y parece que hay tarjetas que aun así no soportan acceso > múltiple (dnie) por lo que me comentan. > ____ > > Por otro lado he estado mirando que NSS a partir de la versión 3 permite > acceso simultaneo a su db > https://wiki.mozilla.org/NSS_Shared_DB_Howto > > Mirando por encima el código del CryptoApplet no sé si este puede ser el > motivo, ya que he encontrado referencias al 'secmod.db', archivo no > existente en caso de utilizar NSS en modo shared > > Voy a tirar por ahí a ver si puedo sacar algo. Me podríais confirmar si > tenéis en cuenta esta opción y si poner el lock_login a false es la única > opción contemplada hasta el momento? > > Muchas gracias :) > > > Irune Prado > ----------------------------------------- > > > > ----- Mensaje original ----- > De: "paul santapau" <[email protected]> > Para: "Llista de correu per al CryptoApplet" <[email protected]> > Enviados: Martes, 28 de Diciembre 2010 13:54:59 > Asunto: Re: [CryptoApplet] pkcs#11 en Firefox (v2.1.0) > > > Mira esto a ver si te puede ayudar Irune > > > http://www.mail-archive.com/[email protected]/msg01026.html > > > > > > El 28 de diciembre de 2010 10:29, Irune Prado Alberdi < [email protected] > > escribió: > > > Buenas Paul, > > Gracias por el consejo. > La prueba la quería hacer haciendo uso del applet que proporcionáis para la > verisón 2.1.0, sin tener que montar nada. > De todas formas el driver que se utiliza para cargar la tarjeta Izenpe > sigue siendo opensc, en la misma ubicación que el dnie por lo que no debería > haber ningún problema como dices. > ____ > > Al final he conseguido solucionar el problema instalando el último paquete > 'dni-opensc' (1.4.8-1). He mirado el contenido del archivo apt (.deb) y no > he visto nada relevante y genérico como para que afecte a opensc pero el > caso es que funciona. > > Si cargo el driver desde el applet me lee correctamente tarjetas dnie como > Izenpe. > ____ > > Ahora estoy intentado cargarlas mediante el almacén de firefox, es decir, > cargando previamente la tarjeta mediante el dispositivo de seguridad. Cuando > voy a ver los certificados en el Firefox se me pide el PIN para el > certificado y lo visualizo correctamente. > > El problema viene cuando el applet intenta cargar la lista de certificados > cuando se inicializa, se queda tostado hasta que saco la tarjeta del lector. > He esperado un tiempo suficiente pensando que igual es que el acceso es más > lento, pero se sigue quedando bloqueado y una vez que saco y reinserto la > tarjeta no me detecta ningún certificado. > > Voy a ver si hago pruebas mirando las clases MozillaKeyStoreTest y > MozillaTest que proveéis en uji-test, a ver si me familiarizo más con el > proyecto nss. ¿Me podríais dar algún consejo? > > Gracias por la rápida respuesta. > > > Irune Prado > ----------------------------------------- > > > ----- Mensaje original ----- > De: "paul santapau" < [email protected] > > Para: "Llista de correu per al CryptoApplet" < [email protected]> > Enviados: Martes, 28 de Diciembre 2010 9:45:38 > Asunto: Re: [CryptoApplet] pkcs#11 en Firefox (v2.1.0) > > > > > > Hola Irune, > > Las tarjetas que más hemos probado desde la UJI son ek DNIe y la emitida > por Sermepa. No disponemos de tarjetas de Izenpe para probar, aunque en un > principio debería funcionar correctamente. > > Existe un forma de pre-inicializar la configuración desde ujiCrypto.conf > del paquete ujiConfig, si abres ese fichero verás que al final esta la > configuración de los módulos pkcs#11 que el applet debe intentar cargar al > desplegarse en el cliente: > > 119 # > 120 # PKCS11 Devices > 121 # > 122 > 123 cryptoapplet.devices=dnie,sermepa > 124 > 125 cryptoapplet.devices.dnie.name =DNIe > 126 > cryptoapplet.devices.dnie.libraries.linux=/usr/lib/opensc-pkcs11.so,/usr/local/lib/opensc-pkcs11.so,/lib/opensc-pkcs11.so > 127 > cryptoapplet.devices.dnie.libraries.windows=c:\\windows\\system32\\UsrPkcs11.dll > 128 > 129 cryptoapplet.devices.sermepa.name =Sermepa > 130 > cryptoapplet.devices.sermepa.libraries.windows=c:\\windows\\system32\\AdvantisPKCS11.dll > > > > Puedes probar a establecerlo ahí. > > Un Saludo. > > > El 27 de diciembre de 2010 14:22, Irune Prado Alberdi < [email protected] > > escribió: > > > Buenas, > > Estoy realizando unas pruebas de concepto de CryptoApplet y no consigo > listar un certificado almacenado en una tarjeta criptográfica bajo Firefox. > > Estoy utilizando; > > - la última versión de pruebas del applet (2.1.0) > http://projectestic.uji.es/pr/cryptoapplet/samples/v2.1.0/test.html > > - Una tarjeta criptográfica Izenpe (funcioinal, lo he probado bajo IE6 > satisfactoriamente) > > - Firefox 3.6.13 > > - JRE 1.6_20 > > - De momento estoy intentando cargar el driver sin tenerlo asociando en el > almacén del Firefox como dispositivo de seguridad por si pudiera dar > problemas, es decir lo cargo desde el propio Applet. > > _______ > > Primero da la siguiente excepción > <pre> > DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1 > es.uji.security.ui.applet.JSCommands [16:41:41,600] - New access to browser > window from Applet > DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1 > es.uji.security.ui.applet.SignatureApplet [16:41:41,697] - Nimbus Look&Feel > loaded > DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1 > es.uji.security.ui.applet.AppHandler [16:41:41,719] - Recover JavaScript > member: navigator > DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1 > es.uji.security.ui.applet.AppHandler [16:41:41,722] - Recover JavaScript > member: userAgent > DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1 > es.uji.security.ui.applet.AppHandler [16:41:41,724] - Detected user agent > mozilla/5.0 (x11; u; linux i686; es-es; rv:1.9.2.13) gecko/20101206 > ubuntu/10.04 (lucid) firefox/3.6.13 > DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1 > es.uji.security.ui.applet.AppHandler [16:41:41,724] - Navigator variable set > to MOZILLA > Borrar antememoria del cargador de clases .... terminado. > _pk11LibPath: /usr/lib/nss/libsoftokn3.so > DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1 > es.uji.security.ui.applet.SignatureApplet [16:41:42,525] - Call JavaScript > method: onInitOk > DEBUG Applet 1 LiveConnect Worker Thread > es.uji.security.ui.applet.AppHandler [16:41:49,280] - Setting > signOutputFormat to es.uji.security.crypto.raw.RawSignatureFactory > DEBUG Applet 1 LiveConnect Worker Thread > es.uji.security.ui.applet.AppHandler [16:41:50,101] - Setting > inputDataEncoding to PLAIN > DEBUG Applet 1 LiveConnect Worker Thread > es.uji.security.ui.applet.AppHandler [16:41:50,108] - Setting > inputDataEncoding to PLAIN > Obtenido path /usr/lib/opensc-pkcs11.so > DEBUG Applet 1 LiveConnect Worker Thread es.uji.security.keystore.dnie.Dnie > [16:41:52,830] - DNIe is not inserted or it can not be loaded > DEBUG Applet 1 LiveConnect Worker Thread > es.uji.security.ui.applet.JTreeCertificateBuilder [16:41:52,941] - Building > certificate tree > DEBUG Applet 1 LiveConnect Worker Thread > es.uji.security.ui.applet.SignatureApplet [16:41:53,110] - Call JavaScript > method: onWindowShow > You chose to open this file: /usr/lib/opensc-pkcs11.so > _pk11LibPath: /usr/lib/opensc-pkcs11.so > PKCS11 > actionPerformed() > java.security.KeyStoreException: PKCS11 not found > at java.security.KeyStore.getInstance(KeyStore.java:676) > at > es.uji.security.keystore.pkcs11.PKCS11KeyStore.load(PKCS11KeyStore.java:97) > at > es.uji.security.keystore.pkcs11.PKCS11KeyStore.load(PKCS11KeyStore.java:78) > at > es.uji.security.ui.applet.EventActionHandler$7.actionPerformed(EventActionHandler.java:319) > at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) > at > javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) > at > javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) > at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) > at javax.swing.AbstractButton.doClick(AbstractButton.java:357) > at > javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223) > at > javax.swing.plaf.basic.BasicMenuItemUI$Handler.menuDragMouseReleased(BasicMenuItemUI.java:1327) > at javax.swing.JMenuItem.fireMenuDragMouseReleased(JMenuItem.java:568) > at javax.swing.JMenuItem.processMenuDragMouseEvent(JMenuItem.java:465) > at javax.swing.JMenuItem.processMouseEvent(JMenuItem.java:411) > at > javax.swing.MenuSelectionManager.processMouseEvent(MenuSelectionManager.java:305) > at > javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266) > at java.awt.Component.processMouseEvent(Component.java:6267) > at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) > at java.awt.Component.processEvent(Component.java:6032) > at java.awt.Container.processEvent(Container.java:2041) > at java.awt.Component.dispatchEventImpl(Component.java:4630) > at java.awt.Container.dispatchEventImpl(Container.java:2099) > at java.awt.Component.dispatchEvent(Component.java:4460) > at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) > at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) > at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) > at java.awt.Container.dispatchEventImpl(Container.java:2085) > at java.awt.Window.dispatchEventImpl(Window.java:2478) > at java.awt.Component.dispatchEvent(Component.java:4460) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) > at > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) > at > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) > at > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) > at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) > Caused by: java.security.NoSuchAlgorithmException: no such algorithm: > PKCS11 for provider SunPKCS11-USER-PKCS11 > at sun.security.jca.GetInstance.getService(GetInstance.java:83) > at sun.security.jca.GetInstance.getInstance(GetInstance.java:202) > at java.security.Security.getImpl(Security.java:688) > at java.security.KeyStore.getInstance(KeyStore.java:673) > ... 35 more > </pre> > > Por lo que he añadido el proveedor de SunPKCS11 al 'java.security' de la > VM. > <pre> > security.provider.9=sun.security.pkcs11.SunPKCS11 > </pre> > > Aun así, al hacer la prueba me pide el fichero de configuración que no se > carga por código > <pre> > You chose to open this file: /usr/lib/opensc-pkcs11.so > _pk11LibPath: /usr/lib/opensc-pkcs11.so > PKCS11 > java.security.ProviderException: SunPKCS11 requires configuration file > argument > at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:81) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at java.lang.Class.newInstance0(Class.java:355) > at java.lang.Class.newInstance(Class.java:308) > at sun.security.jca.ProviderConfig$3.run(ProviderConfig.java:240) > at java.security.AccessController.doPrivileged(Native Method) > at sun.security.jca.ProviderConfig.doLoadProvider(ProviderConfig.java:225) > at sun.security.jca.ProviderConfig.getProvider(ProviderConfig.java:205) > at sun.security.jca.ProviderList.loadAll(ProviderList.java:264) > at sun.security.jca.ProviderList.removeInvalid(ProviderList.java:281) > at sun.security.jca.Providers.getFullProviderList(Providers.java:158) > at java.security.Security.insertProviderAt(Security.java:325) > at java.security.Security.addProvider(Security.java:372) > at > es.uji.security.keystore.pkcs11.PKCS11KeyStore.load(PKCS11KeyStore.java:96) > at > es.uji.security.keystore.pkcs11.PKCS11KeyStore.load(PKCS11KeyStore.java:78) > at > es.uji.security.ui.applet.EventActionHandler$7.actionPerformed(EventActionHandler.java:319) > at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) > at > javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) > at > javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) > at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) > at javax.swing.AbstractButton.doClick(AbstractButton.java:357) > at > javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223) > at > javax.swing.plaf.basic.BasicMenuItemUI$Handler.menuDragMouseReleased(BasicMenuItemUI.java:1327) > at javax.swing.JMenuItem.fireMenuDragMouseReleased(JMenuItem.java:568) > at javax.swing.JMenuItem.processMenuDragMouseEvent(JMenuItem.java:465) > at javax.swing.JMenuItem.processMouseEvent(JMenuItem.java:411) > at > javax.swing.MenuSelectionManager.processMouseEvent(MenuSelectionManager.java:305) > at > javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.eventDispatched(BasicPopupMenuUI.java:807) > at > java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Toolkit.java:2353) > at > java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2245) > at java.awt.Toolkit.notifyAWTEventListeners(Toolkit.java:2203) > at java.awt.Component.dispatchEventImpl(Component.java:4528) > at java.awt.Container.dispatchEventImpl(Container.java:2099) > at java.awt.Component.dispatchEvent(Component.java:4460) > at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) > at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) > at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) > at java.awt.Container.dispatchEventImpl(Container.java:2085) > at java.awt.Window.dispatchEventImpl(Window.java:2478) > at java.awt.Component.dispatchEvent(Component.java:4460) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) > at > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) > at > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) > at > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) > at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) > </pre> > > Mirando el codigo fuente veo que realizais la carga del proveedor PKCS11 de > forma manual, pero no introducís configuración. > De todas formas he realizado una prueba a mano, cargando el PKCS11Keystore > e invocando el método #load con y sin fichero de configuración, además del > PIN y me lee correctamente la tarjeta. > <pre> > PKCS11KeyStore pkStore= new PKCS11KeyStore("/usr/lib/opensc-pkcs11.so"); > pkStore.load(configIS, "1111".toCharArray()); > pkStore.load("1111".toCharArray()); > ArrayList<String> aliases = Collections.list(pkStore.aliases()); > System.out.println("Available aliases: " + aliases); > </pre> > > __________ > > Como he leído que en pruebas que habéis realizado vosotros os ha ido todo > bien, me podrías indicar en qué contexto funciona la lectura de certificados > en tarjetas criptográficas? Versión de firefox, jre y tipo de smartcard? > > ____ > > Muchas gracias, > Irune Prado > ----------------------------------------- > > _______________________________________________ > CryptoApplet mailing list > [email protected] > http://llistes.uji.es/mailman/listinfo/cryptoapplet > > > > > -- > Paúl Santapau Nebot > http://es.linkedin.com/pub/paul-santapau/4/53a/a99 > Twitter: @psantapau > > > _______________________________________________ > CryptoApplet mailing list > [email protected] > http://llistes.uji.es/mailman/listinfo/cryptoapplet > _______________________________________________ > CryptoApplet mailing list > [email protected] > http://llistes.uji.es/mailman/listinfo/cryptoapplet > > > > > -- > Paúl Santapau Nebot > http://es.linkedin.com/pub/paul-santapau/4/53a/a99 > Twitter: @psantapau > > > _______________________________________________ > CryptoApplet mailing list > [email protected] > http://llistes.uji.es/mailman/listinfo/cryptoapplet > _______________________________________________ > CryptoApplet mailing list > [email protected] > http://llistes.uji.es/mailman/listinfo/cryptoapplet > > -- Paúl Santapau Nebot http://es.linkedin.com/pub/paul-santapau/4/53a/a99 Twitter: @psantapau
_______________________________________________ CryptoApplet mailing list [email protected] http://llistes.uji.es/mailman/listinfo/cryptoapplet
