Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Autofirma (alias del certificado) (https://www.clubdelphi.com/foros/showthread.php?t=91572)

newtron 09-05-2017 17:32:45

Keys.

Estoy teniendo problemas extraños con distintos certificados del estilo de que un certificado determinado en un pc me coge bien el nombre y en otro no, cosas muy raras y estoy pensando en abrir el programa autofirma y que se haga la operación desde el.

El tema es que en alguna prueba quiero recordar que con el autofirmacommandline había conseguido llamar al programa enviandole como parámetro el fichero que había que firmar para que no tuviera el operador que seleccionarlo pero ahora no soy capaz, me sale siempre el error "No se reconoce el parámetro autofirma.pfx". ¿Tú has hecho algo parecido a eso?

Gracias y un saludo

newtron 09-05-2017 17:43:35

Vaya... parece que, después de todo el día dando cabezazos, poner el post me ha servido de inspiración. Solo hay que ponerle el parámetro -gui para que se abra en modo gráfico.

Saludos

keys 10-05-2017 08:32:14

A veces no hay nada como preguntar en alto para darse cuenta. :):):)

Yo lo estoy usando siempre desde la línea de comandos ya que son varios los ficheros que tengo que firmar, no le puedo estar pidiendo al usuario que firme a mano cada fichero, de momento no he tenido ningun problema con los certificados.

Lo tengo en unos cuantos clientes, cada uno con sus certificados de distintos tipos y todo bien. Eso si los nombres de los certificados los estoy obteniendo con un componente (TElWinCertStorage) de los eldos que los tengo comprados y funcionan de maravilla. por cierto en delphi 6.

Ni tan siquiera les instalo la aplicación. Les copio el ejecutable (autofirmacommandline) en la carpeta de mis progamas y tiro de él. Lógicamente tienen el java instalado.

El único problema que he tenido es el de la validación de los ficheros en la página de efactura. que ya comenté en un post anterior como solucionarlo. Por cierto si los firmas a mano desde el programa no hay ese problema. Aparte del problema de pegarme con la escasa documentación y ayuda que tiene. Les llegue a preguntar por el sistema de preguntas que tienen y me dijeron que solo contestaban a empresas públicas y que buscara la vida.

Un Saludo.

lithium76 17-05-2017 00:10:03

Cita:

Empezado por keys (Mensaje 516481)
A veces no hay nada como preguntar en alto para darse cuenta. :):):)

Yo lo estoy usando siempre desde la línea de comandos ya que son varios los ficheros que tengo que firmar, no le puedo estar pidiendo al usuario que firme a mano cada fichero, de momento no he tenido ningun problema con los certificados.

Lo tengo en unos cuantos clientes, cada uno con sus certificados de distintos tipos y todo bien. Eso si los nombres de los certificados los estoy obteniendo con un componente (TElWinCertStorage) de los eldos que los tengo comprados y funcionan de maravilla. por cierto en delphi 6.

Ni tan siquiera les instalo la aplicación. Les copio el ejecutable (autofirmacommandline) en la carpeta de mis progamas y tiro de él. Lógicamente tienen el java instalado.

El único problema que he tenido es el de la validación de los ficheros en la página de efactura. que ya comenté en un post anterior como solucionarlo. Por cierto si los firmas a mano desde el programa no hay ese problema. Aparte del problema de pegarme con la escasa documentación y ayuda que tiene. Les llegue a preguntar por el sistema de preguntas que tienen y me dijeron que solo contestaban a empresas públicas y que buscara la vida.

Un Saludo.

Buenas, solo darte las gracias por este aporte. Yo también me estuve pelenado con la casi nula documentación para poder llamar la aplicación desde la línea de comandos al darme cuenta que no se validaba la firma correctamente como sí sucedía desde la interfaz gráfica. También me dijeron lo mismo cuando intenté preguntar y pedir un poco de ayuda. Ya casi lo había dado por perdido.

Muchas gracias de nuevo

jodaws 13-09-2017 12:09:38

Buenos días, yo estoy intentando firmar pero no me funciona... Cuando lo hago con el programa Autofirma de forma manual me firma correctamente el fichero, ya que hago la validación en la página de facturae y sale todo ok. Pero si lo hago con CMD (que luego incluiré dentro del programa delphi) entonces me sale un error en la Política de la firma: No se ha validado la política. Error en la firma , aunque me genera el archivo XSIG

Estoy pensando que alomejor no le paso bien el alias ...

Hablas de un post anterior que comentavas el que creo que es el mismo problema que yo tengo...Me puedes indicar cual es?

Se os acude que puede ser?

Muchas gracias de antemano

keys 13-09-2017 12:27:10

