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)

keys 07-03-2017 11:57:05

Autofirma (alias del certificado)
 
Hola a todos. Estoy intentando usar la utilidad autofirma proporcionada por la administración electronica para firmar documentos. Tiene una utilidad para poder llamarla desde la linea de comandos. Uno de los parametros que pide es el alias del certificado para realizar la firma.
Código Delphi [-]
C:\AutoFirma\AutoFirma.exe" sign -i c:\carpeta\fichero.xml -o c:\carpeta\firmado.xml -store windows  -alias le-56772dsd-fc29-b432-f56f-sdfs45sd5456

Alguien sabe como sacar desde delphi a lo que ellos llaman alias del certificado.

Un Saludo y gracias.

newtron 07-03-2017 14:53:14

¿Ese alias al que te refieres se ve en los certificados desde el explorador de internet? porque yo he estado echando un vistazo con Mozilla y no lo veo.

keys 07-03-2017 15:02:00

Cita:

Empezado por newtron (Mensaje 514071)
¿Ese alias al que te refieres se ve en los certificados desde el explorador de internet? porque yo he estado echando un vistazo con Mozilla y no lo veo.

Lo primero gracias. En Mozilla si pero tiene que ser el de windows no el de mozilla.

En los certificados de mozilla ya lo veo, pero no en el de windows.

Un Saludo.

newtron 07-03-2017 15:11:59

Hola de nuevo.

He estado echando un vistazo por si veía algo en la función que estamos usando para el tema del SII pero no he visto nada relacionado con el alias.

Mirando por internet he encontrado esta página que igual te puede dar algo de luz, está en portugués pero bueno, viene el código delphi hablando de "alias".

De una forma o de otra si no consigues tirar por esa vía te puedo pasar un link de un programa java, que es el que yo uso, que hace algo parecido y funciona bastante bien, lo único es que tienes que tener java instalado pero no creo que sea mayor problema. No te lo pongo ahora porque tendré que buscar el link, si te interesa me lo comentas.

Saludos

Edito: He soltado una tontería porque estoy pensando en que precisamente tu problema es que no querrás seleccionar el certificado cada vez y por eso preguntas por el alias. En el programa
en java que te comento solo pregunta fichero de entrada y salida y se abre la ventana para seleccionar el certificado con el que quieres firmar así que igual tampoco te vale.

keys 07-03-2017 16:07:19

Lo primero gracias.
Miraré el enlace. También he mirado lo utilizado con los certificados del sii pero no consigo encontrar el alias.
No me sirve lo que dices por que previamente le muestro los certifiados y firmo el seleccionado un monton de documentos, y claro no puede estar seleccionando el certificado para cada documento.

Un Saludo.

keys 08-03-2017 11:25:23

Hola a todos.

Ya he conseguido pasar el certificado, en el siguiente enlace http://www.ajpdsoft.com/modules.php?...rticle&sid=481 hay un ejemplo en delphi de como utilizar las CAPICOM para obeneter los certificados, que ha servido para el SII tambien.

El problema era que para las firmas del almacen de windows hay que pasar el parametro entre comillas dobles "".

Código Delphi [-]
autofirmaCommandLine sign -i c:\carpeta\factura.pdf -o c:\carpeta\firmado.pdf -store windows -alias "ALIAS DEL CERTIFICADO QUE SE OBTIENE EN EL EJEMPLO DEL ENLACE CON CAPICOM"

 En el ejemplo se obtiene en certificadoActual.GetInfo (CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME)));

Por cierto con esta utilidad se pueden firmar varios tipos de ficheros, pdf, xml, factura-e, etc y con varias politicas de firmas. Lo que hace que puedas prescindir de componentes de terceros para firmar ficheros y no tener que pasar por caja.

Más información sobre esta utilidad y otras en el siguiente enlace https://administracionelectronica.go...a#.WL_Ne_IlLZx

Un Saludo. Espero que a alguien le sirva.

newtron 08-03-2017 12:37:45

Gracias por la info. ^\||/^\||/

Edito: ¿Ese programa hay que instalarlo o es un .exe independiente?

keys 10-03-2017 10:16:44

En principio el programa tiene un instalador. Pero he probado a llevarme el ejecutable a un equipo sin instalarlo y funciona correctamente. Lo único que pide es que en el equipo este instalado el JAVA.

Un Saludo.

newtron 10-03-2017 10:26:33

Cita:

Empezado por keys (Mensaje 514186)
En principio el programa tiene un instalador. Pero he probado a llevarme el ejecutable a un equipo sin instalarlo y funciona correctamente. Lo único que pide es que en el equipo este instalado el JAVA.

Un Saludo.

Ok, gracias.

newtron 05-05-2017 19:41:50

Keys.

Estoy haciendo pruebas con el programita este de la firma y me da un error de que no me reconoce el alias del certificado.

¿El alias es donde aparece (en el caso de las personas físicas) el nombre? Ej: "FULANO DE COPAS NIF 23451245M"

Gracias

newtron 05-05-2017 20:47:21

Ok. Creo que ya lo tengo.

Ya me funciona pero no con el parámetro que pones sino con el "Nombre del contenedor": (certificadoActual.PrivateKey.ContainerName del ejemplo de AjpdSoft) qué cosas....

Al final he dado con la tecla porque he puesto en linea de comandos para que me liste los alias de los certificados: "autofirmacommandline listaaliases" y he visto que había una pequeña diferencia en el texto de uno y de otro.

Saludos

newtron 06-05-2017 10:05:42

Bueno. Para quien le sirva creo que ya tengo claro el problema.

Según parece hay certificados que tienen clave privada y otros que no. Yo por ejemplo tengo dos, uno a nombre de una sociedad (que no tiene clave privada) y otro a nombre mio (que si que la tiene).

El tema es que si no tiene clave privada, para firmar hay que poner el alias que sale del ejemplo como
certificadoActual.GetInfo (CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME)

y si la tiene hay que poner el alias que sale como

certificadoActual.PrivateKey.ContainerName

Saludos

Casimiro Notevi 06-05-2017 13:22:41

^\||/^\||/^\||/

keys 08-05-2017 09:29:44

Hola. Perdona por no haberte contestado pero es que durante el fin de semana procuro desconectar de todo esto.

Una aportación más. Si firmas e-facturas en xml por la línea de comandos, el fichero que se genera si lo validas en la página de la aeat da error de firma. Si lo firmas con el programa a mano funciona correctamente. Pegándome con la documentación y con un poco de suerte, ya que ellos no te dan ninguna ayuda lleque a encontrar que poniendo alguno de los siguientes parametros no da error.

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

Es decir los parametros del final que hacen refencia a la firma.

Un Saludo.

newtron 08-05-2017 18:07:30

Cita:

Empezado por keys (Mensaje 516338)
Hola. Perdona por no haberte contestado pero es que durante el fin de semana procuro desconectar de todo esto.

Haces bien.

Cita:

Empezado por keys (Mensaje 516338)
Una aportación más. Si firmas e-facturas en xml por la línea de comandos, el fichero que se genera si lo validas en la página de la aeat da error de firma. Si lo firmas con el programa a mano funciona correctamente. Pegándome con la documentación y con un poco de suerte, ya que ellos no te dan ninguna ayuda lleque a encontrar que poniendo alguno de los siguientes parametros no da error.

Gracias por el aviso, no me había dado cuenta. Las pruebas de validación las hice sobre ficheros firmados con el programa normal y no había pensado en que saldría algún problema por el hecho de usar el de comandos.

Saludos

manelb 08-05-2017 18:56:54

La lista de Alias de los certificados tambien se puede obtener dede la linea de comandos

Código:

AutofirmaCommandLine.exe listaaliases
Otra cosa:
Keys, podrias poner un enlace a la documentación de la que hablas.
Yo solo he localizado el manual de instalación de autofirma, pero no un detalle de los comandos aceptados.

Los paràmetros del final (Madrid), los pones a piñon fijo o es por que tu firmas desde Madrid?

manelb 08-05-2017 19:09:19

Corrijo :(

Código:

AutofirmaCommandLine.exe listaliases

newtron 08-05-2017 19:46:36

Hola.

Si pones (por ejemplo) en la linea de comandos: "autofirmacommandline sign" te dará un error y te saldrá la lista de opciones. Normalmente poniendo loquesea.exe /? suele salir pero aquí no funciona así.

Saludos

manelb 08-05-2017 20:03:48

Aqui le pones:

Código:

AutofirmaCommandLine -help

keys 09-05-2017 09:22:51

Cita:

Empezado por manelb (Mensaje 516355)
La lista de Alias de los certificados tambien se puede obtener dede la linea de comandos

Código:

AutofirmaCommandLine.exe listaaliases
Otra cosa:
Keys, podrias poner un enlace a la documentación de la que hablas.
Yo solo he localizado el manual de instalación de autofirma, pero no un detalle de los comandos aceptados.

Los paràmetros del final (Madrid), los pones a piñon fijo o es por que tu firmas desde Madrid?

Los parametros son donde se hace la firma, pueden ser cualquiera. Pero si no los pones luego a la hora de validar en la pagina de efactura da error.

En este enlace esta toda la información, descargas, hay unas clase java para poderlo integrar en una aplicacion sin el ejecutable.

https://administracionelectronica.go...l#.WRFeUtwlGHs

En la sección de descargas Documentacion del Miniapplet y autofirma en Autofirma - Manual de instalación usuarios, tienes lo de la línea de comandos pero más que

AutoFirmaCommandLine sign –help no viene.

Yo lo que hice fue pegarme con los diferentes manuales que hay y con un poco de suerte di con con los parámetros.


La franja horaria es GMT +2. Ahora son las 15:41:53.

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