ctt-gob-es / clienteafirma

Cliente @firma
http://administracionelectronica.gob.es/ctt/clienteafirma
256 stars 120 forks source link

Proporcionar una verificación de firmas por linea de comandos sin interfaz gráfica #132

Open maoterodapena opened 4 years ago

maoterodapena commented 4 years ago

Actualmente se permite abrir un panel gráfico con la información de firmas en documentos con "AutoFirma verify -i ".

Creo que sería muy útil una opción sin necesidad de interfaz, que mostrara la la información de las firmas en modo texto (a ser posible, en un formato fácilmente parseable)

Gamuci commented 4 years ago

Gracias @maoterodapena.

Quiero hacer hincapié en un tema. AutoFirma no valida las firmas. Tan sólo verifica que el valor de firma sea válido y avisa en caso de que los certificados estén caducados (comprobándolo usando la fecha que tenga configurada el usuario en su equipo). Para validar las firmas hay que utilizar alguna herramienta online que específica como VALIDe.

Más allá de eso, ¿qué información crees que es útil que se proporcione a través de línea de comandos?

maoterodapena commented 4 years ago

Creo que los mismos datos que salen con la opción verify serían suficientes. Una linea por campo, separada por ";", por ejemplo. Algo como: "FULANO DE TAL";"ENTIDAD CERTIFICADORA" "MENGANO DE TAL":"OTRA ENTIDAD"

Una aclaración. Cuando dices que no valida las firmas, te refieres a que no se comprueba la revocación?

Gamuci commented 4 years ago

Exacto. No se comprueba la revocación de los certificados, ni tampoco se comprueba que los certificados hayan sido emitidos por autoridades de confianza.

mgip commented 3 years ago

Hola. Una pregunta, este hilo tiene que ver con esto?

[root@plesk opt]# autofirma verify -i test_signed.pdf Error no reconocido: No X11 DISPLAY variable was set, but this program performed an operation which requires it.

[root@plesk opt]# export DISPLAY=:0.0 [root@plesk opt]# autofirma verify -i test_signed.pdf Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at java.awt.Toolkit$2.run(Toolkit.java:860) at java.awt.Toolkit$2.run(Toolkit.java:855) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854) at es.gob.afirma.standalone.LookAndFeelManager.(LookAndFeelManager.java:64) at es.gob.afirma.standalone.SimpleAfirma.main(SimpleAfirma.java:549) [root@plesk opt]#

Muchas Gracias. Una ultima pregunta, donde puedo encontrar la documentacion con ejemplo de como usar Autofirma por la lineas de comandos?

La documentacion se centra con GUI.

mapascual commented 1 year ago

Estoy de acuerdo en que esta opción sería muy útil.

albertogalisteo commented 1 month ago

Hola. Una pregunta, este hilo tiene que ver con esto?

[root@plesk opt]# autofirma verify -i test_signed.pdf Error no reconocido: No X11 DISPLAY variable was set, but this program performed an operation which requires it.

[root@plesk opt]# export DISPLAY=:0.0 [root@plesk opt]# autofirma verify -i test_signed.pdf Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at java.awt.Toolkit$2.run(Toolkit.java:860) at java.awt.Toolkit$2.run(Toolkit.java:855) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854) at es.gob.afirma.standalone.LookAndFeelManager.(LookAndFeelManager.java:64) at es.gob.afirma.standalone.SimpleAfirma.main(SimpleAfirma.java:549) [root@plesk opt]#

Muchas Gracias. Una ultima pregunta, donde puedo encontrar la documentacion con ejemplo de como usar Autofirma por la lineas de comandos?

La documentacion se centra con GUI.

Por si algún desesperado como yo llega aquí, en mi caso este error del DISPLAY era porque estaba mal la ruta a mi certificado en el código. Las versiones 1.8 dan este error, con la versión 1.7.1 no da este error y pude hacer debug.