Mostrando entradas con la etiqueta tarjeta. Mostrar todas las entradas
Mostrando entradas con la etiqueta tarjeta. Mostrar todas las entradas

miércoles, 6 de mayo de 2026

Ubuntu 24. Problemas con la tarjeta nueva de la ACCV G&D SmartCafe Expert 7 (JavaCard)

 1. Problemas surgidos

Para identificar la tarjeta se ejecuta pcsc_scan y nos dice que la tarjeta es del tipo G&D SmartCafe Expert 7 (JavaCard)

Y no había manera de poder configurar dicha tarjeta

  1. Ya había drivers anteriores libaetpkss.so pero eran de 32 bits y por tanto incompatibles. Cuando se ejecutaba: pkcs11-tool --module /usr/lib/libaetpkss.so --list-slots respondía:
    sc_dlopen failed: /usr/lib/libaetpkss.so: wrong ELF class: ELFCLASS32
    error: Failed to load pkcs11 module
    Aborting.
  2. La localizacion de dichos drivers anteriores era en /usr/lib
  3. Los drivers "bit4id" que aparecen el la ACCV parece ser que son para el lector y no para la tarjeta por tanto al ejecutar pkcs11-tool --module /usr/lib/bit4id/libbit4npki.so --list-slots respondía que podía reconocer al lector pero no la tarjeta: 
    Available slots:
    Slot 0 (0x0): Identiv uTrust 2700 R Smart Card Reader [CCID Interface] (536915
      (token not recognized)
    

2. La posible solución


Le indiqué a Claude AI  que el tipo de tarjeta era G&D SmartCafe Expert 7 (JavaCard) según pscs_scan y me indicó que descargara los drivers de 64 bits de KPN (que es el distribuidor oficial de AET), los descomprimiera y los copiara a /usr/lib machacando los drivers antiguos de 32 bits.

#Paso 1 — Descargar el .deb para Ubuntu 22.04 de KPN (distribuidor oficial de AET)
cd /tmp
wget "https://certificaat.kpn.com/files/drivers/SafeSign/SafeSign IC Standard Linux 4.0.0.0-AET.000 ub2204 x86_64.deb" -O safesign4_ub2204.deb

#Paso 2 — Extraer solo la librería .deb sin instalar
dpkg-deb -x safesign4_ub2204.deb /tmp/safesign_extracted

# Ver dónde está la librería
find /tmp/safesign_extracted -name "libaetpkss*"

#Paso 3 — Copiar la librería al sistema
sudo cp /tmp/safesign_extracted/usr/lib/libaetpkss.so* /usr/lib/
sudo ldconfig

#Paso 4 — Verificar
pkcs11-tool --module /usr/lib/libaetpkss.so --list-slots
pkcs11-tool --module /usr/lib/libaetpkss.so --list-objects --type cert --login

Y si que funcinó ahora, me muestra correctamente

pkcs11-tool --module /tmp/safesign_extracted/usr/lib/libaetpkss.so   --list-objects --type cert --login
Using slot 0 with a present token (0xcd01)
Logging in to "ACCV".
Please enter User PIN: 
Certificate Object; type = X.509 cert
  label:      EPN1
  subject:    DN: CN=MI_NOMBRE MI_APELLIDO1 MI_APELLIDO2 - DNI 00000001X/serialNumber=00000001X, GN=MI_NOMBRE, SN=MI_APELLIDO1 MI_APELLIDO2, OU=CERTIFICADO ELECTRONICO DE EMPLEADO PUBLICO, O=AYUNTAMIENTO DEL BROSQUIL, C=ES
  ID:         112233abcd44efgji6asdfsa121sdfsdfsdf

3. Instalar en chrome

Hay que tener en cuenta que al instalr libnss3-tools puede haber problema con cruce de depebndencias de 32 y 64 bits y si falla hay que preguntar a una IA como solucionarlo. Los paso que me indica Claude son:

# Instalar nss-tools si no lo tienes
sudo apt install libnss3-tools

# Localizar el perfil de Chrome
ls ~/.config/google-chrome/Default/
# o Chromium:
ls ~/.config/chromium/Default/

# Registrar el módulo
modutil -dbdir sql:$HOME/.config/google-chrome/Default \
  -add "SafeSign ACCV" \
  -libfile /usr/local/lib/libaetpkss.so -force

# Verificar
modutil -dbdir sql:$HOME/.config/google-chrome/Default -list

Después hay que reiniciar Chrome (y Brave si es el caso)

4. Instalar en Autofirma 1.9

Hay que entrar en Herramientas -> Preferencias -> (Tab) Almacenes de Claves -> Combo de Selección de tarjeta -> Agregar tarjeta
Y darle estos parametros:

Ahora se le da al botón conectar 


Y nos pide el pin





Análogamente se haría para el DNIe donde se tendría que indicar la librería correcta


Ahora falta probarlo a ver si funciona, pues de momento no he podido firmar con autofirma con el certificado de tarjeta de la ACCV

Claude indica que con esta órden no debería dar problemas:

autofirma -Djava.security.debug=sunpkcs11 2>&1 | head -30





5. Instalar en Firefox


Hay que localizar el perfil en Firefox y registrar la libreria en él.Tal como vimos en el post anterior 

Firefox puede tener vaios perfiles, por tanto debemos averiguar primero el perfil antes de listar los certificados:

El perfil puede estar en :

  • ~/.mozilla/firefox/profiles.ini o también en:
  • ~/snap/firefox/common/.mozilla/firefox/profiles.ini
Hacemos el cat al fichero correspondiente 

cat ~/.mozilla/firefox/profiles.ini (o a ~/snap/firefox/common/.mozilla/firefox/profiles.ini)

Y devuelve (el marcado en azul es el correcto)

[Profile2] Name=Default User IsRelative=1 Path=e1p51k0o.Default User Default=1 [Profile1] Name=default IsRelative=1 Path=35j7fxvk.default [Profile0] Name=default-release IsRelative=1 Path=72s3mnjv.default-release-1588245081987 [General] StartWithLastProfile=1 Version=2 

Para registralo debemos apagar firefox, y si no estuvieramos en un snap haríamos

# Registrar (sustituye el nombre de tu perfil)
modutil -dbdir sql:"$HOME/snap/firefox/common/.mozilla/firefox/e1p51k0o.Default User" \
  -add "SafeSign ACCV" \
  -libfile /usr/local/lib/libaetpkss.so -force

Y contesta

Module "SafeSign ACCV" added to database.

Pero como estamos en un snap debemos hacer:

pkill -f firefox

# Verificar que la copia en snap existe
ls -la $HOME/snap/firefox/common/lib/

# Si no está, copiarla
cp /usr/local/lib/libaetpkss.so $HOME/snap/firefox/common/lib/

# Eliminar el módulo registrado con la ruta incorrecta
modutil -dbdir "sql:$HOME/snap/firefox/common/.mozilla/firefox/e1p51k0o.Default User" \
  -delete "SafeSign ACCV" -force

# Añadirlo con la ruta dentro del snap
modutil -dbdir "sql:$HOME/snap/firefox/common/.mozilla/firefox/e1p51k0o.Default User" \
  -add "SafeSign ACCV" \
  -libfile "$HOME/snap/firefox/common/lib/libaetpkss.so" -force

# Verificar
modutil -dbdir "sql:$HOME/snap/firefox/common/.mozilla/firefox/e1p51k0o.Default User" -list

Probamos a ver si lo registrado

modutil -dbdir "sql:$HOME/snap/firefox/common/.mozilla/firefox/e1p51k0o.Default User" -list

Y contesta:



Listing of PKCS #11 Modules
-----------------------------------------------------------
  1. NSS Internal PKCS #11 Module
	   uri: pkcs11:library-manufacturer=Mozilla%20Foundation;library-description=NSS%20Internal%20Crypto%20Services;library-version=3.98
	 slots: 2 slots attached
	status: loaded

	 slot: NSS Internal Cryptographic Services
	token: NSS Generic Crypto Services
	  uri: pkcs11:token=NSS%20Generic%20Crypto%20Services;manufacturer=Mozilla%20Foundation;serial=0000000000000000;model=NSS%203

	 slot: NSS User Private Key and Certificate Services
	token: NSS Certificate DB
	  uri: pkcs11:token=NSS%20Certificate%20DB;manufacturer=Mozilla%20Foundation;serial=0000000000000000;model=NSS%203

  2. DNIe
	library name: /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
	   uri: pkcs11:library-manufacturer=OpenSC%20Project;library-description=OpenSC%20smartcard%20framework;library-version=0.25
	 slots: 1 slot attached
	status: loaded

	 slot: Identiv uTrust 2700 R Smart Card Reader [CCID Interface] (536...
	token: 
	  uri: pkcs11:

  3. SafeSign ACCV
	library name: /usr/local/lib/libaetpkss.so
	   uri: pkcs11:library-manufacturer=A.E.T.%20Europe%20B.V.;library-description=Cryptographic%20Token%20Interface;library-version=3.0
	 slots: 5 slots attached
	status: loaded

	 slot: Identiv uTrust 2700 R Smart Card Reader [CCID Interface] (536915
	token: ACCV
	  uri: pkcs11:token=ACCV;manufacturer=A.E.T.%20Europe%20B.V.;serial=028D0037000D7613;model=19C41B06010D0000

	 slot: UNAVAILABLE 1
	token: 
	  uri: pkcs11:

	 slot: UNAVAILABLE 2
	token: 
	  uri: pkcs11:

	 slot: UNAVAILABLE 3
	token: 
	  uri: pkcs11:

	 slot: UNAVAILABLE 4
	token: 
	  uri: pkcs11:
-----------------------------------------------------------

Y parece que está bien y tenemos que parar y arrancar Firefox.

Si queremos comprobar más, podemos listar los "nick names" de los certificados de la tarjeta y nos pide la contraseña:


certutil -L \
  -d "sql:$HOME/snap/firefox/common/.mozilla/firefox/e1p51k0o.Default User" \
  -h "ACCV"

Y nos muestra: el nick ACCV:EPN1 

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

Enter Password or Pin for "ACCV":
ACCV:EPN1                                                    u,u,u

Ahora debemos conectarnos a un web que pida autenticación por certificado a ver si puede ver el certificado.








miércoles, 12 de agosto de 2020

Certificados en Java (2). Configurar Tomcat (tambien en Eclipse) https autentificacion cliente certificado. Tarjeta, Smartcard cliente

1. Configurar Tomcat  para https

Segun Namecheap  podemos instalar en Tomcat certificados .jks y tembién .p12 (pkcs12)

1.a con certificado jks

Supongamos que tenemos un certificado p12 llamado mykeystore.jks con contraseña "mypassword", entonces:

Modificamos el conector en el fichero server.xml de la carpeta conf de tomcat y para el puerto 8443 para que quede así

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<!-- Define a SSL HTTP/1.1 Connector on port 8443
        This connector uses the JSSE configuration, when using APR, the
        connector should be using the OpenSSL style configuration
        described in the APR documentation -->
    <Connector port="8443" 
              protocol="HTTP/1.1"
              SSLEnabled="true"
              maxThreads="150" 
              scheme="https" 
              secure="true"
              clientAuth="false" <!-- true to read client certificate -->
              sslProtocol="TLS" <!--"TLSv1.2" -->
              keyAlias="tomcat" <!-- Alias cuando se crea mykeystore,jks -->
	      keystoreFile="/home/ximo/mykeystore.jks"
	      keystorePass="mypassword" 
              
    /> 

Y ahora vamos al directorio "bin" del tomcat y paramos y rearrancamos el servicio

./shutdown.sh
./startup.sh

1.b con certificado pem

Supongamos que hemos obtenido de LetsEncrypt, estos certificados que estan en la carpeta  /etc/letsencrypt/live/midominio.es
  • cert.pem (certificado "solo")
  • chain.pem (cadena de certificados del root)
  • fullchain.pem (certificado "solo" + cadena de certificados del root. Equivale a los 2 ficheros anteriores juntos)
  • privkey.pem (clave privada)
Modificamos el conector en el fichero server.xml de la carpeta conf de tomcat y para el puerto 19443 para que quede así

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
 <Connector port="19443"
      protocol="HTTP/1.1"
      SSLEnabled="true"
      maxThreads="150"
      scheme="https"
      secure="true"
      sslProtocol="TLS"

      clientAuth="true"
      keyAlias="tomcat"


      SSLCertificateFile="/etc/letsencrypt/live/midominio.es/cert.pem"
      SSLCertificateChainFile="/etc/letsencrypt/live/midominio.es/chain.pem"
      SSLCertificateKeyFile="/etc/letsencrypt/live/midominio.es/privkey.pem"
   />

  
Como vemos,:
  1.  No nos ha hecho falta el fullchain.pem
  2. Tampoco nos ha hecho falta ninguna contraseña
  3. Estamos trabajando en un puerto https adicional 19443 (junto con el anterior 8443) sin ningún problema

Y ahora vamos al directorio "bin" del tomcat y paramos y rearrancamos el servicio

./shutdown.sh
./startup.sh


2. Obtener un certificado jks versión fácil


En un blog anterior hemos creeado una entidad certificadora. 


Para ello hay que seguir las instrucciones de Mkyong :

Nos situamos en el directorio /home/ximo/mycerts y creamos un keystore con un certificado auto firmado:

keytool -genkey -alias tomcat -keyalg RSA -keystore mykeystore.jks

OJO: El alias tomcat del mykeystore es el que se debe de indicar en el "keyAlias" del web.xml del tomcat
nos pide una nueva contraseña para el nuevo keystore por ejemplo "mypassword"

podemos listar el contenido del keystore con

keytool -list -v -keystore mykeystore.jks



3. Obtener un certificado jks con un certificado emitido por nuestra entidad certificadora.

Aprovechamos todos los pasos anteriores y generamos el Certificate Signing Request CSR. Para ello volvemos al directorio  /home/ximo/mycerts y tecleamos

keytool -certreq -alias tomcat1 -file mytomcat.csr -keystore mykeystore.jks

Observar que el alias el mismo que hemos creado antes (tomcat)  y nos ha creado el fichero mytomcat.csr


OJO: Para obtener cada una de las DNS, debemos hacer este comando:

nslookup 192.168.2.2

siendo 182.168.2.2 la dirección IP del servidor que queremos crear el certificado, y nos devuelve:

ws.ximodante.es
otro.ximodante.es

Y con esta información de los DNS creamos el fichero de configuración siguiente (mytomcat.conf):

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = 192.168.2.2
DNS.2 = localhost --> SOLO PARA PUEBAS en PRE
DNS.3 = otro.ximodante.es
DNS.4 = ws.ximodante.es

Por tanto debeis cambiar a la IP que realmente está usando el servidor 

Ahora generamos el certificado

openssl x509 -req -in mytomcat.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial -out mytomcat.crt -days 825 -sha256 -extfile mytomcat.conf
 
Hay que tener en cuenta que debemos disponer de los certificados de nuestra entidad certificadora (myCA.key y myCA.pem) obtenidos en el post anterior.

Finalmente importamos el certificado generado usando el mismo alias "tomcat" a nuestro almacén de claves.

keytool -import -alias tomcat1 -file mytomcat.crt -keystore mykeysore.jks

Y rearrancamos el servicio de Tomcat como hemos hecho antes:


./shutdown.sh
./startup.sh

Y si entramos en el navegador se quejará, salvo que le indiquemos al navegador que confie en nuestra entidad certificadora.

4. Autentificación en el servidor con certificado de cliente.


Si queremos que el cliente nos muestre su certificado, hay que indicarle en la línea 11 del fragmento anterior de servers.xml:

clientAuth="true" 

Con lo que nos pide el certificado de cliente y podemos autenticarnos en el servidor mediante certificado.

5. Autentificación en el servidor con tarjeta criptográfica (en cliente).

Cuando se intenta acceder con tarjeta criptográfica en el cliente, nos da este error en el cliente:
SSL_ERROR_BAD_CERT_ALERT

Supongo que tal vez haya que indicar un truststore que contenga el certificado raíz.
Parece ser que tomcat utiliza el alacen de certificados de java.

Se va a copiar el fichero keystore  java_path/lib/security/cacerts a una carpeta de pruebas y con el programa keystore explorer, añadimos los certificados raiz de la etidad certificadora de la tarjeta obtenidas de la ACCV 

En concreto añadimos el certificado raiz, los 110 y 120

y vamos a modificar el server.xml para que tenga un truststore


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<!-- Define a SSL HTTP/1.1 Connector on port 8443
        This connector uses the JSSE configuration, when using APR, the
        connector should be using the OpenSSL style configuration
        described in the APR documentation -->
    <Connector port="8443" 
              protocol="HTTP/1.1"
              SSLEnabled="true"
              maxThreads="150" 
              scheme="https" 
              secure="true"
              clientAuth="false" <!-- true to read client certificate -->
              sslProtocol="TLS" <!--"TLSv1.2" -->
              keyAlias="tomcat" <!-- Alias cuando se crea mykeystore,jks -->
	      keystoreFile="/home/ximo/mykeystore.jks"
	      keystorePass="mypassword" 
              
    /> 



6. Configurar el tomcat de Eclipse.



"If you've already created the server, you can edit the server.xml template it copies. If you use the project explorer, It is under Other Projects->Servers->Tomcat Server Name->server.xml"

Así de fácil localizamos el server.xml y lo configuramos como si fuera un tomcat normal.








jueves, 25 de julio de 2019

Autofirma (II), Ubuntu 18.04. Guia definitiva. Perdida de certificados. Ejecución en consola de Autofirma. Diferentes resultados de firma. Cades implicit. PKCS#11

0. Introducción

Me he inspirado bastante en Alvaro Gonzalez Sotillo.
Cuando se instala una nueva versión de Java o se actualiza Ubuntu, se pueden perder los certificados instalados en Mozilla, y por tanto se pierden los certificados de Autofirma.

1. Verificar que Mozilla tenga los certificados cargados:


En Preferencias->Seguridad y privacidad ->Ver certificados me ha aparecido una panntalla que no ha aparecido ningún certificado ni parecía el botón de importar.
La solución es tan tonta como ampliar la pantalla arrantrando como indica la flecha y ahora ya se pueden importar certificados p12 pues ya aparece el botón de importar




2. Restaurar instalación de Autofirma


Si  no aparece el certificado en Autofirma, hay que restaurar la instalación. Para ello entramos en Autofirma ->Herramientas->Reestaurar instalación

Y nos pide salir del navegador si está abierto.

Ojo solo funciona con java 1.8, Ojo solo funciona con un JDK de Oracle, de todas formaspor tanto hay que buscar la ruta de instalación de java 1.8  de Oracle y modificar el fichero /usr/bin/Autofirma para que contenga


1
2
3
#!/bin/bash
# java -jar /usr/lib/AutoFirma/AutoFirma.jar $*
/usr/lib/jvm/java-8-oracle/jre/bin/java  -jar /usr/lib/AutoFirma/AutoFirma.jar $*

Donde la última línea indica la llamada a java con la ruta absoluta del jdk 1.8

En teroría ya debería encontrar los certificados

3. Ejecutar Autofirma desde la línea de comandos


Como se dice muy bien el Atareado se puede utilizar en línea de comandos. Os copio lo que el ha hecho a falta de probarlo. De momento yo no lo he podido hacer funcionar por no saber mi alias


1
2
3
4
5
#firmar un documento pdf
AutoFirma sign -i entrada.pdf -o salida.pdf -store pkcs12:/home/lorenzo/Escritorio/certificado.p12 -alias firma -password micontreña

#firmar los documentos pdf de una carpeta
for i in entrada_*.pdf; do AutoFirma sign -i $i -o ${i/.pdf/}_signed.pdf -store pkcs12:/home/lorenzo/Escritorio/certificado.p12 -alias firma -password micontraseña; done


Pero si miramos el manual de Autofirma, vemos que si se puede obtener el alias e incluso utilzar otros almacenes de claves.

Si ejecutamos desde /usr/bin:

./Autofirma cmd -help

obtenemos:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Comandos cmd:

  sign   (firma de fichero)
  cosign  (cofirma de fichero)
  countersign  (contrafirma de fichero)
  listaliases  (lista los alias disponibles en el almacen)
  verify  (abre un panel con la informacion de validacion de una firma o certificado)

  batchsign  (firma/multifirma de lotes de ficheros)

  createdigest  (creacion de huella digitales con interfaz grafica)

  checkdigest  (comprobacion de huella digitales con interfaz grafica)

Y si le damos a la ayuda de firmar

./Autofirma sign -help

obtenemos:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sintaxis: AutoFirma sign [options...]

options

  -gui    (Realiza la operacion con entorno grafico)
  -i inputfile   (Ruta del fichero de entrada)
  -o outputfile   (Ruta del fichero de salida)
  -algorithm algo  (Algoritmo de firma)
  -format   (Establece el formato de firma)
    auto   (Seleccion de formato en base al fichero de entrada)
    cades   (Formato CAdES)
    pades   (Formato PAdES)
    xades   (Formato XAdES)
    facturae  (Firma de factura electronica)
  -config extraParams  (Properties en texto plano con la configuracion de la operacion)
  -store   (Establece el almacen de claves. Por defecto, el del sistema)
    auto   (Almacen de claves del sistema)
    windows  (Almacen de claves de Windows)
    mac   (Almacen de claves de Mac OS X)
    mozilla  (Almacen de claves de Mozilla Firefox)
    dni   (DNI electronico)
    pkcs12:p12file  (Almacen PKCS#12. "p12file" es la ruta del almacen)
    pkcs11:p11file  (Almacen PKCS#11. "p11file" es la ruta del controlador)
  -password password  (Establece la contrasena del almacen)
  -alias alias   (Alias del certificado de firma)
  -filter filter  (Filtro para seleccionar el certificado de firma)
  -xml    (Formatea la respuesta como XML)

Y si le damos a la ayuda de ver los alias:


./Autofirma listaliases -help


obtenemos:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Sintaxis: AutoFirma listaliases [options...]

options

  -store   (Establece el almacen de claves. Por defecto, el del sistema)
    auto   (Almacen de claves del sistema)
    windows  (Almacen de claves de Windows)
    mac   (Almacen de claves de Mac OS X)
    mozilla  (Almacen de claves de Mozilla Firefox)
    dni   (DNI electronico)
    pkcs12:p12file  (Almacen PKCS#12. "p12file" es la ruta del almacen)
  -password password  (Establece la contrasena del almacen)
  -xml    (Formatea la respuesta como XML)


Veamos pues alguna de las diferentes opciones de firma

3.1 Utilizar el almacén de certificados de Mozilla

Primerament debemos obtener el ALIAS. desde /usr/bin ejecutamos:


1
./AutoFirma  listaliases -store mozilla

Nos devuelve:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
de jul. 26, 2019 8:51:26 AM es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities loadNSS
INFO: 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/fofoapzr.default-release' certPrefix='' keyPrefix='' flags='readOnly'"
de jul. 26, 2019 8:51:26 AM es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities loadNssJava8
INFO: NSS necesita una precarga o tratamiento de sus dependencias: java.lang.reflect.InvocationTargetException
de jul. 26, 2019 8:51:26 AM es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities loadNSS
INFO: Proveedor PKCS#11 para NSS anadido: SunPKCS11-NSSCrypto-AFirma
de jul. 26, 2019 8:51:26 AM es.gob.afirma.keystores.AOKeyStoreManager init
INFO: Inicializamos el almacen de tipo: DNIe y tarjetas FNMT-TIF
de jul. 26, 2019 8:51:26 AM es.gob.afirma.keystores.KeyStoreUtilities addPreferredKeyStoreManagers
INFO: 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
de jul. 26, 2019 8:51:26 AM es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities getMozillaPKCS11Modules
INFO: Se incluiran los modulos nativos de DNIe/CERES si se encuentran configurados
de jul. 26, 2019 8:51:26 AM es.gob.afirma.keystores.mozilla.MozillaKeyStoreUtilities getMozillaPKCS11Modules
INFO: Obtenidos los modulos externos de Mozilla desde 'pkcs11.txt'
de jul. 26, 2019 8:51:26 AM es.gob.afirma.keystores.mozilla.MozillaUnifiedKeyStoreManager init
INFO: No se han encontrado modulos PKCS#11 externos instalados en Firefox
EPN1

Y en la línea 24 vemos "EPN1" que es el alias en cuestión.

Ahora nos toca firmar:


1
./AutoFirma  sign -i /home/ximo/xml/xml1.xml -o /home/ximo/xml/xmlq_firma.xsig -format xades -store mozilla -alias EPN1

3.2 Utilizar un fichero "p12" como almacén de certificados
Primerament debemos obtener el ALIAS. desde /usr/bin ejecutamos:


1
./AutoFirma  listaliases -store pkcs12:/home/ximo/certs/mycert.p12 -password myPassword

Nos devuelve simplemente "epn1" que es nuestro alias en cuestión.


También hubieramos podido utilizar keytool  como se dice en Stackoverflow:

1
keytool -v -list -storetype pkcs12 -keystore /home/ximo/certs/mycert.p12 -storepass myPassword

y saldría:

1
2
3
4
5
6
Keystore type: PKCS12
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: epn1

Con lo que el alias resultante es el mismo.

Ahora desde /usr/bin intentamos firmar:


1
./AutoFirma  sign -i /home/ximo/xml/xml1.xml -o /home/ximo/xml/xml1_firma1.xsig -format xades -store pkcs12:/home/ximo/certs/mycert.p12 -alias epn1 -password myPassword


Y obtenemos el mismo resultado.

4. Diferentes formatos de firma al ejecutar en "GUI" y línea de comandos

Hay alguna sutileza que trae como consecuencia que los formatos de salida sean ligeramente distintos.

Veamos una imagen donde se ve que la estructura de la firma es prácticamente la misma pero cambia la localizaciíon del contenido a firmar.

La parte de arriba corresponde a una firma en línea de comandos y la de la parte de abajo desde la opción "GUI" (graphic user interface).

Se remarca los contenidos a firmar.


Si se intentan validar los ficheros con Autofirma (Archivo-> Ver Firma) se observa que ambos ficheros son correctos.

5. Firmar con tarjeta en Ubuntu

Para firmar con tarjeta hay que definir el lector de tarjetas criptográficas  tal como se ha indicado en este post.

Una vez comprobado que funciona com Mozilla, se prueba con el programa keystore explorer, y vamos al menú superior y le indicamos File > Open Special > Open PKCS#11




se le da la librería de dicha tarjeta que es /usr/lib/lib/libaetpkss.so




y nos muestra los alias de los certificados (en este caso es EPN1)



Por tanto para elegir nuestro certificado utilizaremos

-store pkcs11:/usr/lib/libaetpkss.so -alias EPN1 -password myPassword

Y nuestro comando quedaria 
/usr/bin/AutoFirma  sign  -i ficheroAFirmar -o ficheroFirma -format cades -config "mode=implicit" -store pkcs11:/usr/lib/libaetpkss.so -alias EPN1 -password myPassword


6. Firma de expedientes. Firmar el índice con formato cades implícito

Según Gamuzi podemos ejecutar este comando:

/usr/bin/AutoFirma  sign  -i rutaFicheroEntrada -o rutaFicheroSalida -format cades -config "mode=implicit" -store pkcs12:$(RESOURCES)/certs/mycert.p12 -alias epn1 -password myPassword
Siendo :
pkcs12:$(RESOURCES)/certs/mycert.p12  la ruta al fichero donde está el certificado
epn1  el alias del certificado (se puede ver usando el programa KeyStore Explorer  )
myPassword  el password del certrificado

Para que sea el formato cades implicito: -format cades -config "mode=implicit"  

7. Firma de expedientes. Firmar el índice con formato XadES Detached 

También se puede utilizar el AutoFirma.jar ejecutado desde una versión de java
/home/eduard/MyPrograms/jdk-Oracle-11.0.17/bin/java -jar /usr/lib/AutoFirma/AutoFirma.jar  sign  -i rutaFicheroEntrada -o rutaFicheroSalida -format xades -store pkcs12:rutaCertificado -alias epn1 -password myPassword  -config "format=XAdES Detached"
Siendo :
pkcs12:rutaCertificado la ruta al fichero donde está el certificado en formato .p12
epn1  el alias del certificado (se puede ver usando el programa KeyStore Explorer  )
myPassword  el password del certrificado

Para que sea el formato XadeES Detached -format xades -config "format=XAdES Detached"


8. Firma de expedientes. Firmar de la parte de contenido del fichero índice de expedientes (<ns2:IndiceContenido Id="EXP_INDICE_CONTENIDOES....) al que le tenemos que indicar el id. El formato a firmar es XadES Enveloped y descargamos la firma en otra etiqueta xml que contiene namespaces. Le tenemos que pasar el certificado para firmar

Este comando debe ir en una sola línea (observese que con "\" se ha roto las líneas para que se vwea mejor. 

java -jar /usr/lib/AutoFirma/AutoFirma.jar sign  -i provaAFirmar.xml -o provaAFirmar.signed.xml \
 -format xades -store pkcs12:Certificado.p12 -alias mialias -password micontraseña \
 -config "format=XAdES Enveloped\n \
          nodeToSign=EXP_INDICE_CONTENIDOES_L01462384_2022_EXP_61561C\n \
          insertEnvelopedSignatureOnNodeByXPath = //*[local-name()='FirmaConCertificado']"

OJO observar:
1. La separación "\n" de los parámetros del config
2. nodeToSign apunta al id del campo y no a la tag
3. Para localizar el tag al que se anexa la firma se utiliza local_name() para evitar los namespaces
 
Veamos parte del documento a firmar y queremos firmar el Id (EXP_INDICE_CONTENIDOES_L01462384_2022_EXP_61561C) y descargarlo dentro de <ns3:FirmaConCertificado>

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<insidews:expediente xmlns:ns2="http://administracionelectronica.gob.es/ENI/XSD/v1.0/expediente-e/indice-e" xmlns="http://administracionelectronica.gob.es/ENI/XSD/v1.0/expediente-e/indice-e/contenido" xmlns:ns4="http://www.w3.org/2000/09/xmldsig#" xmlns:ns3="http://administracionelectronica.gob.es/ENI/XSD/v1.0/firma" xmlns:insidews="https://ssweb.seap.minhap.es/Inside/XSD/v1.0/WebService" xmlns:ns9="https://ssweb.seap.minhap.es/Inside/XSD/v1.0/expediente-e" xmlns:ns5="http://administracionelectronica.gob.es/ENI/XSD/v1.0/expediente-e/metadatos" xmlns:ns6="http://administracionelectronica.gob.es/ENI/XSD/v1.0/documento-e/contenido" xmlns:ns7="http://administracionelectronica.gob.es/ENI/XSD/v1.0/expediente-e" xmlns:ns8="https://ssweb.seap.minhap.es/Inside/XSD/v1.0/metadatosAdicionales">
    
<ns7:expediente xmlns:insidews="https://ssweb.seap.minhap.es/Inside/XSD/v1.0/WebService" xmlns:ns9="https://ssweb.seap.minhap.es/Inside/XSD/v1.0/expediente-e" xmlns:ns8="https://ssweb.seap.minhap.es/Inside/XSD/v1.0/metadatosAdicionales" Id="ES_L01462384_2022_EXP_61561C" xmlns:ns2="http://administracionelectronica.gob.es/ENI/XSD/v1.0/expediente-e/indice-e" xmlns="http://administracionelectronica.gob.es/ENI/XSD/v1.0/expediente-e/indice-e/contenido" xmlns:ns4="http://www.w3.org/2000/09/xmldsig#" xmlns:ns3="http://administracionelectronica.gob.es/ENI/XSD/v1.0/firma" xmlns:ns5="http://administracionelectronica.gob.es/ENI/XSD/v1.0/expediente-e/metadatos" xmlns:ns6="http://administracionelectronica.gob.es/ENI/XSD/v1.0/documento-e/contenido" xmlns:ns7="http://administracionelectronica.gob.es/ENI/XSD/v1.0/expediente-e">
    <ns2:indice Id="EXP_INDICE_ES_L01462384_2022_EXP_61561C">
        <ns2:IndiceContenido Id="EXP_INDICE_CONTENIDOES_L01462384_2022_EXP_61561C">
            <FechaIndiceElectronico>2022-11-26T13:41:52.338+01:00</FechaIndiceElectronico>
            <CarpetaIndizada>
                <IdentificadorCarpeta>carpeta1</IdentificadorCarpeta>
                <DocumentoIndizado>
                    <IdentificadorDocumento>ES_L01462384_2022_DOC_1445532_0000_perrycollins200</IdentificadorDocumento>
                    <ValorHuella>9f94246bf88cc27aa324399adfcc481bc30e8259edaae605c56775696c2c6e0e69716d600a8f52d33b9fdf8e3af6012809af7181c942f6a1e7629c2d07bb66a5</ValorHuella>
                    <FuncionResumen>http://www.w3.org/2001/04/xmlenc#sha512</FuncionResumen>
                    <FechaIncorporacionExpediente>2024-11-06T06:54:10.242+01:00</FechaIncorporacionExpediente>
                    <OrdenDocumentoExpediente>00001</OrdenDocumentoExpediente>
                </DocumentoIndizado>
                <DocumentoIndizado>
                    <IdentificadorDocumento>ES_L01462384_2022_DOC_1445533_0000_Peticiondeacces</IdentificadorDocumento>
                    <ValorHuella>6aa7c4fff6e42212a79b629fa7b0c19bbd77d500fe68a178ce0138b04b6c895b25979ebe59272fca6a8fd4f1694c91ff55709e635d8a7d1329a74198103583b4</ValorHuella>
                    <FuncionResumen>http://www.w3.org/2001/04/xmlenc#sha512</FuncionResumen>
                    <FechaIncorporacionExpediente>2024-11-06T06:54:44.178+01:00</FechaIncorporacionExpediente>
                    <OrdenDocumentoExpediente>00002</OrdenDocumentoExpediente>
                </DocumentoIndizado>
            </CarpetaIndizada>
            <CarpetaIndizada>
                <IdentificadorCarpeta>carpeta2</IdentificadorCarpeta>
                <DocumentoIndizado>
                    <IdentificadorDocumento>ES_L01462384_2022_DOC_1445534_0000_ResolucionDTIC2</IdentificadorDocumento>
                    <ValorHuella>1414c6574f6ab51e40cb7a02a035f0b422bd2dda5f58ea504f40fd53f6d5bebe13f6d99151a098756c850bd849485745c37c8ec8621f47cea61b658b61b7165d</ValorHuella>
                    <FuncionResumen>http://www.w3.org/2001/04/xmlenc#sha512</FuncionResumen>
                    <FechaIncorporacionExpediente>2024-11-06T06:56:52.002+01:00</FechaIncorporacionExpediente>
                    <OrdenDocumentoExpediente>00001</OrdenDocumentoExpediente>
                </DocumentoIndizado>
                <DocumentoIndizado>
                    <IdentificadorDocumento>ES_L01462384_2022_DOC_1445535_0000_planostaladrode</IdentificadorDocumento>
                    <ValorHuella>9b6b323e0de8dfb3929094d9508f314cdcc360689f84e79630238fe33de92c8a638a1f71e42c255de3c59f429a45b193316eb61487162904507c529d33aba904</ValorHuella>
                    <FuncionResumen>http://www.w3.org/2001/04/xmlenc#sha512</FuncionResumen>
                    <FechaIncorporacionExpediente>2024-11-06T06:57:10.953+01:00</FechaIncorporacionExpediente>
                    <OrdenDocumentoExpediente>00002</OrdenDocumentoExpediente>
                </DocumentoIndizado>
            </CarpetaIndizada>
        </ns2:IndiceContenido>
        <ns3:firmas>
            <ns3:firma Id="FIRMA_0" ref="#EXP_INDICE_CONTENIDOES_L01462384_2022_EXP_61561C">
                <ns3:TipoFirma>TF03</ns3:TipoFirma>
                <ns3:ContenidoFirma>
                    <ns3:FirmaConCertificado>
                        <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-9be6c2d0-1979-4dec-a791-9365cbe41d73-Signature"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference Id="Reference-a73c9062-80a7-410c-9fad-3c003fd93ab4" URI="#EXP_INDICE_CONTENIDOES_L01462384_2022_EXP_61561C"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><ds:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><ds:XPath xmlns:ds="http://www.w3.org/2000/09/xmldsig#">not(ancestor-or-self::ds:Signature)</ds:XPath></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/><ds:DigestValue>Mz2e0Uakxd2DFXZuV0eWNeSIL879M50Ey4NgX6clQO/LaxBQrKZCHbDKdR9PJthaOcsyfkkfkxeviqzqyOWqog==</ds:DigestValue></ds:Reference><ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#Signature-9be6c2d0-1979-4dec-a791-9365cbe41d73-SignedProperties"><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/><ds:DigestValue>BOlDhhWNelo9kAJ6+8TGaImEsR5Nud81v/jAgyby7tx7DT6py2wRxis0DsHy1UbWJfacc63uVSUs6Af8/SqiKQ==</ds:DigestValue></ds:Reference><ds:Reference URI="#Signature-9be6c2d0-1979-4dec-a791-9365cbe41d73-KeyInfo"><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/><ds:DigestValue>lupfsLEvciK+yG8QVDqpgOa+RXXl4Fit/ssort6e7CbqPF5TAXt2ihEPqKAaw8Y3ZvvbGWMRzoJqkTX2z3zu+Q==</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue Id="Signature-9be6c2d0-1979-4dec-a791-9365cbe41d73-SignatureValue">bUENUAShsZLdDLOZ5HpMQWckPN9MIeoiY4O1AHuj6zzuFSYn4rBJX/+6IdW+Ffpiy8Pd5GSF4W9YchfrkIcQZp9h9zMa/jdJBfOiESXXstP9rOQtUX7hiUOEHE8I6oli972IC5mQt1jucMfFi+qyHs/dbqfs+L6vG67N5XUDX+vZcJuGbyiufjhK3JlalORSgNw8pxCzAHZZ8tCtcDID2Dps+qsunHOwROt/C9gfLeLbIn2QQjO9ekZB1wJnDtmEJ1yRih4LVZKXwU0JXk3wAjN40tLv2++CyvLc6AZ3m9vMAcVyQVPDm5kw1pwD25CIE1kUkPLWd/seluOR/b5Cag==</ds:SignatureValue><ds:KeyInfo Id="Signature-9be6c2d0-1979-4dec-a791-9365cbe41d73-KeyInfo"><ds:X509Data><ds:X509Certificate>MIIIOjCCByKgAwIBAgIQXyFDAiGNkgFmQ1XjDlQIpzANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNFUkVTMRswGQYDVQQDDBJBQyBSZXByZXNlbnRhY2nDs24wHhcNMjQwNTE0MTIxNTMxWhcNMjcwNTE0MTIxNTMwWjCB6TELMAkGA1UEBhMCRVMxDzANBgNVBAcMBk1BRFJJRDE1MDMGA1UECwwsU0VDUkVUQVJJQSBHRU5FUkFMIERFIEFETUlOSVNUUkFDSU9OIERJR0lUQUwxPzA9BgNVBAoMNk1JTklTVEVSSU8gREUgVFJBTlNGT1JNQUNJT04gRElHSVRBTCBZIEZVTkNJT04gUFVCTElDQTESMBAGA1UEBRMJUzI4MDE1MDJCMRgwFgYDVQRhDA9WQVRFUy1TMjgwMTUwMkIxIzAhBgNVBAMMGlNFTExPIEVOVElEQUQgU0dBRCBQUlVFQkFTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2f5vHYqVoHCXdLjBLj/msWdGY+Kq8O/mJYkyrnKsBwhrYkuPFojV92GqVfl2TtZelTQJJNnUSEDw0IDU2IvekbjeCi6q8CdrQbmT5IPbNz6A4IYSnxFBvKmzpz915oHvyQvevsblzY/fWPwVTTWJNrmwuH5mTHupyVTDGJqHZ8aGs5+8Ni+W3SqbnnblXcbZangGdz7si/q0XnV4xWfZf/WCnlLuVZ+DrbFNlJuki+MEjIltm7YJmJ5OmLOPGYjn3MokMZctje8FZdwwh5lLcAdZeaOOBG+IUA9goes148MdYdOQYVn9ez2iCU8yp48MfsHd4DIB4NloGcIPXYvfDwIDAQABo4IEdzCCBHMwgZ0GA1UdEQSBlTCBkqSBjzCBjDEpMCcGCSsGAQQBrGYBCAwaU0VMTE8gRU5USURBRCBTR0FEIFBSVUVCQVMxGDAWBgkrBgEEAaxmAQcMCVMyODAxNTAyQjFFMEMGCSsGAQQBrGYBBgw2TUlOSVNURVJJTyBERSBUUkFOU0ZPUk1BQ0lPTiBESUdJVEFMIFkgRlVOQ0lPTiBQVUJMSUNBMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgXgMCoGA1UdJQQjMCEGCCsGAQUFBwMCBgorBgEEAYI3CgMMBgkqhkiG9y8BAQUwgYIGCCsGAQUFBwEBBHYwdDA9BggrBgEFBQcwAYYxaHR0cDovL29jc3ByZXAuY2VydC5mbm10LmVzL29jc3ByZXAvT2NzcFJlc3BvbmRlcjAzBggrBgEFBQcwAoYnaHR0cDovL3d3dy5jZXJ0LmZubXQuZXMvY2VydHMvQUNSRVAuY3J0MB0GA1UdDgQWBBSke+Fd61MIqtAjWJpLbQyaxvenrjCCATMGA1UdIASCASowggEmMIIBFwYKKwYBBAGsZgMLBDCCAQcwKQYIKwYBBQUHAgEWHWh0dHA6Ly93d3cuY2VydC5mbm10LmVzL2RwY3MvMIHZBggrBgEFBQcCAjCBzAyByUNlcnRpZmljYWRvIGN1YWxpZmljYWRvIGRlIHNlbGxvIGVsZWN0csOzbmljbyBzZWfDum4gcmVnbGFtZW50byBldXJvcGVvIGVJREFTLiBTdWpldG8gYSBsYXMgY29uZGljaW9uZXMgZGUgdXNvIGV4cHVlc3RhcyBlbiBsYSBEUEMgZGUgRk5NVC1SQ00gY29uIE5JRjogUTI4MjYwMDRKIChDL0pvcmdlIEp1YW4gMTA2LTI4MDA5LU1hZHJpZC1Fc3Bhw7FhKTAJBgcEAIvsQAEBMIGmBggrBgEFBQcBAwSBmTCBljAIBgYEAI5GAQEwEwYGBACORgEGMAkGBwQAjkYBBgIwaAYGBACORgEFMF4wLRYnaHR0cHM6Ly93d3cuY2VydC5mbm10LmVzL3Bkcy9QRFNfZXMucGRmEwJlczAtFidodHRwczovL3d3dy5jZXJ0LmZubXQuZXMvcGRzL1BEU19lbi5wZGYTAmVuMAsGBgQAjkYBAwIBDzAfBgNVHSMEGDAWgBTcUJaf1zGJyRHk75Zf9l+CUkZiUzCB4QYDVR0fBIHZMIHWMIHToIHQoIHNhoGdbGRhcDovL2xkYXByZXAuY2VydC5mbm10LmVzL0NOPUNSTDIzNTksT1U9QUMlMjBSZXByZXNlbnRhY2lvbixPVT1DRVJFUyxPPUZOTVQtUkNNLEM9RVM/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5hcnk/YmFzZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludIYraHR0cDovL3d3dy5jZXJ0LmZubXQuZXMvY3Jsc3JlcC9DUkwyMzU5LmNybDANBgkqhkiG9w0BAQsFAAOCAQEAu1r0RlFRSfBUDCl4YlZCSNIDdNbFGGe7ghqyXr81/o1UIs+CdFBVis3SVh6tPc27HogCuzRHjEimwIgQjZnC4i/IzYAMixnZNW4UMYW4sQcVC45s+GqSSEgAMGzB5XiiZLfMyuCWtHjb6da4QcZ3pZU6h4hrSi8yCroQgtKmaseyNTpInq75N9u5tf9sX+kee8TpWUToMfTyxjOKQRQTCwOcbcKM1GCFz5zbRyLGK9vwOiDaA8yBp55O8jg/a5N1mj8eTSXwaGRLqTV9R9BpNXIQsBg2hlz2uJe1AT16zWWG8G6B4xDprIyPRHqN1yeUWqqrJJ3A5i17TabmIY06nA==</ds:X509Certificate></ds:X509Data><ds:KeyValue><ds:RSAKeyValue><ds:Modulus>2f5vHYqVoHCXdLjBLj/msWdGY+Kq8O/mJYkyrnKsBwhrYkuPFojV92GqVfl2TtZelTQJJNnUSEDw0IDU2IvekbjeCi6q8CdrQbmT5IPbNz6A4IYSnxFBvKmzpz915oHvyQvevsblzY/fWPwVTTWJNrmwuH5mTHupyVTDGJqHZ8aGs5+8Ni+W3SqbnnblXcbZangGdz7si/q0XnV4xWfZf/WCnlLuVZ+DrbFNlJuki+MEjIltm7YJmJ5OmLOPGYjn3MokMZctje8FZdwwh5lLcAdZeaOOBG+IUA9goes148MdYdOQYVn9ez2iCU8yp48MfsHd4DIB4NloGcIPXYvfDw==</ds:Modulus><ds:Exponent>AQAB</ds:Exponent></ds:RSAKeyValue></ds:KeyValue></ds:KeyInfo><ds:Object><xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Id="Signature-9be6c2d0-1979-4dec-a791-9365cbe41d73-QualifyingProperties" Target="#Signature-9be6c2d0-1979-4dec-a791-9365cbe41d73-Signature" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><xades:SignedProperties Id="Signature-9be6c2d0-1979-4dec-a791-9365cbe41d73-SignedProperties"><xades:SignedSignatureProperties><xades:SigningTime>2024-11-06T06:59:28+01:00</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/><ds:DigestValue>ebaS6bwc7bz6ZxE3G7/NePBnLnySv1M09PczcAL4W2RfYNko3ojfZgWp//BdzfsQc2W5sR5X9soSMgpqKPMV6g==</ds:DigestValue></xades:CertDigest><xades:IssuerSerial><ds:X509IssuerName>CN=AC Representación, OU=CERES, O=FNMT-RCM, C=ES</ds:X509IssuerName><ds:X509SerialNumber>126449364486182580284042377630877747367</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate></xades:SignedSignatureProperties><xades:SignedDataObjectProperties><xades:DataObjectFormat ObjectReference="#Reference-a73c9062-80a7-410c-9fad-3c003fd93ab4"><xades:Description/><xades:ObjectIdentifier><xades:Identifier Qualifier="OIDAsURN">urn:oid:1.2.840.10003.5.109.10</xades:Identifier><xades:Description/></xades:ObjectIdentifier><xades:MimeType>text/xml</xades:MimeType><xades:Encoding/></xades:DataObjectFormat></xades:SignedDataObjectProperties></xades:SignedProperties></xades:QualifyingProperties></ds:Object></ds:Signature>
                    </ns3:FirmaConCertificado>
                </ns3:ContenidoFirma>
            </ns3:firma>
        </ns3:firmas>
    </ns2:indice>
    <ns5:metadatosExp Id="EXP_ES_L01462384_2022_EXP_61561C_METADATOS">
        <ns5:VersionNTI>http://administracionelectronica.gob.es/ENI/XSD/v1.0/expediente-e</ns5:VersionNTI>
        <ns5:Identificador>ES_L01462384_2022_EXP_61561C</ns5:Identificador>
        <ns5:Organo>L01462384</ns5:Organo>
        <ns5:FechaAperturaExpediente>2022-11-26T13:41:52.338+01:00</ns5:FechaAperturaExpediente>
        <ns5:Clasificacion>245055</ns5:Clasificacion>
        <ns5:Estado>E01</ns5:Estado>
    </ns5:metadatosExp>
    <ns7:VisualizacionIndice Id="VISUALIZACION_INDICE">
        <ns6:ValorBinario>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Mjg+PgplbmRvYmoKOSAwIG9iago8PC9EVyAxMDAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKElkZW50aXR5KT4+L1R5cGUvRm9udC9CYXNlRm9udC9VWFpNSlorTGliZXJhdGlvblNhbnMvRm9udERlc2NyaXB0b3IgOCAwIFIvVyBbM1syNzddXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxMCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDIxNT4+c3RyZWFtCnicXZBBS8QwEIXv+RVzdPGQbvVYclEWenAVW8VrNpmWgJ2EaXrov3ca1y44kIF5L194E/3UPrcUMug3jq7DDEMgzzjHhR3CBcdA6liDDy5fp9LdZJPSAnfrnHFqaYiqaUC/izlnXuGu77/uq4PSr+yRA42iPNYfn6J0S0rfOCFlqJQx4HGQp15sOtsJQRfwJvZrQqjLfPxN4KLHOVmHbGlE1VRSpjlJGYXk/9lX6DLcbj+YvddVYf7cDd8229O4hVmClvVLnC1IINx/KMW0USBH/QAYvmv/CmVuZHN0cmVhbQplbmRvYmoKMiAwIG9iago8PC9TdWJ0eXBlL1R5cGUwL1R5cGUvRm9udC9CYXNlRm9udC9VWFpNSlorTGliZXJhdGlvblNhbnMvRW5jb2RpbmcvSWRlbnRpdHktSC9EZXNjZW5kYW50Rm9udHNbOSAwIFJdL1RvVW5pY29kZSAxMCAwIFI+PgplbmRvYmoKMyAwIG9iago8PC9TdWJ0eXBlL1R5cGUxL1R5cGUvRm9udC9CYXNlRm9udC9IZWx2ZXRpY2EvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjUgMCBvYmoKPDwvS2lkc1s2IDAgUl0vVHlwZS9QYWdlcy9Db3VudCAxL0lUWFQoMS4zLjI2KT4+CmVuZG9iagoxMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgNSAwIFIvVmVyc2lvbi8xLjc+PgplbmRvYmoKMTIgMCBvYmoKPDwvTW9kRGF0ZShEOjIwMjQxMTA2MDY1OTI4KzAxJzAwJykvQ3JlYXRpb25EYXRlKEQ6MjAyNDExMDYwNjU5MjgrMDEnMDAnKS9Qcm9kdWNlcihPcGVuUERGIDEuMy4yNik+PgplbmRvYmoKeHJlZgowIDEzCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMTQyNyAwMDAwMCBuIAowMDAwMDA5NTA0IDAwMDAwIG4gCjAwMDAwMDk2MzkgMDAwMDAgbiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDA5NzI3IDAwMDAwIG4gCjAwMDAwMDEyOTcgMDAwMDAgbiAKMDAwMDAwMTUyMCAwMDAwMCBuIAowMDAwMDA4ODI2IDAwMDAwIG4gCjAwMDAwMDkwMTIgMDAwMDAgbiAKMDAwMDAwOTIyMSAwMDAwMCBuIAowMDAwMDA5NzkxIDAwMDAwIG4gCjAwMDAwMDk4NDkgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDEyIDAgUi9JRCBbPDM1MmNjNGQ1MDAxOWFlOWZiNGEyM2UxYmI3ZThjMWE5PjxmYzE3NTFhNTBiOTI3NjhhZDYwMmI2MWYzNTRhYzQ2Yz5dL1Jvb3QgMTEgMCBSL1NpemUgMTM+PgpzdGFydHhyZWYKOTk2NgolJUVPRgo=</ns6:ValorBinario>
        <ns6:NombreFormato>PDF</ns6:NombreFormato>
    </ns7:VisualizacionIndice>
</ns7:expediente>

    <ns9:metadatosAdicionales>
        <ns8:MetadatoAdicional tipo="string" nombre="eEMGDE3.1.Nombre.NombreNatural">
            <ns8:valor xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">61561C: Expediente Edu meu</ns8:valor>
        </ns8:MetadatoAdicional>
        <ns8:MetadatoAdicional tipo="string" nombre="eEMDGE.22.3.Clasificacion.TipoClasificacion">
            <ns8:valor xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Funcional</ns8:valor>
        </ns8:MetadatoAdicional>
    </ns9:metadatosAdicionales>
</insidews:expediente>           

OJO: He probado con esto y funciona también

autofirma sign  -i provaAFirmar.xml -o provaAFirmar.signed.xml \
 -format xades -store pkcs12:Certificado.p12 -alias mialias -password micontraseña \
 -config "format=XAdES Enveloped\n \
          nodeToSign=EXP_INDICE_CONTENIDOES_L01462384_2022_EXP_61561C\n \
          insertEnvelopedSignatureOnNodeByXPath = //*[local-name()='FirmaConCertificado']"

9. Firma de expedientes. Firmar de la parte de contenido del fichero índice de expedientes (<ns2:IndiceContenido Id="EXP_INDICE_CONTENIDOES....) al que le tenemos que indicar el id. El formato a firmar es XadES Enveloped y descargamos la firma en otra etiqueta xml que contiene namespaces. Pide el certificado para firmar

Aqui le indicamos el parámetro -certgui para que elija el certificado por parte del firmante

autofirma sign -certgui -i provaAFirmar.xml -o provaAFirmar.signed.xml \
 -format xades 
 -config "format=XAdES Enveloped\n \
          nodeToSign=EXP_INDICE_CONTENIDOES_L01462384_2022_EXP_61561C\n \
          insertEnvelopedSignatureOnNodeByXPath = //*[local-name()='FirmaConCertificado']"

10. Manual de opciones de Autofirma

Este manual es una pasada.
y este otro es la actualización
y para la version 1.9 está este otro