ctt-gob-es / clienteafirma

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

Parámetros -config #153

Open Speedfroggy opened 4 years ago

Speedfroggy commented 4 years ago

Hola. ¿Alguien me podría indicar l alista completa de parámetros que se le puede pasar a -config cuando de llama en línea de comandos? Además, he intentado usar signatureRubricImage pero no sé cómo poner el fichero de imagen, he probado con una ruta y nada.

Gracias Saludos

alfem commented 4 years ago

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)

Utilice "AutoFirma cmd -help" para ver la sintaxis del comando "cmd"

Speedfroggy commented 4 years ago

Gracias por contestar. Pero en ningún sitio de la ayuda especifica cómo pasar los parámetros a -config. Rebuscando he encontrado un manual que se llama "Manual-Integrador-v1-6-5v2 .pdf" donde se especifican un poco....pero no parece funcionar muy bien en la práctica y seguro que es porque estoy haciendo algo mal...pero no sé lo que pueda ser.

Saludos

AdrianRodriguezLlave commented 3 years ago

@Speedfroggy Si estás usandolos via commandos, la forma de utilizarlos es la siguiente. -config param1=value1\nparam2=value2 Como verás en el ejemplo hay que separarlos con \n y todo es una combinación de clave valor.

alfem commented 3 years ago

Pero en ningún sitio de la ayuda especifica cómo pasar los parámetros a -config. Rebuscando he encontrado un manual que se llama "Manual-Integrador-v1-6-5v2 .pdf" donde se especifican un poco....pero no parece funcionar muy bien en la práctica y seguro que es porque estoy haciendo algo mal...pero no sé lo que pueda ser.

Dime qué quieres hacer y te pongo un ejemplo.

Speedfroggy commented 3 years ago

Muy buenas. Al final, después de múltiples pruebas conseguí este config por si le sirve a alguien, que posiciona la firma en la última página y en una posición en concreto -config layer2Text="Firmado por $$SUBJECTCN$$ el día $$SIGNDATE=dd/MM/yyyy$$ Con certificado emitido por $$ISSUERCN$$"\nsignaturePositionOnPageLowerLeftX=100\nsignaturePositionOnPageLowerLeftY=100\nsignaturePositionOnPageUpperRightX=400\nsignaturePositionOnPageUpperRightY=200

Lo que me gustaría hacer es incluir una imagen

Por cierto, también he resuelto por qué no me funcionaba el -filter. Este parámetro es incompatible con -certgui. Si pones -certgui no hace el filtrado de los certificados.

Muchas gracias a los dos por contestar. Saludos

Gamuci commented 3 years ago

El listado de parámetro de configuración aparece en el manual del integrador del Cliente @firma. Fíjate al final, en la sección de "Parámetros adicionales" de cada uno de los formatos de firma. Veré si se puede agregar a la ayuda integrada de la aplicación.

Estoy mirando lo de la imagen de rúbrica de las firmas PDF y parece ser una limitación de AutoFirma. La aplicación espera la imagen en Base 64, pero en cuanto ésta es demasiado grande ya no puede pasarse por línea de comandos o al ejecutar AutoFirma desde un script. Habrá que hacer cambios para permitir que se pueda indicar la ruta de un fichero.

Gamuci commented 3 years ago

Se ha agregado a la ayuda integrada de AutoFirma una página con las opciones de configuración que admiten los formatos de firma por línea de comandos.

También se ha modificado el manejador de firmas PDF para que, cuando se utilice desde línea de comandos, se pueda indicar una ruta de fichero para la imagen de firma (parámetro "signatureRubricImage"), la imagen a estampar antes de firmar (parámetro "image") y el contenido del documento adjunto (parámetro "attach").

Speedfroggy commented 3 years ago

Muy buenas. Disculpa, pero no veo los campos reflejados en el documento MCF_manual-integrador_ES.docx Por otra parte me he vuelto a bajar Autofirma y en la ayuda tampoco veo nada.