Hola. Cuando llamas a autofirmacommandline tienes que pasarle en -config una serie de datos como son la ciudad,provincia, codigopostal y pais. Lo tienes en un post anterior


Código Delphi [-]
autofirmacommandline sign -i C\factura.XML -o C:\FacturaFirmada.xml -store windows -alias "ALIAS DEL CERTIFICADO" -format facturae -config signatureProductionCity=MADRID\nsignatureProductionProvince= MADRID\nsignatureProductionPostalCode= 28070\nsignatureProductionCountry= ESPAÑA

Un saludo

manelb 13-09-2017 12:46:07

Cita:

Empezado por jodaws (Mensaje 521033)
B
Se os acude que puede ser?

Tiene que funcionar !!!

Con la ayuda de este hilo yo lo conseguí.

primero que nada revisa que el alias es correcto

Código:

AutofirmaCommandLine.exe listaliases
A continuación te paso la linea de comandos que utilizo.
Ya tengo los dientes parámetros configurados tal y como yo lo utilizo
Cita:

"c:\AutoFirma\AutoFirmaCommandLine.exe" sign -i %1 -o %2 -store windows -alias %3 -format facturae -config signatureProductionCity=%4\nsignatureProductionProvince=%5\nsignatureProductionPostalCode=%6\nsignat ureProductionCountry=%7

jodaws 13-09-2017 12:59:03

Muchas gracias por vuestras respuestas, intento llamarlo con los paramétros que me comentais con la linea de comandos (luego ya lo automatizaré) pero me sale : No se reconoce el parametro MADRID\nsignatureProductionPostalCode=

Lo llamo asi:

autofirmacommandline sign -i c:\fac\FAC12555_1700001.XML -o c:\fac\FACFIRMADO.XML -store windows -alias "ALIAS" -format facturae -config signatureProductionCity=MADRID\nsignatureProductionProvince= MADRID\nsignatureProductionPostalCode= 28070\nsignatureProductionCountry= ESPAÑA

El alias en princio está correcto, ya que si pongo uno que no existe me lo dice.

Que es lo que no veo?? Me da la sensación que estoy ciega :(

jodaws 13-09-2017 13:34:39

He puesto solo hasta el primer parámetro

autofirmacommandline sign -i c:\fac\FAC1700001.XML -o c:\fac\FACFIRM.XML -store windows -alias "ALIAS" -format facturae -config signatureProductionCity=MADRID

y parece que me la valida correctamente! Luego haré algunas pruebas más.

Casimiro Notevi 13-09-2017 13:39:03

No olvides las etiquetas para el código, sin ellas es muy difícil de leer.



Gracias :)

jodaws 13-09-2017 15:41:35

Cita:

Empezado por Casimiro Notevi (Mensaje 521038)
No olvides las etiquetas para el código, sin ellas es muy difícil de leer.



Gracias :)


Gracias y disculpa, ya debería reordarlo :)

Casimiro Notevi 13-09-2017 20:58:34

Gracias a ti ^\||/

YellowStone 03-10-2017 15:59:59

Una buena opción para sacar los aliases bien formateados y poder cogerlo correctamente es la siguiente:

autofirmacommandline.exe listaliases -store windows -xml >aliases.xml

Esto nos genera un fichero xml que luego podemos tratar y nos queda algo así:

Código:

<afirma>
        <result>ok</result>
        <response>
                <alias>AC FNMT Usuarios</alias>
                <alias>AC RAIZ FNMT-RCM</alias>
                <alias>17d2dae11e5420c6</alias>
                <alias>ESTE ALIAS ME VALE - 1122334455H</alias>
        </response>
</afirma>


YellowStone 03-10-2017 16:01:47

Cita:

Empezado por jodaws (Mensaje 521036)
Muchas gracias por vuestras respuestas, intento llamarlo con los paramétros que me comentais con la linea de comandos (luego ya lo automatizaré) pero me sale : No se reconoce el parametro MADRID\nsignatureProductionPostalCode=

Lo llamo asi:

autofirmacommandline sign -i c:\fac\FAC12555_1700001.XML -o c:\fac\FACFIRMADO.XML -store windows -alias "ALIAS" -format facturae -config signatureProductionCity=MADRID\nsignatureProductionProvince= MADRID\nsignatureProductionPostalCode= 28070\nsignatureProductionCountry= ESPAÑA

El alias en princio está correcto, ya que si pongo uno que no existe me lo dice.

