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

Responder a