# [Programa .deb] AutoFirma (Solucionado)

## expobi

¿Alguien ha instalado el programa AutoFirma de gobierno de España para firma digital con Firefox?

Ayuda por favor, lo necesito para firmar documentos oficiales.

Por cierto tengo instalado Firefox-bin, lo digo por que parece que AutoFirma espera que la carpeta /etc/firefox exista y yo tengo /opt/firefoxLast edited by expobi on Mon Oct 05, 2020 5:22 am; edited 4 times in total

----------

## cameta

https://forums.gentoo.org/viewtopic-t-1058224-start-0.html

Ojo que hay que copiar los archivos a mano. Como ejecutes el deb te vas a cargar el enlace simbolico /usr/lib y eso te va a dejar el gentoo hecho polvo.

----------

## expobi

Gracias, ya había leído tu mensaje antes pero como era algo antiguo y para una versión anterior...

Así y todo seguí tus consejos, pero...

Cuento lo que he hecho asta ahora:

Copie los archivos individuales en uno de mis gentoos, y no funcionó, ( tiene firefox-bin y le cree los enlaces con las rutas que el programa espera, pero no funcionó)

Instalé el ultimo ubuntu para probar el programa y no funcionó

Instalé opensuse y hay si funcionó perfecto

Voy ha intentarlo con el archivo rpm de suse en gentoo y ya comentaré

----------

## expobi

Mirando el log de autofirma en opensuse parece que busca el archivo certutil, lo tiene en /usr/bin

Yo en gentoo no lo tengo, ¿alguien sabe que paquete lo instala?

----------

## cameta

Comprueba la versión de Firefox. Según pone ha de ser superior a la 41.

Prueba también en Chrome.

----------

## cameta

Creo que es esto. 

https://chromium.googlesource.com/chromium/src.git/+/master/docs/linux/cert_management.md

Gentoo: su -c "echo 'dev-libs/nss utils' >> /etc/portage/package.use && emerge dev-libs/nss" (You need to launch all commands below with the nss prefix, e.g., nsscertutil.)

----------

## cameta

https://packages.gentoo.org/packages/dev-libs/nss

Creo que este es el paquete.

 *Quote:*   

> equery files nss
> 
>  * Searching for nss ...
> 
>  * Contents of dev-libs/nss-3.51:
> ...

 

----------

## expobi

Nada que no consigo que funcione:

Autofirma solo se ejecuta si la llamas desde consola y solo si la llamas por el nombre:

si > autofirma

no > usr/bin/autofirma

el archivo se encuentra en /usr/bin

Tampoco se ejecuta con el 'archivo de configuración del escritorio' 

Y tampoco se conecta firefox con autofirma cuando se necesita

Incluso he intentado copiando unos archivos que se habían creado en la otra distribución y en gentoo no, sigue sin funcionar.

Ya no se que hacer, voy a tener que dejar instalado opensuse para emergencias?

----------

## cameta

Yo también deje correr lo de autofirma.

Como emergencia puedes poner una opensuse en algo llamado oracle virtualbox.

----------

## cameta

He estado mirando en las especificaciones de autofirma y pone esto:

 *Quote:*   

> En linux se necesita un entorno de ejecución de Java 8 de Oracle u OpenJDK 8 

 

Y me temo que las versiones que tenemos instaladas son posteriores y no funcionan

Comprueba que java lleva el opensuse.

En gentoo hay este paquete en portage

https://packages.gentoo.org/packages/dev-java/openjdk-bin

Mira esto

https://www.pcrednet.com/blog/10008-tutoriales/90-instalar-autofirma-en-ubuntu-18-04-y-linux-mint-19

Describe este problema con el Java y el porque no se ejecuta en escritorio.

----------

## cameta

De momento he conseguido hacer que la maldita autofirma funcione en un Windows 7 que tengo instalado en una oracle VM. No es evidentemente lo ideal   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad:   ya que nuestro objetivo es que funcione en nuestra distribución favorita.

Cosas importantes a detallar y que creo serán necesarias para que esto funcione en Gentoo.

1º Necesitamos un lugar web que compruebe que nuestra autofirma funcione adecuadamente.

https://sede.carm.es/cryptoApplet/ayuda/probarautofirma.html

2º  En Windows uno de los errores que a veces se producía y que me volvía loco era este:

 No se ha podido conectar con AutoFirma.

El problema era este:

El  problema  es  que  durante  el  proceso  de  instalación  de  AutoFirm@,  no  se instaló  el  certificado  de  confianza  (AutoFirma_ROOT.cer)  para  la  comunicación  SSL  entre nuestra página web y los servidores de AutoFirm@, en los almacenes de confianza del sistema o del navegador Mozilla Firefox.Solución:Se  debemos  proceder  a  instalar  manualmente  el  certificado  (AutoFirma  ROOT), según el sistema operativo o el navegador usado como Mozilla Firefox.

Sigo trabajando en el asunto, que con el tema del confinamiento no hay otra manera de presentar documentos ante la administración, incluyendo el tema de las multas inconstitucionales por supuestas violaciones del Estado de Alarma.   :Evil or Very Mad:   :Evil or Very Mad:   :Evil or Very Mad:   :Evil or Very Mad: 

PS

De momento una maquina virtual os puede sacar del apuro.

----------

## cameta

Voy a intentar instalar Autofirma en mi distribución gentoo. Para ello voy a ir detallando los pasos que voy a seguir en este mensaje, el cual iré editando  a medida que avance  y vaya encontrando problemas

1º Descargar autofirma de https://estaticos.redsara.es/comunes/autofirma/currentversion/AutoFirma_Linux.zip

2º Crear una carpeta llamada  ~/proyectoautofirma

----------

## cameta

Voy a intentar instalar Autofirma en mi distribución gentoo. Para ello voy a ir detallando los pasos que voy a seguir en este mensaje, el cual iré editando  a medida que avance  y vaya encontrando problemas

1º Descargar autofirma de https://estaticos.redsara.es/comunes/autofirma/currentversion/control.tar.xzip

2º Crear una carpeta llamada  ~/proyectoautofirma y copiar a ella el archivo control.tar.xz 

3º Descomprimir el archivo zip

4º Descomprimir el deb con ar vx AutoFirma_1_6_5.deb

5. Aparecen dos archivos control.tar.xz y data.tar.xz

6 descomprimir estos dos archivos con 

7º Aconsejo borrar todos los archivos que no son necesarios y que ya hemos descomprimido para evitar errores y tener una carpeta limpia y ordenada. excepto

AF_manual_instalacion_usuarios_ES.pdf

8º  Como usuario root copiar los archivos a sus correspondientes directorios.

9º Ejecutar  postinst  y preinst los cuales instalarán los certificados en los navegdores

Resultado

Funciona la aplicación. Dejo video.

https://www.youtube.com/watch?v=EYjRGCxTVnc&feature=youtu.be

No funciona en absoluto en firefox. Con chrome se inicia autofirma pero tampoco funciona.

https://www.youtube.com/watch?v=d1c96u8kDtI

Plan de ataque

Intentare instalar autofirma en una Open suse de la maquina vitual a ver si aprendo que es lo que hay de diferente y que esta dando estos problemas.

----------

## pcmaster

En la página 3 del manual dice que está publicado a elegor entre GPL 2.0 o posterior o EUPL

Ambas licencias obligan a publicar el código fuente. El enlace al mismo que hay en el manual no funciona, pero lo he encontrado aquí: 

https://administracionelectronica.gob.es/ctt/clienteafirma/descargas

----------

## cameta

El programa autofirma ya ha funcionado, el tema es que en el navegador NO.

----------

## cameta

Ya he instalado una open suse en la Maquina virtual. Voy a instalar allí autofirma a ver si funciona.

----------