Que es lo que no veo?? Me da la sensación que estoy ciega :(


Te sobran espacios. A partir de "signatureProductionCity" no puede haber ningún espacio, y tu tienes espacios en antes de la provincia, del código postal y del país.

YellowStone 05-10-2017 10:28:17

Por cierto, que para aquellos que no son capaces de dar con el álias correcto de un certificado (que suele ocurrir mucho con los certificados de representación), que sepan que podemos poner el álias que nosotros queramos.

Simplemente hay que cambiarlo en el certificado. Accedemos a él a través de Opciones de Internet, Contenido, Certificados, elegir el certificado correspondiente, pulsar sobre ver, ir a detalles, y buscar la entrada "Nombre descriptivo", que suele ser la última abajo del todo, le damos a editar propiedades y le ponemos el nombre descriptivo que queramos. Ese será el álias a partir de ahora de dicho certificado.

newtron 05-10-2017 10:43:37

Cita:

Empezado por YellowStone (Mensaje 521548)
Por cierto, que para aquellos que no son capaces de dar con el álias correcto de un certificado (que suele ocurrir mucho con los certificados de representación), que sepan que podemos poner el álias que nosotros queramos.

Simplemente hay que cambiarlo en el certificado. Accedemos a él a través de Opciones de Internet, Contenido, Certificados, elegir el certificado correspondiente, pulsar sobre ver, ir a detalles, y buscar la entrada "Nombre descriptivo", que suele ser la última abajo del todo, le damos a editar propiedades y le ponemos el nombre descriptivo que queramos. Ese será el álias a partir de ahora de dicho certificado.

:eek::eek::eek: Muy buen apunte, gracias.

josemmerida 08-10-2017 19:12:13

Firma xades Enveloped en AutoFirmaCommandLine
 
Buenas tardes.

Estoy intentando sustituir el incomodo aduanetxml por la utilidad autofirma para la firma de archivos XML de aeat.

Resulta que la firma xml que necesito según las especificaciones es "Xades Enveloped".

Arrancando el entorno gráfico hay un desplegable en el cual se elige "Xades Enveloped", firma perfectamente.

En linea de comando el xades "normal" funciona bien con la instrucción

Código:

"AutoFirmaCommandLine.exe" sign -i "C:\PrevArchivo.txt" -o "C:\FirmadoArchivo.txt" -store windows -alias "MiAlias" -format "XAdES" -config signatureProductionCity=MALAGA\nsignatureProductionProvince=MALAGA\nsignatureProductionPostalCode=29016\nsignatureProductionCountry=ESPAÑA
He estado buscando en la documentación Java y en format describe un comando "XAdES Enveloped" que parece que no existe en AutoFirmaCommandLine.exe ya que no se describe al llamar a -help y de hecho no funciona

Incluso he encontrado un parametro para -config que nos indica en que nodo colocamos la firma es: "insertEnvelopedSignatureOnNodeByXPath=/Signature".

Sigo sin dar con la tecla de como firmar "XAdES Enveloped" desde "AutoFirmaCommandLine.exe". ¿A alguien se le ocurre algo?

Muchas gracias de antemano. Lo mismo es una tontería....

Saludos.

YellowStone 15-11-2017 16:26:51

Cita:

Empezado por josemmerida (Mensaje 521633)
Buenas tardes.

Estoy intentando sustituir el incomodo aduanetxml por la utilidad autofirma para la firma de archivos XML de aeat.

Resulta que la firma xml que necesito según las especificaciones es "Xades Enveloped".

Arrancando el entorno gráfico hay un desplegable en el cual se elige "Xades Enveloped", firma perfectamente.

En linea de comando el xades "normal" funciona bien con la instrucción

Código:

"AutoFirmaCommandLine.exe" sign -i "C:\PrevArchivo.txt" -o "C:\FirmadoArchivo.txt" -store windows -alias "MiAlias" -format "XAdES" -config signatureProductionCity=MALAGA\nsignatureProductionProvince=MALAGA\nsignatureProductionPostalCode=29016\nsignatureProductionCountry=ESPAÑA
He estado buscando en la documentación Java y en format describe un comando "XAdES Enveloped" que parece que no existe en AutoFirmaCommandLine.exe ya que no se describe al llamar a -help y de hecho no funciona

Incluso he encontrado un parametro para -config que nos indica en que nodo colocamos la firma es: "insertEnvelopedSignatureOnNodeByXPath=/Signature".

Sigo sin dar con la tecla de como firmar "XAdES Enveloped" desde "AutoFirmaCommandLine.exe". ¿A alguien se le ocurre algo?

Muchas gracias de antemano. Lo mismo es una tontería....

Saludos.

Edito porque no funciona lo que había puesto.

oscarperez-1980 26-02-2022 17:12:06

Cita:

Empezado por YellowStone (Mensaje 522530)
Edito porque no funciona lo que había puesto.

Diste con lo de enveloped?


La franja horaria es GMT +2. Ahora son las 22:35:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi