Open vk496 opened 6 years ago
Hola Valentín,
¿Qué versión de Java usas?
El 10/2/2018 12:48 p. m., "Valentin" notifications@github.com escribió:
Buenas,
Tengo instalado Autofirma 1.6 en mi Linux (Manjaro 17), el cual no puedo utilizar a través del portal portafirmas https://portafirmas.um.es de la Universidad de Murcia. Utilizo Firefox 58
Cuando procedo a firmar, recibo el siguiente error:
[image: image] https://user-images.githubusercontent.com/5502443/36061792-cc1f5e54-0e5f-11e8-8020-3311c6534179.png
Utilizando la aplicación gráfica, no hay ningún problema: Me sale el diálogo del almacén de claves y puedo usar mi firma. Sin embargo, desde Firefox tengo el siguiente error y no sé dónde se consultan los certificados (el certificado está instalado en el almacén del navegador, por lo que supongo que no lo coge de ahi).
Un saludo, Valentín
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ctt-gob-es/clienteafirma/issues/16, or mute the thread https://github.com/notifications/unsubscribe-auth/AFopALZFPik5kasNvbYWOKXuT51a3-Wcks5tTYH6gaJpZM4SA5vT .
Buenas,
openjdk version "1.8.0_144"
OpenJDK Runtime Environment (build 1.8.0_144-b01)
OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)
Salu2
Hace tiempo que no me pasa, pero antes era cosa de las libnss o un perfil corrupto de firefox.
Yo probaría a crear un perfil nuevo, cargar en él tu certificado y reinstalar Autofirma (si no lo reinstalas no te añadirá su propio certificado).
Autofirma lo instalas desde un paquete, no?
Acabo de probarlo, y nada. Sigue saliendo el mismo error...
Para hacerlo en limpio, he renombrado la carpeta .mozilla e instalado mi certificado y el CA de la FNMT. Luego he cerrado firefox y reinstalado el paquete autofirma. A continuación, entré en la web para probar nuevamente, pero sigue apareciendo el error.
@alfem Si, uso el paquete de AUR pero modificado para instalar la 1.6:
https://gist.github.com/vk496/1196ec3a13689cd66a77e96e4b1f0cca
Salu2
He visto que el log se encuentra en .afirma. He probado a hacer nuevamente una ejecución en limpio, pero además renombrando la carpeta .pki, pero no ha surgido ningún resultado. Adjunto la saldia:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
<date>2018-02-12T11:10:02</date>
<millis>1518430202147</millis>
<sequence>0</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.ProxyUtil</class>
<method>setDefaultProxy</method>
<thread>1</thread>
<message>Las conexiones para protocolo 'http' son por defecto de tipo: DIRECT</message>
</record>
<record>
<date>2018-02-12T11:10:02</date>
<millis>1518430202179</millis>
<sequence>1</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.ProxyUtil</class>
<method>setDefaultProxy</method>
<thread>1</thread>
<message>Las conexiones para protocolo 'https' son por defecto de tipo: DIRECT</message>
</record>
<record>
<date>2018-02-12T11:10:02</date>
<millis>1518430202179</millis>
<sequence>2</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.ProxyUtil</class>
<method>setProxySettings</method>
<thread>1</thread>
<message>No se usara Proxy para las conexiones de red</message>
</record>
<record>
<date>2018-02-12T11:10:02</date>
<millis>1518430202181</millis>
<sequence>3</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.SimpleAfirma</class>
<method>main</method>
<thread>1</thread>
<message>No se buscaran nuevas versiones de la aplicacion</message>
</record>
<record>
<date>2018-02-12T11:10:02</date>
<millis>1518430202185</millis>
<sequence>4</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.SimpleAfirma</class>
<method>printSystemInfo</method>
<thread>1</thread>
<message>Resolucion DPI de pantalla: 0
Sistema operativo: Linux
Version del SO: 4.14.16-1-MANJARO
Version de Java: 1.8.0_144
Arquitectura del JRE: 64
Java Vendor: Oracle Corporation
Localizacion por defecto: es_ES
Tamano actual en memoria: 75MB
Tamano maximo de memoria: 862MB
Memoria actualmente libre: 52MB</message>
</record>
<record>
<date>2018-02-12T11:10:02</date>
<millis>1518430202188</millis>
<sequence>5</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.SimpleAfirma</class>
<method>main</method>
<thread>1</thread>
<message>Invocacion por protocolo con URL:
afirma://service?ports=56438,60250,63316&v=1&idsession=p8NVMzqycWsRPhjU4o2D</message>
</record>
<record>
<date>2018-02-12T11:10:02</date>
<millis>1518430202199</millis>
<sequence>6</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ProtocolInvocationLauncher</class>
<method>launch</method>
<thread>1</thread>
<message>Se inicia la invocacion por servicio: afirma://service?ports=56438,60250,63316&v=1&idsession=p8NVMzqycWsRPhjU4o2D</message>
</record>
<record>
<date>2018-02-12T11:10:02</date>
<millis>1518430202206</millis>
<sequence>7</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>startService</method>
<thread>1</thread>
<message>Se utilizara el siguiente almacen para establecer el socket SSL: /usr/lib/AutoFirma/autofirma.pfx</message>
</record>
<record>
<date>2018-02-12T11:10:02</date>
<millis>1518430202365</millis>
<sequence>8</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>startService</method>
<thread>1</thread>
<message>Iniciando servicio local de firma: afirma://service?ports=56438,60250,63316&v=1&idsession=p8NVMzqycWsRPhjU4o2D</message>
</record>
<record>
<date>2018-02-12T11:10:02</date>
<millis>1518430202366</millis>
<sequence>9</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>getPorts</method>
<thread>1</thread>
<message>Se ha recibido un idSesion para la transaccion: p8NVMzqycWsRPhjU4o2D</message>
</record>
<record>
<date>2018-02-12T11:10:02</date>
<millis>1518430202368</millis>
<sequence>10</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>tryPorts</method>
<thread>1</thread>
<message>Establecido el puerto 56438 para el servicio Cliente @firma</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203483</millis>
<sequence>11</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>startService</method>
<thread>1</thread>
<message>Detectada conexion entrante</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203551</millis>
<sequence>12</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>getCommandUri</method>
<thread>19</thread>
<message>Recibido comando de tipo: echo=</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203552</millis>
<sequence>13</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>doEchoPetition</method>
<thread>19</thread>
<message>Comando URI recibido por HTTP: echo=</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203554</millis>
<sequence>14</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>sendData</method>
<thread>19</thread>
<message>Mandando respuesta a la peticion: echo=</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203558</millis>
<sequence>15</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>startService</method>
<thread>1</thread>
<message>Detectada conexion entrante</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203565</millis>
<sequence>16</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>getCommandUri</method>
<thread>20</thread>
<message>Recibido comando de tipo: cmd=</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203566</millis>
<sequence>17</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>doCmdPetition</method>
<thread>20</thread>
<message>Comando URI recibido por HTTP: afirma://selectcert?op=selectcert&properties=ZmlsdGVycz1zdWJqZWN0LmNvbnRhaW5zOlg5NDAwOTYx</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203568</millis>
<sequence>18</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.core.misc.protocol.ProtocolInvocationUriParser</class>
<method>parserUri</method>
<thread>20</thread>
<message>URI recibida: afirma://selectcert?op=selectcert&properties=ZmlsdGVycz1zdWJqZWN0LmNvbnRhaW5zOlg5NDAwOTYx</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203596</millis>
<sequence>19</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.keystores.mozilla.shared.SharedNssUtil</class>
<method>getSharedUserProfileDirectory</method>
<thread>20</thread>
<message>Detectado directorio de perfil de NSS: ̴/.pki/nssdb</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203597</millis>
<sequence>20</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities</class>
<method>loadNSS</method>
<thread>20</thread>
<message>Configuracion de NSS para SunPKCS11:
name=NSSCrypto-AFirma
library=/usr/lib64/libsoftokn3.so
attributes=compatibility
slot=2
showInfo=false
allowSingleThreadedModules=true
nssArgs="configdir='sql:/USERHOME/.pki/nssdb' certPrefix='' keyPrefix='' flags='readOnly'"</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203617</millis>
<sequence>21</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities</class>
<method>loadNSS</method>
<thread>20</thread>
<message>Proveedor PKCS#11 para NSS anadido para perfil compartido: SunPKCS11-NSSCrypto-AFirma</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203622</millis>
<sequence>22</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.keystores.AOKeyStoreManager</class>
<method>init</method>
<thread>20</thread>
<message>Inicializamos el almacen de tipo: DNIe y tarjetas FNMT-TIF</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203650</millis>
<sequence>23</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.keystores.KeyStoreUtilities</class>
<method>addPreferredKeyStoreManagers</method>
<thread>20</thread>
<message>No se ha encontrado un DNIe: java.security.ProviderException: No se ha podido inicializar el proveedor de DNIe: es.gob.jmulticard.apdu.connection.NoReadersFoundException: No se detectaron lectores de tarjetas en el sistema</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203651</millis>
<sequence>24</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.keystores.AOKeyStoreManager</class>
<method>init</method>
<thread>20</thread>
<message>Inicializamos el almacen de tipo: G&D SmartCafe con Applet PKCS#15</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203656</millis>
<sequence>25</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.keystores.KeyStoreUtilities</class>
<method>addPreferredKeyStoreManagers</method>
<thread>20</thread>
<message>No se ha encontrado una tarjeta G&D SmartCafe: java.security.ProviderException: No se ha podido inicializar el proveedor: es.gob.jmulticard.apdu.connection.NoReadersFoundException: No se detectaron lectores de tarjetas en el sistema</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203657</millis>
<sequence>26</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities</class>
<method>getMozillaPKCS11Modules</method>
<thread>20</thread>
<message>Se incluiran los modulos nativos de DNIe/CERES si se encuentran configurados</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203659</millis>
<sequence>27</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities</class>
<method>getMozillaPKCS11Modules</method>
<thread>20</thread>
<message>Obtenidos los modulos externos de Mozilla desde 'pkcs11.txt'</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203662</millis>
<sequence>28</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.keystores.mozilla.MozillaUnifiedKeyStoreManager</class>
<method>init</method>
<thread>20</thread>
<message>No se han encontrado modulos PKCS#11 externos instalados en Firefox</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203663</millis>
<sequence>29</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ProtocolInvocationLauncherSelectCert</class>
<method>processSelectCert</method>
<thread>20</thread>
<message>Obtenido gestor de almacenes de claves: Gestor de almacenes de claves NSS con nombre NSS</message>
</record>
<record>
<date>2018-02-12T11:10:03</date>
<millis>1518430203666</millis>
<sequence>30</sequence>
<logger>es.gob.afirma</logger>
<level>SEVERE</level>
<class>es.gob.afirma.standalone.protocol.ProtocolInvocationLauncherSelectCert</class>
<method>processSelectCert</method>
<thread>20</thread>
<message>No hay certificados validos en el almacen: es.gob.afirma.keystores.AOCertificatesNotFoundException: No se han encontrado certificados en el almacen acordes a los filtros establecidos</message>
</record>
<record>
<date>2018-02-12T11:10:08</date>
<millis>1518430208837</millis>
<sequence>31</sequence>
<logger>es.gob.afirma</logger>
<level>SEVERE</level>
<class>es.gob.afirma.standalone.protocol.ProtocolInvocationLauncherErrorManager</class>
<method>showError</method>
<thread>20</thread>
<message>Ha ocurrido un error realizando la operación.
(SAF_19: No hay ningun certificado válido en su almacén. Compruebe las fechas de caducidad e instale un certificado válido.)</message>
</record>
<record>
<date>2018-02-12T11:10:08</date>
<millis>1518430208838</millis>
<sequence>32</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>calculateNumberPartsResponse</method>
<thread>20</thread>
<message>Se mandaran 1partes</message>
</record>
<record>
<date>2018-02-12T11:10:08</date>
<millis>1518430208839</millis>
<sequence>33</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>calculateNumberPartsResponse</method>
<thread>20</thread>
<message>tam total=122</message>
</record>
<record>
<date>2018-02-12T11:10:08</date>
<millis>1518430208840</millis>
<sequence>34</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>calculateNumberPartsResponse</method>
<thread>20</thread>
<message>Tamano de la parte 1 =122</message>
</record>
<record>
<date>2018-02-12T11:10:08</date>
<millis>1518430208841</millis>
<sequence>35</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>sendData</method>
<thread>20</thread>
<message>Mandando respuesta a la peticion: Se mandaran 1 partes</message>
</record>
<record>
<date>2018-02-12T11:10:08</date>
<millis>1518430208873</millis>
<sequence>36</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>startService</method>
<thread>1</thread>
<message>Detectada conexion entrante</message>
</record>
<record>
<date>2018-02-12T11:10:08</date>
<millis>1518430208877</millis>
<sequence>37</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>getCommandUri</method>
<thread>24</thread>
<message>Recibido comando de tipo: send=</message>
</record>
<record>
<date>2018-02-12T11:10:08</date>
<millis>1518430208878</millis>
<sequence>38</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>doSendPetition</method>
<thread>24</thread>
<message>Comando URI recibido por HTTP: @1@1</message>
</record>
<record>
<date>2018-02-12T11:10:08</date>
<millis>1518430208879</millis>
<sequence>39</sequence>
<logger>es.gob.afirma</logger>
<level>INFO</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>sendData</method>
<thread>24</thread>
<message>Mandando respuesta a la peticion: Mandada la parte 1 de 1</message>
</record>
<record>
<date>2018-02-12T11:11:38</date>
<millis>1518430298881</millis>
<sequence>40</sequence>
<logger>es.gob.afirma</logger>
<level>WARNING</level>
<class>es.gob.afirma.standalone.protocol.ServiceInvocationManager</class>
<method>lambda$static$0</method>
<thread>25</thread>
<message>Se ha caducado la conexion. Se deja de escuchar en el puerto...</message>
</record>
</log>
Tienes instalado también el paquete ibnss3-tools ?
Hola,
No lo tenía instalado (en Arch no está marcado como dependencia). Lo he instalado (lib32-nss) y vuelto a probar, pero sigue saliendo el mismo error.
Salu2
lib32-nss? Pero tienes 64 bits, no?
Yo comprobaría que tienes estos enlaces a las librerías nss:
https://github.com/gecos-team/java-nss-fix/blob/trusty/gcs/install_scripts/pos/create_symlinks
Buenas,
Si, tengo el de 64 bits. El paquete para Arch se llama así.
Respecto a los enlaces simbólicos, no tengo ninguno de los que termina en .1d
Salu2
Yo firmo con Firefox 52.6.0 (64-bit) ESR (Extended Support Release).
Podrías probar a cerrar tu Ffox, e instalar esta versión de forma independiente (en /opt por ejemplo). A ver si hay suerte.
Hola. Yo tengo el mismo problema. He probado con Firefox-dev, con Firefox 52.0.2, con Firefox 58.0.2 y con AutoFirma 1.6.1 Igualmente puedo usar la aplicación de forma independiente para firmar sin problema, y me coge los certificados que tengo instalados en Firefox, pero al firmar un documento desde el propio navegador (en este caso, la escolarización en ESO de mi hija a través de la aplicación de la Junta de Andalucía), nada, me da ese fallo "SAF_19". Todo lo que se comenta en este hilo lo he probado sin éxito.
:-(
Otras cosillas que comprobar:
Parece que el applet de autofirma utiliza el almacén de llaves ubicado en ~/.pki/nssdb. Yo he resuelto este problema generando enlaces simbólicos sobre el almacén de llaves de firefox donde previamente he añadido mi certificado digital.
MOZ_PROFILE=$(grep Path $HOME/.mozilla/firefox/profiles.ini|cut -d "=" -f2) \
&& if [ ! -d $HOME/.pki/nssdb ]; then mkdir -p $HOME/.pki/nssdb; fi \
&& ln -sf $HOME/.mozilla/firefox/$MOZ_PROFILE/*.db $HOME/.pki/nssdb/
Entorno:
Debian 10 Gnome 1:3.22+3 Firefox 52.6.0 Autofirma 1.6.1
Tendría que comprobarlo pero aunque el instalador oficial mete el certificado en .pki/nssdb, en realidad creo que no lo usa para nada. Ese fichero es para Gnome-Keyring, no para Firefox.
@i-eperez Muchas gracias!
Efectivamente, haciendo enlaces simbólicos de las db de firefox a ~/.pki/nssdb, funciona perfectamente.
Salu2
Que cosa más rara. Mi Firefox guarda los certificados en el directorio del perfil, en un fichero cert8 que está en formato dbm, mientras que en .pki/nssdb hay un cert9, que está en formato sqlite3.
Finalmente he firmado desde Windows 10, pero en ese caso, aunque configuraba AutoFirma para usar el almacén de claves de Firefox, desde el applet solo busca en Internet Explorer. En cuanto a Linux, tomo nota de la solución de arriba para probarlo la próxima vez que tenga que hacer algo con la Junta.
Gracias.
@alfem no es muy fácil seguir la traza del código, pero si ves en loadNssJava8
(y también en la versión para Java 9), se intenta cargar el certificado de NSS primero como un cert8 en dbm y después como un sqlite3. El funcionamiento de la clase que aparece invocada por reflexión como class.forName(SUN_PKCS11_PROVIDER_CLASSNAME)
se documenta en https://docs.oracle.com/javase/7/docs/technotes/guides/security/p11guide.html) y la ruta sale de la subrutina loadNss
(y le llamo subrutina porque una serie de clases no instanciables que solo tienen métodos estáticos no es orientación a objetos).
Lo que no entiendo es de dónde sale el ~/.pki/nssdb
, que yo en el código no lo encuentro, el camino que veo es que viene por getMozillaUserProfileDirectory
y dentro, con el resultado de getProfilesIniPath
llama a NSPreferences.getFirefoxUserProfileDirectory
.
Mañana probaré a hacer lo que decís del enlace simbólico.
De todos modos, mi caso (Fedora 64 bits) además de esto parece que tampoco encuentra siempre las librerías de Firefox de 64 bits puesto que aunque en este comentario parezca que se haya tenido en cuenta a la distribución esto debe de ser de alguna versión antigua y EOL; en las versiones actuales de Fedora, /lib
es un symlink de /usr/lib
y /lib64
un symlink de /usr/lib64
, diferenciándose de otras distros en que /usr/lib
es el emplazamiento de las bibliotecas de 32 bits, y /usr/lib64
las de las bibliotecas de 64 bits en un sistema x86_64; y por lo tanto en esta lista (y a lo mejor en alguna otra que yo no he visto) haría falta incluir /usr/lib64/firefox
en un sistema x86_64 (es decir, cuando Platform.getJavaArch().equals("64")
).
@i-eperez Gracias, tenía el mismo problema que @vk496 y he podido solucionarlo.
Buenas noches. Estaba dándole caña a todo el proceso de Autofirma y dándome de cabezazos mientras debugueaba a ciegas. La solución aportada en este thread por @i-eperez es lo único que me ha funcionado. https://github.com/ctt-gob-es/clienteafirma/issues/16#issuecomment-371744649
Entorno: AutoFirma - 1.6.2 SO - Lubuntu 17.10 (64) Java - 1.8.0_144 Navegador - Firefox 59.0.2 (64)
Yo acabo de empaquetar y probar la 60ESR y no consigo firmar. Salta el SAF_19, incluso enlazando el .pki. Habra que "cavar" un poco más.
Uf. Ya firmo con Firefox60ESR y Autofirma 1.6.1.
Y he comprobado que no tengo el directorio .pki/nssdb
@alfem ¿y cómo lo has conseguido?, yo uso ubuntu 18.04 con Firefox 60 ESR y no hay manera
Uso GECOS, y la última estable está basada en Ubuntu 16.04 (aunque va con Cinnamon como escritorio) http://gecos-team.github.io/
Ahora que la nueva Mint ha salido empezaremos a probar Autofirma contra Ubuntu 18.04. A ver qué pasa.
Acabo de probar en una ubuntu 18.04 con firefox60.0.2esr y Autofirma 1.6.1, y la firma desde varias web funciona correctamente.
Eso sí, los paquetes de firefox y autofirma son "un poco especiales" para GECOS.
Buenos días! Acabo de reproducir este error en Linux Mint 19 Tara, Firefox 61.0 y AutoFirma 1.6.2, solucionado con el método de @i-eperez en su comentario
Era una cosa que me traía de cabeza, Muchas gracias!
Buenos días A ver si me podéis ayudar con este error que me trae de cabeza y me hace recurrir a "otros ordenadores" cada vez que tengo que firmar algo...
Tengo autofirma 1.6.2 y firefox 61.0.1 (64bits) instalados en Ubuntu 16.04 (64 bits) y tengo ese mismo error (SAF 19) que no consigo solucionar creando los enlaces simbólicos que se indicaban en el comentario de i-eperez...
Creo que quizá debo tener un error previo porque no me funciona la aplicación lanzándola desde el escritorio ni cuando es invocada desde firefox. Bueno, funciona pero no puede firmar porque me sale el error SAF 19
Esta es la salida que se encuentra en el directorio .afirma
Quizá el error tiene que ver con
También me extraña esta línea library=/usr/lib/i386-linux-gnu/nss/libsoftokn3.so
Al instalar autofirma el terminal también daba algún error
Seleccionando el paquete autofirma previamente no seleccionado.
(Leyendo la base de datos ... 306858 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar AutoFirma_1_6_2.deb ...
30666
Desempaquetando autofirma (1.6.2) ...
Configurando autofirma (1.6.2) ...
jul 18, 2018 2:33:30 PM es.gob.afirma.standalone.configurator.AutoFirmaConfigurator
Replacing debian:AutoFirma_ROOT.pem Replacing debian:AutoFirma_ROOT.pem done. done. Instalacion del certificado CA en el almacenamiento del sistema Procesando disparadores para desktop-file-utils (0.22-1ubuntu5.2) ... Procesando disparadores para bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Procesando disparadores para gnome-menus (3.13.3-6ubuntu3.1) ... Procesando disparadores para mime-support (3.59ubuntu1) ...
Y al ejecutar el programa desde consola:
jul 18, 2018 7:24:45 PM es.gob.afirma.standalone.ProxyUtil setDefaultProxy
INFORMACIÓN: Las conexiones para protocolo 'http' son por defecto de tipo: DIRECT
jul 18, 2018 7:24:45 PM es.gob.afirma.standalone.ProxyUtil setDefaultProxy
INFORMACIÓN: Las conexiones para protocolo 'https' son por defecto de tipo: DIRECT
jul 18, 2018 7:24:45 PM es.gob.afirma.standalone.ProxyUtil setProxySettings
INFORMACIÓN: No se usara Proxy para las conexiones de red
jul 18, 2018 7:24:45 PM es.gob.afirma.standalone.SimpleAfirma main
INFORMACIÓN: No se buscaran nuevas versiones de la aplicacion
jul 18, 2018 7:24:45 PM es.gob.afirma.standalone.SimpleAfirma printSystemInfo
INFORMACIÓN: Resolucion DPI de pantalla: 0
Sistema operativo: Linux
Version del SO: 4.4.0-130-generic
Version de Java: 1.8.0_171
Arquitectura del JRE: 64
Java Vendor: Oracle Corporation
Localizacion por defecto: es_ES
Tamano actual en memoria: 150MB
Tamano maximo de memoria: 1748MB
Memoria actualmente libre: 113MB
jul 18, 2018 7:24:45 PM es.gob.afirma.standalone.SimpleAfirma main
INFORMACIÓN: Apertura como herramienta de escritorio
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
jul 18, 2018 7:24:45 PM es.gob.afirma.standalone.SimpleAfirma main
INFORMACIÓN: Se intenta una precarga temprana de NSS
jul 18, 2018 7:24:45 PM es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities loadNSS
INFORMACIÓN: Configuracion de NSS para SunPKCS11:
name=NSSCrypto-AFirma
library=/usr/lib/i386-linux-gnu/nss/libsoftokn3.so
attributes=compatibility
slot=2
showInfo=false
allowSingleThreadedModules=true
nssArgs="configdir='sql:/USERHOME/.mozilla/firefox/q11720mw.default' certPrefix='' keyPrefix='' flags='readOnly'"
jul 18, 2018 7:24:45 PM es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities loadNssJava8
INFORMACIÓN: NSS necesita una precarga o tratamiento de sus dependencias: java.lang.reflect.InvocationTargetException
jul 18, 2018 7:24:45 PM es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities loadNssJava8
ADVERTENCIA: Ha fallado el segundo intento de carga de NSS: java.lang.reflect.InvocationTargetException
jul 18, 2018 7:24:45 PM es.gob.afirma.keystores.mozilla.NssKeyStoreManager getNssProvider
GRAVE: Error obteniendo el proveedor NSS: java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities.loadNssJava8(MozillaKeyStoreUtilities.java:671)
at es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities.loadNSS(MozillaKeyStoreUtilities.java:718)
at es.gob.afirma.keystores.mozilla.NssKeyStoreManager.getNssProvider(NssKeyStoreManager.java:111)
at es.gob.afirma.keystores.mozilla.NssKeyStoreManager.init(NssKeyStoreManager.java:58)
at es.gob.afirma.keystores.mozilla.MozillaUnifiedKeyStoreManager.init(MozillaUnifiedKeyStoreManager.java:68)
at es.gob.afirma.keystores.AOKeyStoreManagerFactory.getNssKeyStoreManager(AOKeyStoreManagerFactory.java:488)
at es.gob.afirma.keystores.AOKeyStoreManagerFactory.getMozillaUnifiedKeyStoreManager(AOKeyStoreManagerFactory.java:519)
at es.gob.afirma.keystores.AOKeyStoreManagerFactory.getAOKeyStoreManager(AOKeyStoreManagerFactory.java:116)
at es.gob.afirma.standalone.SimpleAfirma.main(SimpleAfirma.java:571)
Caused by: java.security.ProviderException: Initialization failed
at sun.security.pkcs11.SunPKCS11.
jul 18, 2018 7:24:45 PM es.gob.afirma.keystores.AOKeyStoreManager init INFORMACIÓN: Inicializamos el almacen de tipo: DNIe y tarjetas FNMT-TIF jul 18, 2018 7:24:45 PM es.gob.afirma.keystores.KeyStoreUtilities addPreferredKeyStoreManagers INFORMACIÓN: No se ha encontrado un DNIe: java.security.ProviderException: No se ha podido inicializar el proveedor de DNIe: es.gob.jmulticard.apdu.connection.NoReadersFoundException: No se detectaron lectores de tarjetas en el sistema jul 18, 2018 7:24:45 PM es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities getMozillaPKCS11Modules INFORMACIÓN: Se incluiran los modulos nativos de DNIe/CERES si se encuentran configurados jul 18, 2018 7:24:45 PM es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities getMozillaPKCS11Modules INFORMACIÓN: Obtenidos los modulos externos de Mozilla desde 'pkcs11.txt' jul 18, 2018 7:24:45 PM es.gob.afirma.keystores.mozilla.MozillaUnifiedKeyStoreManager init INFORMACIÓN: No se han encontrado modulos PKCS#11 externos instalados en Firefox jul 18, 2018 7:24:45 PM es.gob.afirma.standalone.SimpleAfirma setKeyStoreManager INFORMACIÓN: Establecido KeyStoreManager: Gestor de almacenes de claves Mozilla / Firefox (unificado) con nombre Mozilla / Firefox (unificado) jul 18, 2018 7:24:45 PM es.gob.afirma.standalone.SimpleAfirma loadDefaultKeyStore INFORMACIÓN: Se omite la carga concurrente de almacen por haberse hecho una precarga previa jul 18, 2018 7:25:05 PM es.gob.afirma.keystores.AggregatedKeyStoreManager getAliases ADVERTENCIA: No se pudieron obtener los alias del almacen Mozilla / Firefox (unificado): java.lang.IllegalStateException: Se han pedido alias a un almacen no inicializado jul 18, 2018 7:25:05 PM es.gob.afirma.standalone.ui.SignPanelSignTask doSignature GRAVE: El almacen no contiene ningun certificado que se pueda usar para firmar: es.gob.afirma.keystores.AOCertificatesNotFoundException: No se han encontrado certificados en el almacen acordes a los filtros establecidos
Espero que alguién sea capaz de ponerme en la pista de los errores... no tengo una gran experiencia a este nivel y me acabo perdiendo un poco.
Gracias de antemano.
Sí que es raro. Parece que tienes una ubuntu 64bits, pero con las librerías i386.
¿Podrías lanzar esto y pegar el resultado?
dpkg -l libnss*
Acabo de probar la solución de @i-eperez y ¡funciona! Mis datos son:
Sistema operativo: Linux (Xubuntu 18.04 64 bits) Version del SO: 4.15.0-29-generic Version de Java: 1.8.0_181 Arquitectura del JRE: 64 Java Vendor: "Oracle Corporation"
Eso sí, debo indicar me ha funcionado con java-8-oracle como máquina de java. Cuando cambio a java-10-oracle (10.0.2), que es la última versión disponible, el programa deja de funcionar. Os indico qué sale en AutoFirma cuando lo ejecuto en el terminal con Java 10.
jul. 24, 2018 2:34:50 P. M. es.gob.afirma.standalone.ProxyUtil setDefaultProxy
INFORMACIÓN: Las conexiones para protocolo 'http' son por defecto de tipo: DIRECT
jul. 24, 2018 2:34:50 P. M. es.gob.afirma.standalone.ProxyUtil setDefaultProxy
INFORMACIÓN: Las conexiones para protocolo 'https' son por defecto de tipo: DIRECT
jul. 24, 2018 2:34:50 P. M. es.gob.afirma.standalone.ProxyUtil setProxySettings
INFORMACIÓN: No se usara Proxy para las conexiones de red
jul. 24, 2018 2:34:50 P. M. es.gob.afirma.standalone.SimpleAfirma main
INFORMACIÓN: No se buscaran nuevas versiones de la aplicacion
jul. 24, 2018 2:34:50 P. M. es.gob.afirma.standalone.SimpleAfirma printSystemInfo
INFORMACIÓN: Resolucion DPI de pantalla: 0
Sistema operativo: Linux
Version del SO: 4.15.0-29-generic
Version de Java: 10.0.2
Arquitectura del JRE: 64
Java Vendor: "Oracle Corporation"
Localizacion por defecto: es_ES
Tamano actual en memoria: 124MB
Tamano maximo de memoria: 1984MB
Memoria actualmente libre: 77MB
jul. 24, 2018 2:34:50 P. M. es.gob.afirma.standalone.SimpleAfirma main
INFORMACIÓN: Apertura como herramienta de escritorio
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.standalone.SimpleAfirma main
INFORMACIÓN: Se intenta una precarga temprana de NSS
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities loadNSS
INFORMACIÓN: Configuracion de NSS para SunPKCS11:
name=NSSCrypto-AFirma
library=/usr/lib/thunderbird/libsoftokn3.so
attributes=compatibility
slot=2
showInfo=false
allowSingleThreadedModules=true
nssArgs="configdir='sql:/USERHOME/.mozilla/firefox/aymueb4l.default' certPrefix='' keyPrefix='' flags='readOnly'"
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities loadNssJava8
INFORMACIÓN: NSS necesita una precarga o tratamiento de sus dependencias: java.lang.NoSuchMethodException: sun.security.pkcs11.SunPKCS11.<init>(java.io.InputStream)
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.keystores.mozilla.NssKeyStoreManager getNssProvider
GRAVE: Error obteniendo el proveedor NSS: java.lang.NoSuchMethodException: sun.security.pkcs11.SunPKCS11.<init>(java.io.InputStream)
java.lang.NoSuchMethodException: sun.security.pkcs11.SunPKCS11.<init>(java.io.InputStream)
at java.base/java.lang.Class.getConstructor0(Class.java:3302)
at java.base/java.lang.Class.getConstructor(Class.java:2110)
at es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities.loadNssJava8(MozillaKeyStoreUtilities.java:641)
at es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities.loadNSS(MozillaKeyStoreUtilities.java:684)
at es.gob.afirma.keystores.mozilla.NssKeyStoreManager.getNssProvider(NssKeyStoreManager.java:111)
at es.gob.afirma.keystores.mozilla.NssKeyStoreManager.init(NssKeyStoreManager.java:58)
at es.gob.afirma.keystores.mozilla.MozillaUnifiedKeyStoreManager.init(MozillaUnifiedKeyStoreManager.java:68)
at es.gob.afirma.keystores.AOKeyStoreManagerFactory.getNssKeyStoreManager(AOKeyStoreManagerFactory.java:488)
at es.gob.afirma.keystores.AOKeyStoreManagerFactory.getMozillaUnifiedKeyStoreManager(AOKeyStoreManagerFactory.java:519)
at es.gob.afirma.keystores.AOKeyStoreManagerFactory.getAOKeyStoreManager(AOKeyStoreManagerFactory.java:116)
at es.gob.afirma.standalone.SimpleAfirma.main(SimpleAfirma.java:571)
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.keystores.AOKeyStoreManager init
INFORMACIÓN: Inicializamos el almacen de tipo: DNIe y tarjetas FNMT-TIF
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.keystores.KeyStoreUtilities addPreferredKeyStoreManagers
INFORMACIÓN: No se ha encontrado un DNIe: java.security.ProviderException: No se ha podido inicializar el proveedor de DNIe: es.gob.jmulticard.apdu.connection.NoReadersFoundException: No se detectaron lectores de tarjetas en el sistema
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.keystores.AOKeyStoreManager init
INFORMACIÓN: Inicializamos el almacen de tipo: G&D SmartCafe con Applet PKCS#15
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.keystores.KeyStoreUtilities addPreferredKeyStoreManagers
INFORMACIÓN: No se ha encontrado una tarjeta G&D SmartCafe: java.security.ProviderException: No se ha podido inicializar el proveedor: es.gob.jmulticard.apdu.connection.NoReadersFoundException: No se detectaron lectores de tarjetas en el sistema
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities getMozillaPKCS11Modules
INFORMACIÓN: Se incluiran los modulos nativos de DNIe/CERES si se encuentran configurados
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities getMozillaPKCS11Modules
INFORMACIÓN: Obtenidos los modulos externos de Mozilla desde 'pkcs11.txt'
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.keystores.mozilla.MozillaUnifiedKeyStoreManager init
INFORMACIÓN: No se han encontrado modulos PKCS#11 externos instalados en Firefox
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.standalone.SimpleAfirma setKeyStoreManager
INFORMACIÓN: Establecido KeyStoreManager: Gestor de almacenes de claves Mozilla / Firefox (unificado) con nombre Mozilla / Firefox (unificado)
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by es.gob.afirma.standalone.SimpleAfirma (file:/usr/lib/AutoFirma/AutoFirma.jar) to field sun.awt.X11.XToolkit.awtAppClassName
WARNING: Please consider reporting this to the maintainers of es.gob.afirma.standalone.SimpleAfirma
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
jul. 24, 2018 2:34:51 P. M. es.gob.afirma.standalone.SimpleAfirma loadDefaultKeyStore
INFORMACIÓN: Se omite la carga concurrente de almacen por haberse hecho una precarga previa
jul. 24, 2018 2:35:03 P. M. es.gob.afirma.standalone.ui.pdf.PageLabel <init>
INFORMACIÓN: Factor de escala de las paginas: 2.0997505
jul. 24, 2018 2:35:09 P. M. es.gob.afirma.standalone.ui.pdf.SignPdfDialog positionSelected
INFORMACIÓN: Propiedades establecidas mediante GUI: {layer2Text=Firmado por $$SUBJECTCN$$ el día $$SIGNDATE=dd/MM/yyyy$$ con un certificado emitido por $$ISSUERCN$$, signaturePositionOnPageUpperRightX=527, signaturePositionOnPageLowerLeftY=21, layer2FontColor=black, signaturePositionOnPageLowerLeftX=160, signaturePositionOnPageUpperRightY=147, layer2FontSize=12, signaturePage=1, layer2FontFamily=0, layer2FontStyle=0}
jul. 24, 2018 2:35:09 P. M. es.gob.afirma.keystores.AggregatedKeyStoreManager getAliases
ADVERTENCIA: No se pudieron obtener los alias del almacen Mozilla / Firefox (unificado): java.lang.IllegalStateException: Se han pedido alias a un almacen no inicializado
jul. 24, 2018 2:35:09 P. M. es.gob.afirma.standalone.ui.SignPanelSignTask doSignature
GRAVE: El almacen no contiene ningun certificado que se pueda usar para firmar: es.gob.afirma.keystores.AOCertificatesNotFoundException: No se han encontrado certificados en el almacen acordes a los filtros establecidos
Hola Alfem, siento la tardanza en contestar...
Este es el resultado de dpkg -l libnss*
Deseado=desconocido(U)/Instalar/eliminaR/Purgar/retener(H) | Estado=No/Inst/ficheros-Conf/desempaqUetado/medio-conF/medio-inst(H)/espera-disparo(W)/pendienTe-disparo |/ Err?=(ninguno)/requiere-Reinst (Estado,Err: mayúsc.=malo) ||/ Nombre Versión Arquitectura Descripción +++-==============-============-============-================================= ii libnss-mdns:am 0.10-7 amd64 NSS module for Multicast DNS name ii libnss-mdns:i3 0.10-7 i386 NSS module for Multicast DNS name ii libnss3:amd64 2:3.28.4-0ub amd64 Network Security Service librarie ii libnss3:i386 2:3.28.4-0ub i386 Network Security Service librarie ii libnss3-1d:amd 2:3.28.4-0ub amd64 Network Security Service librarie ii libnss3-1d:i38 2:3.28.4-0ub i386 Network Security Service librarie ii libnss3-nssdb 2:3.28.4-0ub all Network Security Security librari ii libnss3-tools 2:3.28.4-0ub amd64 Network Security Service tools
Creo que tuve que instalar librerías de 32bits para un programa de robótica, no recuerdo bien si finalmente fueron todas o solo las necesarias...
Gracias de antemano
Yo quitaría las de i386, por si acaso.
Y después reinstalaría Autofirma para que agregue el certificado propio al navegador.
Efectivamente quitando las librerías de 32 bits funciona perfectamente¡¡¡
Muchas gracias.
En ubuntu 18 LTS hay que usar java-8-open, porque con la 11 no funciona. La app parece usar funciones de PKCS-certificado que han sido retiradas por Oracle(???). Suelta excepciones al arranque y no carga los certificados.
sudo update-alternatives --config java
Hola, utilizo Firefox ESR 52.9.0 (64 bit) en un sistema Debian Stretch. Para usar la admón electrónica de mi universidad es preciso ejecutar el programa autofirma.jnlp. He instalado java (jre-8u181-linux-x64) y he hecho el link para el plugin en el navegador. También he definido que los archivos jnlp se abran con javaws. Todo parece funcionar hasta que aparece el error SAF_19 y al parecer el programa no encuentra ningún certificado válido. Mi certificado FNMT está definido para Firefox y no está caducado. He probado con la solución sugerida por i-eperez y el error persiste. La salida de la consola java es:
Java Web Start 11.181.2.13 amd64
Using JRE version 1.8.0_181-b13 Java HotSpot(TM) 64-Bit Server VM
User home directory = /home/curro
------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
0-5: set trace level to <n>
----------------------------------------------------
-----------
WARNING: the jnlp file is invalid and will be blocked in a future release.
Exception: org.xml.sax.SAXParseException; lineNumber: 20; columnNumber: 38; The reference to entity "id" must end with the ';' delimiter.
-----------
-----------
WARNING: the jnlp file is invalid and will be blocked in a future release.
Exception: org.xml.sax.SAXParseException; lineNumber: 20; columnNumber: 38; The reference to entity "id" must end with the ';' delimiter.
-----------
Missing Application-Name manifest attribute for: http://portafirmas.uhu.es/autofirma/AutoFirma_1.4.2.1.jar
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.SimpleAfirma main
INFO: Enrique Invocacion por protocolo con URL:
afirma://sign?op=sign&id=HB2kZbTHFuxmWWLBXiYp&key=22962958&stservlet=https%3A%2F%2Fportafirmas.uhu.es%2FAutofirmaJWS%2FStorageService&format=CAdES&algorithm=SHA1withRSA&dat=IA%3D%3D
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.LookAndFeelManager applyLookAndFeel
INFO: Establecido 'Look&Feel' Metal
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.AutoFirmaUtil getDPI
SEVERE: Error obteniendo DPI: java.io.IOException: Cannot run program "wmic": error=2, No such file or directory
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.SimpleAfirma printSystemInfo
INFO: Resolucion DPI de pantalla: 0
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.SimpleAfirma printSystemInfo
INFO: Sistema operativo: Linux
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.SimpleAfirma printSystemInfo
INFO: Version del SO: 4.9.0-7-amd64
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.SimpleAfirma printSystemInfo
INFO: Version de Java: 1.8.0_181
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.SimpleAfirma printSystemInfo
INFO: Arquitectura del JRE: 64
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.SimpleAfirma printSystemInfo
INFO: Java Vendor: Oracle Corporation
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.SimpleAfirma printSystemInfo
INFO: Localizacion por defecto: en_US
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.SimpleAfirma printSystemInfo
INFO: Tamano actual en memoria: 246MB
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.SimpleAfirma printSystemInfo
INFO: Tamano maximo de memoria: 3538MB
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.SimpleAfirma printSystemInfo
INFO: Memoria actualmente libre: 195MB
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.SimpleAfirma main
INFO: Invocacion por protocolo con URL:
afirma://sign?op=sign&id=HB2kZbTHFuxmWWLBXiYp&key=22962958&stservlet=https%3A%2F%2Fportafirmas.uhu.es%2FAutofirmaJWS%2FStorageService&format=CAdES&algorithm=SHA1withRSA&dat=IA%3D%3D
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.protocol.ProtocolInvocationLauncher launch
INFO: Se invoca a la aplicacion para realizar una operacion de firma/multifirma
Sep 04, 2018 5:36:18 PM es.gob.afirma.core.misc.protocol.ProtocolInvocationUriParser parserUri
INFO: URI recibida: afirma://sign?op=sign&id=HB2kZbTHFuxmWWLBXiYp&key=22962958&stservlet=https%3A%2F%2Fportafirmas.uhu.es%2FAutofirmaJWS%2FStorageService&format=CAdES&algorithm=SHA1withRSA&dat=IA%3D%3D
Sep 04, 2018 5:36:18 PM es.gob.afirma.core.misc.http.DataDownloader downloadData
INFO: El contenido a obtener es Base64
Sep 04, 2018 5:36:18 PM es.gob.afirma.core.misc.http.DataDownloader downloadData
INFO: El contenido a obtener es Base64
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.protocol.ProtocolInvocationLauncher launch
INFO: Se inicia la operacion de firma
Sep 04, 2018 5:36:18 PM es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities loadNSS
INFO: Configuracion de NSS para SunPKCS11:
name=NSSCrypto-AFirma
library=/usr/lib/firefox-esr/libsoftokn3.so
attributes=compatibility
slot=2
showInfo=false
allowSingleThreadedModules=true
nssArgs="configdir='sql:/USERHOME/.pki/nssdb' certPrefix='' keyPrefix='' flags='readOnly'"
Sep 04, 2018 5:36:18 PM es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities loadNSS
INFO: Proveedor PKCS#11 para Firefox anadido: SunPKCS11-NSSCrypto-AFirma
Sep 04, 2018 5:36:18 PM es.gob.afirma.keystores.mozilla.MozillaUnifiedKeyStoreManager init
INFO: No se han encontrado modulos PKCS#11 externos instalados en Firefox
Sep 04, 2018 5:36:18 PM es.gob.afirma.keystores.AOKeyStoreManager init
INFO: Inicializamos el almacen de tipo: DNIe y tarjetas FNMT-TIF
Sep 04, 2018 5:36:18 PM es.gob.afirma.keystores.KeyStoreUtilities addPreferredKeyStoreManagers
WARNING: No se ha podido inicializar el controlador DNIe 100% Java: es.gob.afirma.keystores.AOKeystoreAlternativeException: Error al inicializar el modulo DNIe 100% Java: es.gob.afirma.keystores.AOKeyStoreManagerException: No se ha podido instanciar e instalar el proveedor 100% Java de Afirma para DNIe y tarjetas FNMT-TIF: java.lang.reflect.InvocationTargetException
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.protocol.ProtocolInvocationLauncherSign processSign
INFO: Obtenido gestor de almacenes de claves: Gestor de almacenes de claves de tipo NSS con nombre NSS de clase NSS
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.protocol.ProtocolInvocationLauncherSign processSign
INFO: Cargando dialogo de seleccion de certificados...
ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider apple.applescript.AppleScriptEngineFactory not found
ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider apple.applescript.AppleScriptEngineFactory not found
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.protocol.ServiceInvocationManager focusApplication
WARNING: Fallo cogiendo el foco en mac: java.lang.NullPointerException
Sep 04, 2018 5:36:18 PM es.gob.afirma.standalone.protocol.ProtocolInvocationLauncherSign processSign
SEVERE: No hay certificados validos en el almacen: es.gob.afirma.keystores.AOCertificatesNotFoundException: No se han encontrado certificados en el almacen acordes a los filtros establecidos
¿Debian en Mac? Posiblemente sea una combinacion poco probada. ¿Has visto el error de wmic? No se si es grave, pero parece que puede influir en la gestión de ventanas.
Por otro lado, parece que los certificados los busca en .pki/nssdb/
Podrias comprobar si ahí tienes cargado el tuyo, o si Firefox los está metiendo donde siempre (en .mozilla/firefox/tuperfil)
certutil -L -d sql:/home/TUUSUARIO/.pki/nssdb (si hay un fichero cert9,db)
¿Debian en Mac? Posiblemente sea una combinacion poco probada. ¿Has visto el error de wmic? No se si es grave, pero parece que puede influir en la gestión de ventanas.
Por otro lado, parece que los certificados los busca en .pki/nssdb/ Podrias comprobar si ahí tienes cargado el tuyo, o si Firefox los está metiendo donde siempre (en .mozilla/firefox/tuperfil)
certutil -L -d sql:/home/TUUSUARIO/.pki/nssdb (si hay un fichero cert9,db)
Hola, mi sistema no es MAC. Es un laptop Dell. La salida del comando que comentas es:
$ certutil -L -d sql:/home/curro/.pki/nssdb
Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI
SocketAutoFirmaLocal CT,C,C
Puedo utilizar el programa Autofirma para firmar pdfs pero cuando trato de utilizar el navegador y la admon electrónica aparece el consabido error SAF 19.
Ojito, en alguna release en el pasado autofirma se ha pasado a depender de librerías de 64bit.
Si tenéis en Linux instalado a la vez la versión de 32bits y de 64bits de libnss3 ( nombre de debian, concretamente) , por algún motivo el software intentará acceder al almacén de certificados con la librería de 32 bits aunque sea la versión de 64 bits y claro... no funcionará.
Solución: desinstalar libnss3:i386 (que probablemente tengáis instalada sólo para autofirma )
Probé con todas las opciones y me funcionó la de @AlfredoBB : sudo update-alternatives --config java, muchas gracias a todos!!
En mi caso, la solución de @AlfredoBB ha sido la clave para que funcione en un Ubuntu 18.10 64bits.
Autofirma no funciona con java 10 pero sí con java 8. Para solucionar el problema, explico a continuación de forma lo más elemental posible para los recién llegados a Linux los pasos que hay que seguir para resolverlo:
Verificar cuál es la versión de java que está instalada.
sudo update-alternatives --config java
El mensaje que aparece será, según lo que se tenga instalado, algo así:
Existen 2 opciones para la alternativa java (que provee /usr/bin/java). Selección Ruta Prioridad Estado ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 modo automático * 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 modo manual 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 modo manual
Pulsar el número que corresponda para elegir java 8, en este caso el número 2 (pudiera ser otro número, según qué se tenga instalado).
Si no aparece java 8 en la configuración, entonces hay que instalarlo:
sudo apt-get install openjdk-8-jre
Tras la instalación, volver a repetir 'sudo update-alternatives --config java' y elegir java 8 según indicado en los pasos anteriores 1 a 3.
[Edito: No obstante, ver el comentario de victorjss más abajo]
A la fecha, con Ubuntu 18.04 y Firefox 64.0, funciona la solución de @AlfredoBB: usar openjdk-8 en vez de openjdk-11 (por defecto):
sudo update-alternatives --config java
No es la mejor solución cambiar a Java 8 por defecto ya que afecta al resto de programas del sistema. Creo que lo mejor es cambiar la asociación de versión de Java solamente para las URL "afirma://..." (instrucciones para Ubuntu): 1) Instalamos Autofirma 2) Instalamos OpenJDK 8 (pero NO la hacemos la opción por defecto) 3) Modificamos (como root) el fichero "/usr/share/applications/afirma.desktop", sustituyendo la línea (la comentamos con '#')
Exec=/usr/bin/AutoFirma %u
por
Exec=/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar /usr/lib/AutoFirma/AutoFirma.jar %u
Reiniciando Firefox/Chrome debería funcionar AutoFirma con Java8, sin tener que cambiar la configuración por defecto de todo el S.Op. para que use una versión obsoleta de Java.
NOTA: para probar que la asociación con "afirma://" está bien hecha podemos lanzar:
xdg-open afirma://service?ports=60539,56638,49305
Saludos
El vie., 18 ene. 2019 a las 17:38, Jorge Juan-Chico (< notifications@github.com>) escribió:
A la fecha, con Ubuntu 18.04 y Firefox 64.0, funciona la solución de @AlfredoBB https://github.com/AlfredoBB: usar openjdk-8 en vez de openjdk-11 (por defecto):
sudo update-alternatives --config java
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ctt-gob-es/clienteafirma/issues/16#issuecomment-455628090, or mute the thread https://github.com/notifications/unsubscribe-auth/AMqeF22fIAG3LEKEdCIhmyk7KoK3Q4Yeks5vEgaNgaJpZM4SA5vT .
En ubuntu 18 LTS hay que usar java-8-open, porque con la 11 no funciona. La app parece usar funciones de PKCS-certificado que han sido retiradas por Oracle(???). Suelta excepciones al arranque y no carga los certificados.
sudo update-alternatives --config java
He tenido el mismo problema, uso Ubuntu 18.04.2 con Java 10, y no se ha resuelto hasta hacer el cambio a java 8. Salida de java -version: "openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)"
Antes había probado con los enlaces simbolicos en .pki/bssdb y seguía con el mismo error.
He tenido que cambiar de java 11 a java 8 para hacerlo funcionar también:
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
gracias @AlfredoBB
La solución que propone @victorjss me parece más elegante, pero en mi caso no funciona:
aolmedo@guybrush:~$ grep Exec /usr/share/applications/afirma.desktop
Exec=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -jar /usr/bin/AutoFirma %u
aolmedo@guybrush:~$ /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
aolmedo@guybrush:~$ xdg-open afirma://service?ports=60539,56638,49305
Error: Invalid or corrupt jarfile /usr/bin/AutoFirma
Lo siento, falta el "AutoFirma.jar" en la sentencia:
Exec=/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar /usr/lib/AutoFirma/AutoFirma.jar %u
Saludos
El sáb., 30 mar. 2019 a las 10:33, Alvaro Olmedo Rodriguez (< notifications@github.com>) escribió:
La solución que propone @victorjss https://github.com/victorjss me parece más elegante, pero en mi caso no funciona:
aolmedo@guybrush:~$ grep Exec /usr/share/applications/afirma.desktop
Exec=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -jar /usr/bin/AutoFirma %u
aolmedo@guybrush:~$ /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
aolmedo@guybrush:~$ xdg-open afirma://service?ports=60539,56638,49305
Error: Invalid or corrupt jarfile /usr/bin/AutoFirma
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ctt-gob-es/clienteafirma/issues/16#issuecomment-478232575, or mute the thread https://github.com/notifications/unsubscribe-auth/AMqeFx-f25BD7drv7ikcdzKQvpMXqAzdks5vbz2WgaJpZM4SA5vT .
Fallo mío, correcto, ahora funciona bien. Gracias @victorjss :+1:
Ojito, en alguna release en el pasado autofirma se ha pasado a depender de librerías de 64bit.
Si tenéis en Linux instalado a la vez la versión de 32bits y de 64bits de libnss3 ( nombre de debian, concretamente) , por algún motivo el software intentará acceder al almacén de certificados con la librería de 32 bits aunque sea la versión de 64 bits y claro... no funcionará.
Solución: desinstalar libnss3:i386 (que probablemente tengáis instalada sólo para autofirma )
Efectivamente ésta fue la solución para que funcionara tanto la aplicación de escritorio como la firma en página web (https://valide.redsara.es/valide/firmar/ejecutar.html permite la simulación de firma online para ver si funciona). Antes había probado la creación de enlaces a los archivos db en la carpeta .pki/nssdb sin éxito. Una vez eliminado libnss3:i386 borré a su vez los enlaces creados en .pki/nssdb y sigue funcionando.
La diferencia que he notado es que cuando no me funcionaba, la aplicación de escritorio se abría directamente y ahora antes de mostrarse la ventana solicita la clave del almacén de claves de Firefox. Lo mismo sucede dentro de Firefox: aunque tenga ya abierto el dispositivo de software mediante la contraseña maestra de Firefox, al realizar una firma se me vuelve a solicitar la contraseña.
Gracias por la ayuda.
Probado en Linux Mint 17.3 openJDK 1.8 AutoFirma 1.6.2
Desafortunadamente, eliminar libnss3.i686 puede ser un inconveniente (y no siempre funcionará, véase #27, no es solo libnss3, sino también sqlite3 y otras). Que no exista software multilib instalado es un requisito, en mi opinión, demasiado fuerte para un despliegue a ciudadanos en general. Por ejemplo, Steam requiere libnss3.i686 en Fedora.
Buenas!
He probado todas las sugerencias en este issue para solucionar el problema, pero no lo logro...
Ubuntu 18.04.2 LTS
AutoFirma 1.6.5 (instalado via .deb)
libnss3:amd64 2:3.35 (y no tengo version i386)
Con openjdk 11.0.3
falla con:
Error en la lectura de datos del socket: javax.net.ssl.SSLException: readHandshakeRecord
(aqui el log completo)
Y con openjdk 1.8.0_212
falla con:
Error en la lectura de datos del socket: javax.net.ssl.SSLHandshakeException: Received fatal alert: unknown_ca
(aqui el log completo)
Intenté con y sin los enlaces simbolicos en ~/.pki/nssdb/
, sin exito..
Alguna idea? Muchas gracias!
Mira si en el navegador tienes un certificado de CA que ponga algo de Autofirma.
Buenas,
Tengo instalado Autofirma 1.6 en mi Linux (Manjaro 17), el cual no puedo utilizar a través del portal portafirmas de la Universidad de Murcia. Utilizo Firefox 58
Cuando procedo a firmar, recibo el siguiente error:
Utilizando la aplicación gráfica, no hay ningún problema: Me sale el diálogo del almacén de claves y puedo usar mi firma. Sin embargo, desde Firefox tengo el siguiente error y no sé dónde se consultan los certificados (el certificado está instalado en el almacén del navegador, por lo que supongo que no lo coge de ahi).
Un saludo, Valentín