## expobi

En opensuse en otra partición funciona, aunque en realidad no encuentra el certificado del navegador automáticamente, se abre una pantalla de la aplicación autofirma y hay que seleccionar una copia de tu certificado personal en el disco, y entonces te permite firmar los documentos de la administración.

He de suponer que lo normal sería que usara el certificado instalado en el navegador pero no es así.

----------

## expobi

Por cierto el paquete  .deb y el .rpm no son iguales, el .deb parece demasiado intrusivo, ejecuta demasiadas cosas que no tienen que ver con la copia de archivos.

Con el .rpm copiando los archivos a su destino funciona autofirma independiente pero no en el navegador, (No se ha podido conectar con AutoFirma)  :Sad: 

Volveré a intentarlo con el rpm. en  una copia limpia de gentoo. que uso alternativamente.

----------

## cameta

 *Quote:*   

>  aunque en realidad no encuentra el certificado del navegador automáticamente, se abre una pantalla de la aplicación autofirma y hay que seleccionar una copia de tu certificado personal en el disco, y entonces te permite firmar los documentos de la administración. 

 

El mismo comportamiento se da en Windows.

 *Quote:*   

> funciona autofirma independiente pero no en el navegador, (No se ha podido conectar con AutoFirma) 

 

Parece como un problema de comunicación con las nss.

¿Por cierto que uses tienen tus NSS y el java?

Las mías son estas

 *Quote:*   

> mestres@tux ~ $ equery uses nss
> 
> [ Legend : U - final flag setting for installation]
> 
> [        : I - package is installed with flag     ]
> ...

 

Yo mañana voy a intentar a hacer funcionar autofirma en  Open Suse a ver que aprendo.

Y la verdad es que es necesario esto ahora, con toda la administración paralizada.

----------

## quilosaq

Mi "receta".

AVISO: Esta receta no funciona. La dejo como referencia. Más adelante hay otra que si funciona, está en https://forums.gentoo.org/viewtopic-p-8451494.html#8451494

Instalar las dependencias necesarias:

icedtea-bin (con use abi_x86_32. Otras máquinas virtuales java también podrían funcionar)

nss (con uses utils y abi_x86_32)

Crear un directorio de trabajo y abrirlo:

```
mkdir ./autofirma-trabajo

cd ./autofirma-trabajo
```

Copiar AutoFirma_1_6_5.deb al directorio de trabajo

Descomprimirlo

```
ar x ./AutoFirma_1_6_5.deb
```

Crear un directorio para los scripts del paquete

```
mkdir ./scripts
```

Extraer los scripts

```
tar xvJf ./control.tar.xz -C ./scripts
```

A partir de aquí ejecutar como root sin cambiar de directorio.

Ejecutar el script de preinstalación

```
(root)# ./scripts/preinst
```

Se cerrará el navegador.

Extraer los archivos del paquete al sistema raiz

```
(root)# tar xvJf ./data.tar.xz -C / --keep-directory-symlink --no-overwrite-dir
```

Ejecutar el script de postinstalación

```
(root)# ./scripts/postinst
```

Dará un error al querer copiar un archivo a una ruta inexistente. No importa.

Actualización: Añadida use abi_x86_32 a icedtea-bin.Last edited by quilosaq on Thu Apr 30, 2020 11:09 pm; edited 3 times in total

----------

## cameta

Lo vamos a probar. Por cierto ya puedo confirmar que en Open suse funciona la susodicha autofirma.

----------

## cameta

 *Quote:*   

> aunque en realidad no encuentra el certificado del navegador automáticamente, s

 

En Windows se daba este problema al firmar con firefox. Se ve que por defecto busca los certificados en el  profile Default del navegador Firefox. Tuve que añadirlos a ese profile y entonces si que los detectaba.

Ampliación.

En Open suse sucede exactamente lo mismo

Hay que crear un perfil llamado default en firefox

Instalar en ese perfil el certificados de la FNMT

A partir de ese momento detecta tanto los certificados en la aplicación, como cuando firmas con el navegador.

PS

Para volver loco a la gente que intenta usar autofirma con estas chapuzas. Para mi esto es una programación muy pobre.

PSS

```
/

./etc/

./etc/firefox/

./etc/firefox/pref/

./etc/firefox/pref/AutoFirma.js

./usr/

./usr/bin/

./usr/bin/AutoFirma

./usr/lib/

./usr/lib/AutoFirma/

./usr/lib/AutoFirma/AutoFirma.jar

./usr/lib/AutoFirma/AutoFirma.png

./usr/lib/AutoFirma/AutoFirmaConfigurador.jar

./usr/share/

./usr/share/AutoFirma/

./usr/share/AutoFirma/AutoFirma.svg

./usr/share/applications/

./usr/share/applications/afirma.desktop

./usr/share/common-licenses/

./usr/share/common-licenses/eupl-1.1.txt

./usr/share/common-licenses/gpl-2.0.txt

./usr/share/doc/

./usr/share/doc/AutoFirma/

./usr/share/doc/AutoFirma/EUPL-1.1.gz

./usr/share/doc/AutoFirma/GPL-2.0.gz

./usr/share/doc/AutoFirma/copyright

```

```
./scripts/postinst

d’abr. 30, 2020 2:37:13 PM es.gob.afirma.standalone.configurator.AutoFirmaConfigurator <init>

INFO: Se configurara la aplicacion en modo nativo

d’abr. 30, 2020 2:37:14 PM es.gob.afirma.standalone.configurator.ConsoleManager getConsole

INFO: Se utilizara la consola de tipo I/O

d’abr. 30, 2020 2:37:14 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure

INFO: Identificando directorio de aplicación...

d’abr. 30, 2020 2:37:14 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure

INFO: Directorio de aplicación: /usr/lib64/AutoFirma

d’abr. 30, 2020 2:37:14 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure

INFO: Generando certificado para la comunicación con el navegador web...

d’abr. 30, 2020 2:37:14 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure

INFO: Se guarda el almacén de claves en el directorio de instalación de la aplicación

d’abr. 30, 2020 2:37:15 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure

INFO: Se va a instalar el certificado en el almacen de Mozilla Firefox

d’abr. 30, 2020 2:37:15 PM es.gob.afirma.standalone.configurator.ConfiguratorFirefoxLinux createScriptsToSystemKeyStore

INFO: Comprobamos que se encuentre certutil en el sistema

d’abr. 30, 2020 2:37:15 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure

INFO: Fin de la configuración

Generacion de certificados

Instalacion del certificado CA en el almacenamiento de Firefox y Chrome

cp: cannot create regular file '/usr/local/share/ca-certificates/AutoFirma_ROOT.crt': No such file or directory

Updating certificates in /etc/ssl/certs...

0 added, 0 removed; done.

Running hooks in /etc/ca-certificates/update.d...

done.

Instalacion del certificado CA en el almacenamiento del sistema

```

Falta la última parte de la receta.

----------

## expobi

Ya conseguí que funcione

Pasos para firefox-bin:

· descargarse autofirma de https://firmaelectronica.gob.es/Home/Descargas.html

· descomprimir AutoFirma_Linux.zip (en mi caso en mi carpeta personal)

· descomprimir AutoFirma_1_6_5.deb

· descomprimir control.tar.xz y data.tar.xz

· crear la carpeta /etc/firefox/pref/

· crear la carpeta /usr/lib/AutoFirma/

· crear la carpeta /usr/share/AutoFirma/

· crear la carpeta /usr/share/common-licenses/

· crear la carpeta /usr/share/doc/AutoFirma/

· crear la carpeta /usr/local/share/

· crear un enlace en la misma apuntando a /usr/share/ca-certificates

· copiar los archivos de ~/AutoFirma_Linux/AutoFirma_1_6_5/data/ en sus ubicaciones (para eso hemos hecho lo anterior)