image

Y claro, tampoco he entendido como hay que usar el signatureRubricImage, image o attach Creo que si es posible un ejemplo práctico sería estupendo.

Gracias. Saludos.

enemotrop commented 3 years ago

Estoy teniendo problemas con los espacios al usar AutoFirma desde una terminal, en Linux. Siempre que introduzco algo que contenga espacios (nombres de archivos, cadenas de texto en la configuración...) da error. Incluso salta error con los códigos de salto de línea \n entre los parámetros de configuración adicionales. He probado a usar comillas simples y dobles, sin resultado. ¿Alguna idea? Gracias

enemotrop commented 3 years ago

Ya he conseguido solucionar lo de los espacios en las opciones de configuración (tenía un error entre dos opciones, con un espacio tras un símbolo de salto de línea), pero sigue sin funcionar lo de los nombres de archivo. Si firmo un archivo cuyo nombre no tiene espacios, no hay problema, pero en caso contrario (por ejemplo, un archivo "zzz zzz.pdf", obtengo este mensaje:

El fichero de entrada no existe: zzz

He probado escapando el espacio con \, o encerrando el nombre de archivo entre comillas simples y dobles, sin resultado.

Y otra cosa: ahora que he conseguido firmar, al usar los parámetros -config para crear un cuadro de firma visible, se genera el pdf firmado pero no aparece nada visible. Este es el comando que ejecuto:

AutoFirma sign -i zzz.pdf -o zzz_signed.pdf -store mozilla -filter subject.contains:YO -format pades -algorithm SHA512withRSA -config signaturePage=1\nsignaturePositionOnPageUpperRightX=200\nsignaturePositionOnPageUpperRightY=200\nsignaturePositionOnPageLowerLeftX=100\nsignaturePositionOnPageLowerLeftY=100\nlayer2Text="FIRMADO"\nlayer2FontFamily=0\nlayer2FontSize=10\nlayer2FontStyle=0\nlayer2FontColor=black\nincludeQuestionMark

¿Qué estoy haciendo mal?

EDITO: solucionado; ver solución en https://github.com/ctt-gob-es/clienteafirma/issues/171

antonireus commented 3 years ago

Es posible utilizar Autofirma des de la línia de comandos en Windows? Ejecutando:

Autofirma sign -help

solo aparece un momento la "splash screen", y el programa acaba sin ningún mensaje en la consola ni en el fichero de log HOME\.afirma\AUTOFIRMA.afirma.log.xml

antonireus commented 3 years ago

Me contesto a mi miso, mirando el directorio de binarios veo que hay el ejecutable AutoFirmaCommandLine, ejecutando:

AutoFirmaCommandLine sign -help

funciona.

Panokio commented 2 years ago

Hola, quisiera que me ayudaras, quiero firmar con Autofirma batchsign un lote de facturas con formato Facturae, pero no consigo aclararme con las sintaxis de sus opciones.

Me podrías explicar que debe ir en las opciones -i, -o, -preurl, -posturl y -xml? Si puedes, ponme un ejemplo...

Un millón de gracias

leizmendi commented 5 months ago

Buenos días, Tengo el mismo problema: quiero firmar un lote de documentos y no sé que hay que poner en las opciones -i -o -preurl y -posturl, según la ayuda de autofirmacommandline batchsign -help:

Sintaxis: AutoFirma batchsign [opciones...]

Opciones: -i inputfile (Ruta del fichero de configuracion de la operacion) -o outputfile (Ruta del fichero con el XML resultado 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 macOS) 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) -preurl url (URL del servicio externo de prefirma) -posturl url (URL del servicio externo de postfirma) -xml (Formatea la respuesta como XML)

pero podría alguien facilitar un ejemplo de qué debería contener inputfile, outputfile y las urls de -preurl y -posturl para qué son?

Muchas gracias, un saludo