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.
Alguien sabe como sacar desde delphi a lo que ellos llaman alias del certificado. Un Saludo y gracias. |
¿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.
|
Cita:
En los certificados de mozilla ya lo veo, pero no en el de windows. Un Saludo. |
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. |
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. |
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 "".
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. |
Gracias por la info. ^\||/^\||/
Edito: ¿Ese programa hay que instalarlo o es un .exe independiente? |
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. |
Cita:
|
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 |
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 |
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 |
^\||/^\||/^\||/
|
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.
Es decir los parametros del final que hacen refencia a la firma. Un Saludo. |
Cita:
Cita:
Saludos |
La lista de Alias de los certificados tambien se puede obtener dede la linea de comandos
Código:
AutofirmaCommandLine.exe listaaliases 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? |
Corrijo :(
Código:
AutofirmaCommandLine.exe listaliases |
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 |
Aqui le pones:
Código:
AutofirmaCommandLine -help |
Cita:
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. |
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 |
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 |
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. |
Cita:
Muchas gracias de nuevo |
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 |
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
Un saludo |
Cita:
Con la ayuda de este hilo yo lo conseguí. primero que nada revisa que el alias es correcto Código:
AutofirmaCommandLine.exe listaliases Ya tengo los dientes parámetros configurados tal y como yo lo utilizo Cita:
|
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 :( |
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. |
No olvides las etiquetas para el código, sin ellas es muy difícil de leer.
Gracias :) |
Cita:
Gracias y disculpa, ya debería reordarlo :) |
Gracias a ti ^\||/
|
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> |
Cita:
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. |
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. |
Cita:
|
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 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. |
Cita:
|
Cita:
|
La franja horaria es GMT +2. Ahora son las 13:06:49. |
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