· crear el enlace  /opt/firefox/defaults/pref/AutoFirma.js apuntando a  /etc/firefox/pref/AutoFirma.js

· ahora hay que reinstalar dev-libs/openssl con la use rfc3779 y dev-libs/nss con la use utils activadas si no lo estuvieran

. comprobar que /root/.local/share/applications/ y /root/.config/ existen (se supone que un perfil de escritorio los tiene)

· apagar el navegador

· en el archivo ~/AutoFirma_Linux/AutoFirma_1_6_5/control/postinst comentar la sección que sigue a:

# Enlazamos el fichero de asociacion del protocolo "afirma" en Firefox

# para que aplique a otros navegadores

(en gentoo no tenemos icecat ni firefox-esr)

· ejecutar como root en consola ~/AutoFirma_Linux/AutoFirma_1_6_5/control/postinst

 si el almacén de contraseñas de firefox tiene contraseña maestra te la pedirá

Creo que eso es lo que funciona.

Ahora ya puedo firmar desde el navegador. Funciona mejor que en opensuse,    :Laughing:   :Laughing: 

Si no funciona comentarlo que igual me salte algún paso, probé varias cosas.

 Ver ampliación para un funcionamiento perfecto con firefox 

editado el 5/6/2020

 Ver esto antes de empezar con la instalación o después de haberlo instaladoLast edited by expobi on Thu Jun 04, 2020 10:38 pm; edited 6 times in total

----------

## cameta

Felicidades.

Por lo que veo a mi me falta la use rfc3779

```
Funciona mejor que en opensuse, :lol: :lol:
```

Está claro que hay que hacer de Hacker para  hacer funcionar los inventos informáticos de la administración.

----------

## expobi

Y que lo digas.

Pero la mayoría  de los problemas con esta gran comunidad se solucionan.

----------

## cameta

Ya esta funcionando   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   el problema era el oracle-jre-bin-1.8. He puesto el icedtea-bin-8 y ya puedo firmar. Ahora he de solucionar el problema de que no encuentra el álmacen de certificados.. Menudas chapuzas.

----------

## expobi

Parece ser que autofirma tiene un problema con los perfiles de firefox, si no con todos los navegadores.

Extracto de ~/.afirma/AUTOFIRMA.afirma.log.xml

```
<record>

  <date>2020-05-01T11:07:11</date>

  <millis>1588324031110</millis>

  <sequence>21</sequence>

  <logger>es.gob.afirma</logger>

  <level>INFO</level>

  <class>es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities</class>

  <method>loadNSS</method>

  <thread>17</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/.mozilla/firefox/8xb9c34n.default' certPrefix='' keyPrefix='' flags='readOnly'"</message>

</record>
```

Fijarse en la penúltima linea y comparar con el contenido de ~/.mozilla/firefox/profiles.ini

```
[Profile1]

Name=default

IsRelative=1

Path=8xb9c34n.default

Default=1

[Profile0]

Name=default-release

IsRelative=1

Path=q9xtwkr9.default-release

[General]

StartWithLastProfile=1

Version=2

[Install6AFDA46A1A8AD48]

Default=q9xtwkr9.default-release

Locked=1
```

Si lo dejamos así, comentando el profile default ya que el que usamos normalmente es el default-relase.

(He intentado cambiar los números de inicio en el profile pero entonces firefox me pide que cree un nuevo perfil, esta parece una solución sencilla y funciona.)

```
#[Profile1]

#Name=default

#IsRelative=1

#Path=8xb9c34n.default

#Default=1

[Profile0]

Name=default-release

IsRelative=1

Path=q9xtwkr9.default-release

[General]

StartWithLastProfile=1

Version=2

[Install6AFDA46A1A8AD48]

Default=q9xtwkr9.default-release

Locked=1
```

Cambios que se ven el log de autoafirma:

```
<record>

  <date>2020-05-01T11:21:28</date>

  <millis>1588324888401</millis>

  <sequence>21</sequence>

  <logger>es.gob.afirma</logger>

  <level>INFO</level>

  <class>es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities</class>

  <method>loadNSS</method>

  <thread>17</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/.mozilla/firefox/q9xtwkr9.default-release' certPrefix='' keyPrefix='' flags='readOnly'"</message>

</record>
```

Ahora funciona como debiera, cuando quieres firmar un documento de la administración desde el navegador pide la clave del almacén de claves de firefox,

a continuación te muestra los certificados personales instalados para elegir. Eliges uno y lo identifica correctamente. Y se procede a la firma sin problemas.

Edito: Ahora cuando ejecutas AutoFirma desde el escritorio te pide la contraseña del almacén de firefox y te muestra la lista de certificados cuando quieres firmar un archivo.Last edited by expobi on Fri May 01, 2020 11:18 am; edited 2 times in total

----------

## expobi

Por cierto cameta

 *Quote:*   

> Ya esta funcionando      el problema era el oracle-jre-bin-1.8. He puesto el icedtea-bin-8 y ya puedo firmar

 

Yo antes tenia instalado icedtea-bin, pero como no funcionaba autofirma y parecía problemas de java lo cambie por dev-java/openjdk-bin y como puedes ver funciona, asi que parece que cualquiera de esos paquetes parece que son validos para autofirma.

Y tampoco tengo activada la use abi_x86_32

----------

## cameta

Hola,

la use rfc3779 en openssl-1.1.1f no me es necesaria con el  icedtea-bin funciona exactamente igual.

Problema de los perfiles. 

Yo he hecho lo siguiente:

about:profiles

Cambiar el nombre de mi perfil a default2

Crear un nuevo perfil con el nombre default y convertirlo en el por defecto

Arrancar en este nuevo perfil e instalar los certificados/firma electronica de la FNMT

Establecer de nuevo por defecto el perfil default2, apagar navegador y volverlo a poner en marcha

Cuando hago el test de autofirma en la web detecta los certificados instalados en default.  También la aplicación AutoFirma detecta esos certificados. 

 *Quote:*   

> Chiste 
> 
> -No se que hacer durante la cuarentena
> 
> -Oye puedes ayudarme a presentar unos papeles en el registro común, sale una cosa que se llama autofirma...
> ...

 

PS

No se pero me parece que la instalación de este programa deja un poco rara la ventana del gestor de certificados y es díficil acceder a la opción de borrar certificados. Bueno tengo un usuario para hacer pruebas con esto.

----------

## expobi

Bueno es otra solución.

A mi no me da problemas la ventana del gestor de certificados, puedo borrar e instalar certificados sin problema, ( ya lo he tenido que hacer )

----------

## cameta

[No se pero me parece que la instalación de este programa deja un poco rara la ventana del gestor de certificados y es difícil acceder a la opción de borrar certificados. Bueno tengo un usuario para hacer pruebas con esto

PS

También me he de entretener viendo si es capaz de detectar el DNI electrónico. (pero no es algo urgente)

----------

## cameta

 *Quote:*   

> Bueno es otra solución.
> 
> A mi no me da problemas la ventana del gestor de certificados, puedo borrar e instalar certificados sin problema, ( ya lo he tenido que hacer )

 

Si ya me he fijado que has echo algo con el  profiles.ini. Intentare montar algo parecido. 

Escribiré otra "receta" de como lo he hecho yo. 

Ahora lo ideal sería que alguien hiciese un ebuild para autofirma.

----------

## expobi

Buscando por internet por qué mi solución con el profile.ini funcionó encontre esto:

https://github.com/ctt-gob-es/clienteafirma/issues/86#issuecomment-497671066

por si a alguien le interesa, se da una explicación y se plantean otras variantes.

----------

## cameta

Mi receta. (se está editando) 

1º Instalar las dependencias necesarias:

icedtea-bin (con use abi_x86_32.  Las máquinas virtuales java oracle-jdk-bin-1.8 y oracle-jre-bin-1.8 no funcionan en el navegador

nss (con uses utils y abi_x86_32)

openssl (con use rfc3779 )

2º  Descargar autofirma de https://estaticos.redsara.es/comunes/autofirma/currentversion/control.tar.xzip

3º Descomprimir autofirma con unzip

4ºCrear un directorio de trabajo y abrirlo:

```
 mkdir ./autofirma-trabajo

cd ./autofirma-trabajo
```

5º Copiar AutoFirma_1_6_5.deb al directorio de trabajo

Descomprimirlo

```
 ar x ./AutoFirma_1_6_5.deb 
```

6º Crear un directorio para los scripts del paquete

```
 mkdir ./scripts   
```

7º Extraer los scripts

```
 tar xvJf ./control.tar.xz -C ./scripts   
```

8º A partir de aquí ejecutar como root sin cambiar de directorio.

Ejecutar el script de preinstalación

```
(root)# ./scripts/preinst   
```

Se cerrará el navegador.

9º Extraer los archivos del paquete al sistema raiz

(

```
root)# tar xvJf ./data.tar.xz -C / --keep-directory-symlink --no-overwrite-dir   
```

De esta manera no habremos de crear directorios a mano, ni copiar los archivos. Evitamos también dañar el  

10º crear la carpeta /usr/local/share/

```
mkdir /usr/local/share
```

crear un enlace en la misma apuntando a /usr/share/ca-certificates 

```
ln -sf  /us/usr/share/ca-certificates
```

(evita un error en el script de postinstalación)

Ejecutar el script de postinstalación

```
(root)# ./scripts/postinst   
```

Dará un error al querer copiar un archivo a una ruta inexistente. No importa.

Editar el profile de firefox ya que autofirma busca los certificados en el primer perfil que encuentra

----------

## expobi

Hola cameta

 *Quote:*   

>  openssl (la use rfc3779 no creo que haga falta pero daño no hace) 

 

¿Qué firefox usas? 

Yo uso el firefox-bin-75.0, lo pregunto por que después de hacer todo lo que comente hasta que no recompile openssl con esa use no funciono.

AutoFirma me daba fallos ROA asi que investigando, por ejemplo https://en.wikipedia.org/wiki/Resource_Public_Key_Infrastructure deduje que no se estaban negociando bien los certificados con el servidor desde mi navegador.

Es interesante saber por que a mi me hace falta y a ti no.  :Rolling Eyes: 

Tampoco me hace falta nss con use abi_x86_32, ¿por qué?¿ que marca la diferencia?   :Rolling Eyes:  No la tengo ni a nivel global ni en ningún otro paquete.  :Shocked: 

Tambien:

 *Quote:*   

> Dará un error al querer copiar un archivo a una ruta inexistente. No importa. 

 

¿Qué error?

A mi no me dio ninguno, es curiosidad. Igual hice algún paso que no he comentado.

Un saludo.

----------

## expobi

cameta

 *Quote:*   

>  También me he de entretener viendo si es capaz de detectar el DNI electrónico. (pero no es algo urgente)

 

Haber si puedes sacar algo de tiempo, eso mejoraría el post muchisimo para los que lo lean buscando soluciones.

Yo no puedo ayudar en ese apartado, tengo el DNIe de la serie que vino con certificados corruptos o directamente sin certificados, y precisamente la cita para renovarlo me tocaba en medio de la cuarentena  :Evil or Very Mad: 

Seguro que hay personas que te lo agradecerán.

Un saludo sincero.

----------

## cameta

 *Quote:*   

> ¿Qué error?
> 
> A mi no me dio ninguno, es curiosidad. Igual hice algún paso que no he comentado. 

 

Es aquel link que hiciste.

----------

## cameta

 *Quote:*   

>  A ver si puedes sacar algo de tiempo, eso mejoraría el post muchisimo para los que lo lean buscando soluciones. 

 

Ya lo he probado, funciona perfectamente.

1º Tiene que estar funcionando el DNIe en gentoo (había una guia aquí en el foro) 

2º Asegurarse que autofirma tiene activada en su configuración una casilla que pone Habilitar Jmulticard para el uso  de las tarjetas de la FNMT Y DNIe. Esta activado por defecto. apagar autofirma

2º Activar el servicio pcscd  

3º Poner el DNIe en el lector y ya funciona. os pedirá evidentemente la contraseña. 

Cuando pueda pondré un video con todo el proceso.

----------

## cameta

 *Quote:*   

> Yo uso el firefox-bin-75.0, lo pregunto por que después de hacer todo lo que comente hasta que no recompile openssl con esa use no funciono.
> 
> AutoFirma me daba fallos ROA asi que investigando, por ejemplo https://en.wikipedia.org/wiki/Resource_Public_Key_Infrastructure deduje que no se estaban negociando bien los certificados con el servidor desde mi navegador.
> 
> Es interesante saber por que a mi me hace falta y a ti no. 

 

el 68, prueba a sacar la use, a ver si sigue funcionando. Es que a mi no me funcionaba tampoco, la puse y funciono, la saque y siguió funcionando.

----------

## expobi

Hecho, reinstalado sin la use y funciona.

Por lo que he podido ver comparando el gentoo de la partición donde no se instaló openssl con la use rfc3779

 y la que sí se instaló openssl con la use rfc3779,  a pesar de haber reinstalado openssl en está última,  hay dos enlaces: 

```
/etc/ssl/certs/6a0e091a.0

/etc/ssl/certs/AutoFirma_ROOT.pem
```

que apuntan a:

```
AutoFirma_ROOT.pem

/usr/local/share/ca-certificates/AutoFirma_ROOT.crt

(osea los dos apuntan al mismo sitio)
```

que siguen estando después de la reinstalación y antes no estaban, supongo que los puso hay openssl para gestionar la negociación basada en X.509, pero al reinstalar sin esa caracteristica no los borró y por eso sigue funcionando.

Es mi humilde opinión pero yo lo voy a dejar puesto con la use, que si en el futuro otro programa o el mismo necesitan de esa caracteristica a lo mejor no me acuerdo y me vuelvo loco buscando soluciones.

----------

## cameta

 *Quote:*   

> Es mi humilde opinión pero yo lo voy a dejar puesto con la use, que si en el futuro otro programa o el mismo necesitan de esa caracteristica a lo mejor no me acuerdo y me vuelvo loco buscando soluciones.

 

Yo haré lo mismo y de paso voy a poner un comentario en el package.use de para que sirve esa USE. 

Por cierto, ¿te has fijado en el montón de lecturas que tiene este hilo?

Señal de que eso de autofirma da problemas a la gente.

----------

## expobi

Sí, precisamente por eso, aunque al principio me conforme con la solución del opensuse en otra partición, tus comentarios y la cantidad de visitas me empujaron a encontrar una solución para nuestra distribución.

Al fin y al cabo es una buena manera de pasar el tiempo en esta cuarentena.

Me satisface que lo consiguiéramos, y si hemos ayudado a alguien todavía mejor.

----------

## cameta

Una gran herramienta para hacer pruebas es la Oracle xVM Virtual Box.

Instalas cualquier sistema operativo y puedes hacer experimentos sin miedo a romper nada. 

¿Oye creees que se podria adaptar un ebuild a partir de esto?

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=autofirma

Yo es que nunca he hecho un ebuild pero esa si que sería una forma elegante de instalar autofirma.

----------

## expobi

Por si alguien llegó hasta aquí:

He hecho un par de modificaciones en el mensaje con la solución, había un par de cosas que hice y no las puse en su momento. 

(lineas ·15 a ·20 del listado de pasos) no afectan al buen funcionamiento de AutoFirma, pero así queda mejor.

Virtual-box está bien, pero a mí no me gusta, no me permite ver los cambios entre un SO y otro sin que estén ejecutándose los dos.

Supongo que para pruebas está bien pero yo prefiero instalar en partición aparte (no es que me falten discos precisamente)

En cuanto a lo del ebuild, no tengo tanto conocimiento de las tripas de portage ni de las convenciones de los ebuild, se podría hacer un script pero creo que la mayoría de los que usan gentoo no son de los que les gusta que se lo den todo masticado   :Laughing:   :Laughing:  y si han llegado hasta aquí es probable que ya tengan funcionando AutoFirma.

----------

## pcmaster

 *expobi wrote:*   

> 
> 
> Yo no puedo ayudar en ese apartado, tengo el DNIe de la serie que vino con certificados corruptos o directamente sin certificados, y precisamente la cita para renovarlo me tocaba en medio de la cuarentena 

 

En mi caso se me caducaron los certificados (duran un par de años) y se pueden renovar sin pedir cita previa, en una máquina similar a un cajero automático que hay en las oficinas del DNI. La máquina te identifica mediante la huella dactilar y hace la renovación. No sé si en tu caso funcionará bien.

----------

## expobi

En tu caso caducaron, lo que significa que eran válidos.

En los de mi serie vienen mal de fábrica.

Acompañe a renovar su carnet a otra persona y me dio por meter mi DNIe en la maquina de renovación de certificados, 

como me dio fallo se lo comente a la policía y ellos me explicaron lo de la serie defectuosa,

 y me ofrecieron la renovación, por cierto para estos DNIe defectuosos por ese motivo, la renovación es gratuita, no hay ni que llevar foto,

 te dan el nuevo DNI.3 que viene también con tecnología NFC

----------

## cameta

 *Quote:*   

> Virtual-box está bien, pero a mí no me gusta, no me permite ver los cambios entre un SO y otro sin que estén ejecutándose los dos. 

 

Se usa para pruebas, no para usar de manera rutinaria un sistema operativo.

----------

## cameta

 *Quote:*   

> En cuanto a lo del ebuild, no tengo tanto conocimiento de las tripas de portage ni de las convenciones de los ebuild, 

 

Igual un día me entretengo yo, cuando venga la segunda oleada de la covid-19.   :Very Happy: 

----------

## quilosaq

He hecho un ebuild que creo que funciona. Se puede descargar desde:

https://gitlab.com/quilosaq/qq-gentoo/-/raw/master/app-office/autofirma-bin/autofirma-bin-1.6.5-r1.ebuild

Se puede usar en un repositorio local o clonar el repositorio en el que está:

https://gitlab.com/quilosaq/qq-gentoo.git

Editado para actualizar enlace al ebuild.Last edited by quilosaq on Sun Jun 28, 2020 3:34 pm; edited 1 time in total

----------

## expobi

!Aviso importante¡

Después de un tiempo funcionando con AutoFirma sin problemas y de unas cuantas actualizaciones del sistema también sin problemas, me dio por retomar la gestión de certificados en Gentoo y me encontre con esto en https://wiki.gentoo.org/wiki/Certificates

 *Quote:*   

> Certificados ca compatibles con OpenSSL
> 
> Las bibliotecas compatibles con OpenSSL usan el directorio /etc/ssl/certs como el almacén de confianza (predeterminado). Todos los certificados de confianza se enumeran en este directorio (generalmente a través de enlaces simbólicos a su ubicación real), junto con un único archivo ca-certificados.crt que tiene todos los certificados de CA confiables enumerados.
> 
> De manera predeterminada, este directorio se administra automáticamente a través del paquete  app-misc/ca-certificates, que utiliza los certificados de CA del almacén de certificados de CA de Mozilla y los vuelve a empaquetar para usarlos con aplicaciones basadas en OpenSSL.
> ...

 

Visto esto miro en /etc/ssl/certs y compruebo que tengo 126 archivos (que antes no tenia), por ejemplo: ._cfg0000_Sonera_Class_2_Root_CA.pem

Revisando donde apunta el enlace compruebo que apuntan a /usr/share/ca-certificates/mozilla/ igual que los otros 126 que se llaman igual pero sin el ._cfg0000_ y de igual contenido que también están en ese directorio.

Esto debe  haber sucedido por haber creado el enlace /usr/local/share/ca-certificates/ apuntando a /usr/share/ca-certificates/ y al ejecutarse el script mencionado antes se han duplicado los enlaces a los certificados.

No me parecía muy correcto precisamente así que hice lo siguente:

Borre todos los enlaces de /etc/ssl/certs que empiezan por  ._cfg0000_

Convertir el enlace /usr/local/share/ca-certificates/ en un directorio  y copiar dentro AutoFirma_ROOT.crt

Funciona perfectamente, incluso mas rápido a la hora de buscar los certificados con AutoFirma

No se si en la instalación funcionara bien la misma creando /usr/local/share/ca-certificates como un directorio o como un enlace como puse al principio, la verdad ya no recuerdo con el detalle de entonces como funcionaba la instalación, con estos últimos pasos parece que funciona como debiera.

Siento si he causado algún problema a alguien con mis sugerencias.

----------

## pcmaster

 *quilosaq wrote:*   

> He hecho un ebuild que creo que funciona. Se puede descargar desde:
> 
> https://gitlab.com/quilosaq/qq-gentoo/-/raw/master/app-office/autofirma-bin/autofirma-bin-1.6.5-r1.ebuild
> 
> Se puede usar en un repositorio local o clonar el repositorio en el que está:
> ...

 

Tu ebuild me ha funcionado. tanto para firmar archivos como desde el navegador. Muchas gracias por hacerlo y publicarlo.

----------

## cameta

El ebuild funciona de maravilla.  :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy: 

En mi caso con el  paquete

dev-java/openjdk-jre-bin-8.272_p10:8::gentoo

Y he solucionado el problema con que no detecta las firmas electrónicas en los profiles.

Hay que editar

~/.mozilla/firefox/profiles.ini

```
Profile2]

Name=default3

IsRelative=1

Path=c5lybz6d.default

[Profile1]

Name=dev-edition-default

IsRelative=1

Path=caushzss.dev-edition-default

[Profile0]

Name=default

IsRelative=1

Path=wyq9p96d.default

Default=1

[General]

StartWithLastProfile=1

Version=2

[Install11457493C5A56847]

Default=wyq9p96d.default

Locked=1

```

Y poner el profile que usamos por defecto y donde tenemos instalados los certificados en primer lugar. tal como muestro en este ejemplo. Así no hay que borrar los profiles como dice el ebuild. 

```
[Profile0]

Name=default

IsRelative=1

Path=wyq9p96d.default

Default=1

[Profile2]

Name=default3

IsRelative=1

Path=c5lybz6d.default

[Profile1]

Name=dev-edition-default

IsRelative=1

Path=caushzss.dev-edition-default

[General]

StartWithLastProfile=1

Version=2

[Install11457493C5A56847]

Default=wyq9p96d.default

Locked=1
```

Eso si como que nunca hay felicidad en casa del pobre.  :Twisted Evil:   :Twisted Evil:   :Twisted Evil:   :Twisted Evil: 

1º Para hacer funcionar el DNIe con la nueva versión de  dev-libs/opensc-0.21.0

hay que instalar app-crypt/ccid-1.4.33::gentoo  USE="usb -kobil-midentity -twinserial" 

O en caso contrario no os va a detectar el lector del DNIe

```
dnie-tool

No smart card readers found.
```

2º Los certificados de mi DNIe están revocados desde el 2017 por la famosa vulnerabilidad ROCA (CVE-2017-15361. 

No me había dado cuenta porque uso la firma electrónica de la FNMT.  Ahora es cuestión de ir a la comisaria y ver si puedo renovarlos. No hay duda esto del DNIe es capaz de volver loco al Gran  Hacker.   :Razz:   :Razz:   :Razz:   :Razz:   :Razz: 

----------

## cameta

Ya he ido. Por lo visto necesito un DNIe nuevo. Me han dado cita para mañana. Ya veremos si funciona.   :Cool:   :Cool:   :Cool:   :Cool:   :Cool: 

----------

## cameta

Ya tengo el DNI nuevo, y a diferencia del antiguo me he dado cuenta que después de entrar la contraseña del DNI (la ventana donde la entro es distinta que la que tenía antes) aparece la pantalla donde te ofrece la opción de continuar con el DNIe o usar cualquier certificado.

Si le das a la del DNIe te da el siguiente error.

No ha sido posible inicializar su DNIe

Se continuará con el almacén por defecto del sistema.

De manera curiosa los certificados del DNIe aparecen sin problemas por lo que podemos firmar igual. Si usamos la opción usar cualquier certificado no hay error y también tenemos los certificados del DNIe.  :Shocked: 

Mi versión de DNIe

DNIe Version: DNIe 04.21 A9 H 0155 EXP 2-(5.3-6)

----------

## expobi

Hay otra forma de instalar AutoFirma.

A consecuencia de tener que renovar mis certificados de la FNMT me dio por probar 'app-arch/rpm', visto que el resultado fue satisfactorio lo probé también con AutoFirma.

No se necesita reinstalar dev-libs/openssl con la use [rfc3779] si no la tenias antes.

Todo lo comentado en este hilo en cuanto al resto de paquetes sería lo mismo.

```

    www-client/firefox || www-client/firefox-bin

    virtual/jre

    dev-util/desktop-file-utils

    app-misc/ca-certificates

    dev-libs/nss[utils]

```

Para instalar 'AutoFirma'

```

# rpm -i --nodeps autofirma-1.6.5-1.noarch.rpm

```

Si da algún fallo de que falta algo, arreglarlo y reinstalar así:

```

# rpm -i --nodeps --replacepkgs autofirma-1.6.5-1.noarch.rpm

```

Al final de la instalación sale esto:

```

Enter Password or Pin for "NSS Certificate DB":

```

es la contraseña maestra de Firefox, (sin pistas sobre que usuario   :Shocked: ) , es una petición por cada uno de los usuarios que tengan Firefox con contraseña maestra.

!Importante¡

Después de la instalación hay que cambiar el 'shebang' del archivo /usr/bin/autofirma

```

#!/usr/bin/bash por #!/usr/bin/env bash o por #!/bin/bash

```

Editar el archivo ~/.mozilla/firefox/profiles.ini de cada uno de los usuarios que usen Firefox

y poner el [Profile0] al principio del archivo

```

[Profile0]

Name=default-release

IsRelative=1

Path=xxxxxxxx.default-release

```

Y con esto ya funciona perfectamente.

Página para comprobarlo: https://valide.redsara.es/valide/inicio.html

Por cierto si se pierde la carpeta ~/.mozilla 

o se instala Firefox después de AutoFirma 

o se crea un nuevo usuario y queremos que use AutoFirma con su Firefox

hay que acordarse del anterior paso con el profiles.ini

Mensajes de mi instalación:

```

# rpm -i --nodeps /home/xxxxxx/Descargas/AutoFirma_Linux/autofirma-1.6.5-1.noarch.rpm 

error: El macro %__python tiene un cuerpo vacío

feb 25, 2021 8:50:02 PM es.gob.afirma.standalone.configurator.AutoFirmaConfigurator <init>

INFORMACIÓN: Se configurara la aplicacion en modo nativo

feb 25, 2021 8:50:02 PM es.gob.afirma.standalone.configurator.ConsoleManager getConsole

INFORMACIÓN: Se utilizara la consola del sistema

feb 25, 2021 8:50:02 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure

INFORMACIÓN: Identificando directorio de aplicación...

feb 25, 2021 8:50:02 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure

INFORMACIÓN: Directorio de aplicación: /usr/lib64/autofirma

feb 25, 2021 8:50:02 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure

INFORMACIÓN: Generando certificado para la comunicación con el navegador web...

feb 25, 2021 8:50:03 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure

INFORMACIÓN: Se guarda el almacén de claves en el directorio de instalación de la aplicación

feb 25, 2021 8:50:04 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure

INFORMACIÓN: Se va a instalar el certificado en el almacen de Mozilla Firefox

feb 25, 2021 8:50:04 PM es.gob.afirma.standalone.configurator.ConfiguratorFirefoxLinux createScriptsToSystemKeyStore

INFORMACIÓN: Comprobamos que se encuentre certutil en el sistema

feb 25, 2021 8:50:04 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure

INFORMACIÓN: Fin de la configuración

Enter Password or Pin for "NSS Certificate DB":

Enter Password or Pin for "NSS Certificate DB":

```

Last edited by expobi on Thu Mar 11, 2021 1:34 am; edited 1 time in total

----------

## mimosinnet

 *quilosaq wrote:*   

> He hecho un ebuild que creo que funciona.

 

Estaba intentando aprender a hacer ebuilds para instalar autofirma y he encontrado este ebuild (que supongo será el mismo que está en el overlay guru). Para instalarlo:

```
eselect repository enable guru

emerge --sync guru

emerge -av app-crypt/autofirma
```

¡Mil gracias!   :Very Happy: 

----------

## quilosaq

mimosinnet:

Los 2 ebuils son distintos. El de gentoo.org es posterior (SEP20) y presumiblemente tendrá mayor calidad que el primero.

----------

## expobi

 *quilosaq wrote:*   

> mimosinnet:
> 
> Los 2 ebuils son distintos. El de gentoo.org es posterior (SEP20) y presumiblemente tendrá mayor calidad que el primero.

 

Eres muy generoso quilosaq y eso te alaba, pero el ebuild app-crypt/autofirma-1.6.5-r1::guru no esta bien pensado para que AutoFirma funcione correctamente.

Después de muchas pruebas para que AutoFirma haga lo que se supone que debe hacer usando este ebuild estos son los pasos necesarios:

  1 - Como comentó mimosinnet

```
eselect repository enable guru

emerge --sync guru

emerge -av app-crypt/autofirma
```

( por cierto si quieres que app-eselect/eselect-repository sincronice los repositorios basados en git tienes que tener instalado dev-vcs/git ) ( me costo un rato darme cuenta )

  2 - Editar el archivo ~/.mozilla/firefox/profiles.ini de cada uno de los usuarios que usen Firefox y poner el [Profile0] al principio del archivo.

Con esto AutoFirma firma, pero no te identifica. (Cuando una página de la administración requiera AutoFirma para identificarte, la conexión dará error y no podrás identificarte)

  3 - Instalar 

```
dev-libs/nss[utils]
```

  4 - Ejecutar como administrador:

```
 java -jar '/usr/share/autofirma/lib/autofirmaConfigurador.jar'
```

  5 - Ejecutar como administrador:

```
. '/usr/share/autofirma/lib/script.sh'
```

Ahora si que podrás usar AutoFirma para identificarte en las páginas de la administración usando Firefox.

Si alguien sabe como hacerle llegar estos detalles al amigo chuso (Jesus Perez Rey), igual puede mejorar el ebuild. Yo no se como va esto de informar sobre los ebuilds.Last edited by expobi on Sat Mar 06, 2021 3:33 pm; edited 1 time in total

----------

## xickwy

Desde chromium funcionando a las maravillas. He realizado los mismos pasos y solo he tenido que añadir esto desde bash 

```
modutil -add "DNI-e" -libfile /usr/lib64/opensc-pkcs11.so -dbdir sql:/home/$USER/.pki/nssdb
```

Reiniciamos el chrome, o forzar salir con htop y al volver a arrancar y darle a Configuración->Certificados, nos aparece el menú pidiendonos el pin del DNIe

Lo unico, que aún no he probado es a reiniciar el equipo o al menos reiniciar XFCE. Porque no me abre los enlaces tipo afirma://..... Al darle el click en la pagina murciana, antes me decia que no exstia, al hacer emerge en el paquete anterior, mira, al menos desapareció. Pero no me abre la ventana del pin. Cosa rara...

Sin contar, antes de las dependencias que necesita el DNIe, realice los emerges en los paquetes opensc pcsc-tools jss y ccid con los USE pcsc-lite, secure-messaging y ssl. Lo activé con OpenRC. 

```
# rc-update add pcscd default

# /etc/init.d/pcscd start
```

y verificado con usuario estandar 

```
$ dnie-tool -d -w
```

Lo saqué de esta pagina y desde luego, ya me reconocía el DNIe, pero no los navegadores, gracias a Google pude encontrar el post y una solución

----------

## jpscasas

A mí me ha funcionado app-crypt/autofirma-bin-1.6.5-r1 a la primera desde Firefox-78.11.0esr. Previamente modifiqué .mozilla/firefox/profiles.ini colocando [Profile0] en primera posición como se ha indicado en este tema, aunque no sé si en mi caso influyó en algo. Muchas gracias por las indicaciones para conseguirlo.

----------

## quilosaq

Por si a alguien le interesa, he hecho una nueva versión del ebuild de autofirma:

https://gitlab.com/quilosaq/qq-gentoo/-/raw/master/app-office/autofirma-bin/autofirma-bin-1.6.5-r2.ebuild

Instrucciones para usarlo desde el repositorio en que está alojado:

https://gitlab.com/quilosaq/qq-gentoo/-/raw/master/README.md

----------

## quilosaq

Por si le interesa a alguien, he actualizado el ebuild de AutoFirma:

https://gitlab.com/quilosaq/qq-gentoo/-/raw/master/app-office/autofirma-bin/autofirma-bin-1.7.1-r1.ebuild

----------

## expobi

Gracias quilosaq, instalada la nueva versión y funciona perfectamente.

----------

## mani001

Por si a alguien más le sirve...para que me funcione en Firefox yo tuve que ejecutar

```
ln -sf /etc/autofirma/AutoFirma.js
```

dentro del directorio /usr/lib64/firefox/defaults/pref

----------

## quilosaq

 *mani001 wrote:*   

> Por si a alguien más le sirve...para que me funcione en Firefox yo tuve que ejecutar
> 
> ```
> ln -sf /etc/autofirma/AutoFirma.js
> ```
> ...

 

Ya no debería ser necesario hacerlo. Corregido en el ebuild.

----------

## mani001

Gracias!!

----------

## expobi

Para el caso de que se tenga varios usuarios que usen AutoFirma:

Cuando se piden las claves de la cuenta de firefox al final de la instalación, se pedira una por cada usuario. El orden en que se piden se encuentra en el archivo: 

```
/usr/lib/AutoFirma/script.sh
```

----------

## papu

 *quilosaq wrote:*   

> Por si le interesa a alguien, he actualizado el ebuild de AutoFirma:
> 
> https://gitlab.com/quilosaq/qq-gentoo/-/raw/master/app-office/autofirma-bin/autofirma-bin-1.7.1-r1.ebuild

 

gracias amigo 

ya actualice , aunque el enlace este no funciona iendo a tu pagina base https://gitlab.com/quilosaq/qq-gentoo   ya ta  :Smile: 

----------

## quilosaq

 *papu wrote:*   

> ...
> 
> ya actualice , aunque el enlace este no funciona iendo a tu pagina base https://gitlab.com/quilosaq/qq-gentoo   ya ta :)

 

Gracias por el aviso. Actualicé a una revisión 2 y no puse el enlace directo al contenido del ebuild. Es este:

https://gitlab.com/quilosaq/qq-gentoo/-/raw/master/app-office/autofirma-bin/autofirma-bin-1.7.1-r2.ebuild

----------

## mvasi90

Un cordial saludo todos los participantes y lectores.

Quiero aportar mi experiencia con AutoFirma en Gentoo a fecha 31 de Mayo de 2022.

Paquetes instalados

```

www-client/firefox-bin-91.9.0::gentoo was built with the following:

USE="alsa ffmpeg gmp-autoupdate pulseaudio wayland (-selinux)" ABI_X86="(64)" L10N="-ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -de -dsb -el -en-CA -en-GB -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb -ne -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW"

dev-java/openjdk-bin-8.322_p06::gentoo was built with the following:

USE="alsa cups -examples -headless-awt (-selinux) -source" ABI_X86="(64)"

FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"

dev-java/icedtea-web-1.8.4-r1::gentoo was built with the following:

USE="-debug -doc" ABI_X86="(64)"

FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"

dev-java/icedtea-bin-3.16.0::gentoo was built with the following:

USE="alsa cups gtk pulseaudio (-big-endian) -doc -examples -headless-awt (-selinux) -source" ABI_X86="(64) -32 (-x32)"

dev-libs/openssl-1.1.1o::gentoo was built with the following:

USE="asm -rfc3779 -sctp -sslv3 -static-libs -test -tls-compression -tls-heartbeat -vanilla -verify-sig -weak-ssl-ciphers" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="(sse2)"

CFLAGS="-march=skylake -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack"

CXXFLAGS="-march=skylake -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack"

FEATURES="binpkg-logs distlocks xattr config-protect-if-modified ebuild-locks news unknown-features-warn merge-sync parallel-fetch sandbox unmerge-logs network-sandbox strict fixlafiles binpkg-docompress usersandbox qa-unresolved-soname-deps pid-sandbox sfperms unmerge-orphans userpriv ipc-sandbox assume-digests protect-owned usersync userfetch multilib-strict binpkg-dostrip preserve-libs"

```

Java en uso

```
eselect java-vm list

Available Java Virtual Machines:

  [1]   icedtea-bin-8

  [2]   openjdk-bin-8  system-vm

  [3]   openjdk-bin-11

java -version

Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on

openjdk version "1.8.0_322"

OpenJDK Runtime Environment (Temurin)(build 1.8.0_322-b06)

OpenJDK 64-Bit Server VM (Temurin)(build 25.322-b06, mixed mode)
```

Resultados

AutoFirma (manual) -> Funciona

AutoFirma (Firefox)

https://www.sededgsfp.gob.es/es/Paginas/TestAutofirma.aspx -> Funciona

https://sede.carm.es/cryptoApplet/ayuda/probarautofirma.html -> No funciona (1)

https://expinterweb.inclusion.gob.es/scriptAutofirmaTest/ -> No funciona (1)

_____________

(1) No funciona: Sólo funciona al cambiar de openjdk a icedtea (sudo eselect java-vm set system icedtea-bin)

Investigación

Al editar el fichero /usr/bin/AutoFirma activando la depuración SSL:

java -Djavax.net.debug=ssl -Djdk.tls.maxHandshakeMessageSize=50000 -jar /usr/lib/AutoFirma/AutoFirma.jar $*, descubrí el origen del fallo:

```
javax.net.ssl|FINE|01|main|2022-05-31 15:57:57.957 CEST|SSLCipher.java:438|jdk.tls.keyLimits:  entry = AES/GCM/NoPadding KeyUpdate 2^37. AES/GCM/NOPADDING:KEYUPDATE = 137438953472

javax.net.ssl|SEVERE|1C|WebSocketSelector-28|2022-05-31 15:58:00.405 CEST|TransportContext.java:316|Fatal (INTERNAL_ERROR): problem wrapping app data (

"throwable" : {

  javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

     at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171)

     at sun.security.ssl.ServerHandshakeContext.<init>(ServerHandshakeContext.java:62)

     at sun.security.ssl.TransportContext.kickstart(TransportContext.java:220)

     at sun.security.ssl.SSLEngineImpl.writeRecord(SSLEngineImpl.java:159)

     at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:130)

     at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:110)

     at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:471)

     at org.java_websocket.SSLSocketChannel2.wrap(SSLSocketChannel2.java:182)

     at org.java_websocket.SSLSocketChannel2.<init>(SSLSocketChannel2.java:112)

     at org.java_websocket.server.DefaultSSLWebSocketServerFactory.wrapChannel(DefaultSSLWebSocketServerFactory.java:71)

     at org.java_websocket.server.WebSocketServer.doAccept(WebSocketServer.java:429)

     at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:344)

     at java.lang.Thread.run(Thread.java:750)}

)

```

Esto se debe a que se utiliza protocolos y algoritmo de cifrado deshabilitado por motivos de seguridad.

Para comprobarlo he deshabilitado temporalmente dicha característica, comentando la siguiente entrada en fichero /opt/openjdk-bin-8/jre/lib/security/java.security:

```
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \

    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \

    include jdk.disabled.namedCurves
```

Al volver a ralizar la prueba (sin haber cerrado el navegador ni haber salido de la página), funciona.

A diferencia de openjdk, icedtea no deshabilita los protocolos TLS previos a la versión 1.2 ni tampoco los algoritmos de cifrado vulnerables. En java.security de icedtea:

```
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, \

    EC keySize < 224, 3DES_EDE_CBC, anon, NULL
```

Solución

Usar openjdk en lugar de icedtea y usar únicamente los sitios web actualizados, exigiendo a las administraciones públicas actualizar sus servicios que ponen en riesgo la seguridad y privacidad de nuestros datos y dispositivos.

Notas

No estoy de acuerdo en absoluto con esta mala práctica de ejecutar código remoto en los dispositivos de los usuarios. Aún existen sitios de la administración que descargan código bytecode de java en jnlp y lo ejecuta.

En lugar de desarrollar software en WebAssembly que se ejecuta directamente en el navegador, lo hacen en Java porque es más fácil, complicando la vida a los usuarois.

Aún así, Java 8 está en camino de la obsolescencia, y a partir de la versión 9 de Java (la 10, 11,12,13,14,15,16,17) se incorporaron los módulos, lo que exige al desarrollador proporcionar una versión reducida de la máquina virtual de Java en el própio paquete que instala el usuario.

Por otro lado, tampoco estoy de acuerdo con estos instaladores que aparecen en las distribuciones ArchLinux, Gentoo, Debian, etc.

¿Qué es eso de ejecutar java como superusuario root?

... java -jar AutoFirmaConfigurador.jar...

Somos usuarios de Linux y Unix por motivos de privacidad y seguridad, pero parece que no se respeta eso, y el resultado es una falsa sensación de seguridad y de privacidad.

En mis sistemas ninguna aplicación tiene acceso a internet. Todas las que tienen acceso a internet están aisladas en un sandbox bwrap (bubblewrap), y sólo tienen acceso cuando yo lo activo explícitamente (activando un flag en el momento de ejecución) y al sitio o sitios web concreto/s (dominio/subdominio/IP).

Las garras de los espías están en todas partes. Hay muchísimas aplicaciones que recopilan información del usuario: Android Studio, plugins de vim/nvim para el desarrollo de software, Signal Private Messenger, etc.

En el ejemplo de Signal, aunque incorpore cifrado de extremo a extremo, utiliza librerías de Google que se conectan constantemente a los servidores de Google. Nadie se preocupa por nada últimamente.

----------

## papu

 *mvasi90 wrote:*   

> Un cordial saludo todos los participantes y lectores.
> 
> Quiero aportar mi experiencia con AutoFirma en Gentoo a fecha 31 de Mayo de 2022.
> 
> Paquetes instalados
> ...

 

es vergonzoso lo de del java y las instituciones publicas.

por eso mismo luego las webs del estado son un excremento infame.

lo de tener que usar Autofirm es inenarrable...

 :Wink: 

----------

## quilosaq

 *mvasi90 wrote:*   

> ...
> 
> Java en uso
> 
> ```
> ...

 En mi caso las 3 páginas para probar Autofirma con Firefox han funcionado con openjdk-bin-11 (dev-java/openjdk-bin-11.0.14_p9-r1) produciendo una firma correcta de los datos.

 *mvasi90 wrote:*   

> ...
> 
> Esto se debe a que se utiliza protocolos y algoritmo de cifrado deshabilitado por motivos de seguridad.
> 
> Para comprobarlo he deshabilitado temporalmente dicha característica, comentando la siguiente entrada en fichero /opt/openjdk-bin-8/jre/lib/security/java.security:
> ...

 La configuración de jdk.tls.disabledAlgorithms en openjdk-bin-11 es la misma que en openjdk-bin-8 y sin embargo me ha funcionado sin hacer esas modificaciones temporales. Quizá la conclusión sobre que la administración está utilizando algoritmos inseguros pudiera estar equivocada.

----------

## wellno1

En una máquina nueva no me deja autenticarme en la página de Clave, sigue en loop. Se que no es un problema de autofirma, pero a lo mejor alguien se ha encontrado con el mismo fallo y lo ha solucionado.

Mismo problema tanto con firefox como con chromium

----------

## mvasi90

 *quilosaq wrote:*   

> En mi caso las 3 páginas para probar Autofirma con Firefox han funcionado con openjdk-bin-11 (dev-java/openjdk-bin-11.0.14_p9-r1) produciendo una firma correcta de los datos.
> 
> ...
> 
> La configuración de jdk.tls.disabledAlgorithms en openjdk-bin-11 es la misma que en openjdk-bin-8 y sin embargo me ha funcionado sin hacer esas modificaciones temporales. Quizá la conclusión sobre que la administración está utilizando algoritmos inseguros pudiera estar equivocada.

 

Hola quilosaq, acabo de ver tu post. Esto no me avisó cuando escribiste.

Acabo de realizar una prueba, y confirmo lo que dijiste. Con la versión 11 de Java funciona, incluso teniendo la misma configuración de seguridad.

El error de Java 8 es el mismo que antes, el protocolo utilizado es inseguro.

Si funciona con Java 11 debe ser que AutoFirma invoca algún método que se ha reescrito en las versiones recientes de Java y utiliza los protocolos de comunicación cifrada más recientes, o quizás eso lo elija el script de la Administración (porque algunas webs sí que funcionan con Java 8 ). No dispongo de más tiempo para investigar.

Saludos.

----------

## cameta

openjdk-bin-8  Funciona aplicación. No funciona en web

 openjdk-bin-11  Funciona aplicación Funciona en web

 openjdk-bin-17 La aplicación advierte que no esta preparada y podría dar errores. Funciona en web

----------

## wellno1

 *anarxisco wrote:*   

> En una máquina nueva no me deja autenticarme en la página de Clave, sigue en loop. Se que no es un problema de autofirma, pero a lo mejor alguien se ha encontrado con el mismo fallo y lo ha solucionado.
> 
> Mismo problema tanto con firefox como con chromium

 

Solucionado, certificado caducado

----------

## cameta

 *Quote:*   

>  openjdk-bin-11 Funciona aplicación Funciona en web 

 

Esta versión es eliminada tras mi última actualización.  Espero que la 17 no me de problemas.

----------

## expobi

openjdk-bin-17 a mi me funciona perfectamente

----------

## cameta

He hecho el test de autofirma y ningún problema.

----------

