FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Consejo para Firma Digital
Hola Foro,
Estoy empezando un nuevo proyecto y necesito que los documentos que genera mi aplicación los convierta a PDF y se firmen digitalmente. La conversión a PDF no es problema ya que en anteriores proyectos lo he realizado. Lo que no he realizado nunca es la firma digital por medio de un certificado digital alojado en el contedor de windows. Necesito que estos documentos se firmen digitalmente para que tengan validez legal. He estado mirando por el foro y he encontrado dos formas de hacerlo: - A traves de un control activeX que te proporciona la aeat. - A traves de los componentes SecureBlackBox de Eldos. Por lo que he leido, el activex funciona bien, pero veo que es necesario disponer de conexión a internet para verificar la firma y conectarse con la aeat, con lo que ya estamos dependiendo de un tercero para que el sistema funcione. Con respecto a SecureBlackBox, Neftali, habla muy bien de ellos. Pero tienen un coste que debo plantearme. Como hay varias versiones y dependiendo de esto varia el precio, no se exactamente que versión me sería la mas adecuada. La idea que tengo es que mi aplicación firme los documentos pdf y poder a parte crear una pequeña utilidad que verifique esos documentos pdf sin necesidad de conectarse a internet, ni de terceros. Esta pequeña utilidad la haría llegar a aquellas personas a las que van dirigido los documentos. Me gustaría que me aconsejarán y orientarán sobre que opción ven más adecuada o si conoceis algún otro metodo. La mayoría de los mensajes que he visto sobre este tema son de Neftali, asi pues le agradecería mucho su consejo. Por lo que he leido, ha utilizado los componentes y me gustaría saber si con la versión standard sería suficiente para firmar documentos pdf y garantizar su validez jurídica. Y si no es mucho pedir, saber si estos componentes son dificiles de utilizar. Acepto consejos de cualquier persona que los haya utilizados. Bueno, esperando vuestros consejos me despido. Gracias. Saludos.
__________________
El saber no ocupa lugar. |
#2
|
||||
|
||||
Cita:
Sí que he hablado otras veces en los foros sobre este tema, ya que hace tiempo estuve con ello, aunque finalmente no llegamos a implementarlo. Como tú bien has dicho, las dos opciones que he comentado otras veces aquí son estas dos. El ActiveX de la AEAT (y algun otro similar que hay por internet, que provee algun ayuntamiento/organismo de alguna comunidad autónoma) tiene el problema (que tú bien comentas) de que estás dependiendo de terceros para tu trabajo (de la conexión, de la página web,...) y también desconozco qué pasará si se hace un uso intensivo de él. Los SecureBlackBox lo llegué a evaluar y me parecieron fantásticos, pero son de pago. Hay que ver si la empresa/programa pueden asumir ese coste. A parte de estas dos, sí hay otras opciones. La primera (aunque desestimada por mí a las primeras de cambio) es pelearte directamente con CAPICOM; No te lo recomiendo a no ser que tengas "tendencias masoquistas"... Dejando esta de lado, hay otras opciones como la de llamar a otros programas para que hagan la firma digital, en lugar de implementarla dentro de tu programa (de forma nativa). En este punto puedes encontrar programas ya realizados, ActiveX a los que puedes llamar o algunos que funcionan en línea de comandos. Para empezar revisa:Puedes encontrar bastante información de ellos por internet. Si no recuerdo mal, de ambos se ha hablado en más de una ocasión en Kriptópolis (incluyendo unos pasos para ponerlo en marcha). A parte hay ActiveX que permiten firma sin necesidad de conexión a Internet y que se supone que podrías integrar en tu programa. Recuerdo haber visto algo en la web de Chilkat y en la de Aloha, aunque si buscas encontrarás más... Date una vuelta por ellas. Revisa también esta opción de iSigma(ClickSign). Busca también sobre la herramienta SignTool de Microsoft, aunque creo que esta no se ajusta exactamente a los que necesitas, pero no está de más revisarla. AÑADIDO: He recordado también la web de neevia, que también tenía algun ActiveX al respecto. Un saludo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 16-12-2009 a las 14:13:30. |
#3
|
||||
|
||||
Es que se necesita de ese tercero del que quereis desprenderos
Para comprobar que tu certificado digital es válido (que no ha expirado o ha sido revocado) necesitas internet para acceder a tu OCSP (Online Certification Status Protocol) y que garantice que puedes firmar en ese mismo momento que quieres hacerlo. INTECO (Instituto Nacional de Tecnologias de la Comunicación) también tiene otro programa hecho en java para firmar documentos (PDF o lo que quieras). Por cierto, los certificados por software (alojados en el explorador web) no es lo mejor de lo mejor... es preferible tenerlos en tarjeta criptográfica, más cuando cryptokit sólo cuesta 35 €
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 17-12-2009 a las 00:35:35. |
#4
|
||||
|
||||
Cita:
Está claro que para comprobar que el certificado es válido o no, o si está revocado hace falta conectarse. Si se trata de eso Lepe tiene razón. Yo había entendido que quería firmar PDF's y verificar los PDF's firmados; Con esa verificación entiendo que se refiere a que no han sido modificados ni alterados. Creo que hasta ahí no hace falta conexión. Un paso más allá, como tú dices, es comprobar cómo se encuentra el certificado en este momento. Que Urbano nos saque de dudas...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
||||
|
||||
Ah, Yo entendí "firmar y verificar offline", sorry.
Sea como fuere, si quieres que tu aplicación firme electrónicamente, aquí tienes más información, sé que es para DNIe, mientras tú dices "firma digital", pero bueno, el DNIe se podría usar para firmar documentos "con tu programa que no estaría capacitado legalmente para ello", (fíjate que lo he puesto entre comillas porque no estoy aún seguro de ello, tengo que investigar más). ¿el activeX de la aeat es sólo para factura-e? Es lo que veo, no dice que se pueda firmar digitalmente cualquier documento, sólo facturas . Cita:
Cita:
Yo recomiendo que tu programa exporte el PDF, y después uses sinadura, intecoFirma o los plugins para acrobat, outlook, etc para encarguarse de la firma electrónica.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#6
|
|||
|
|||
Bueno, Bueno, gracias por vuestros comentarios.
Neftali voy a revisar las opciones que me has dado y luego te comento que es lo que me han parecido. Lo de no necesitar la conexión a internet es por que solo quería firmar el pdf y así asegurar que lo que hay en este no se ha modificado (como ha comentado Neftali). Vamos igual que el programa adobe acrobat prof. cuando inserta una firma (de la FMNT) en un documento pdf. El acrobat no verifica si el certificado ha sido revocado. Pero entiendo que comprobar que ha experidado no hace falta internet ya que todas las firmas incluyen la fecha de caducidad del certificado. Como comenta Lepe, para comprobar que el certificado en el momento de la firma no esta revocado, hay que conectarse por medio los OCSP a la entidad que ha emitido el certificado que origina la firma. Pero me han comentado que esto la FMNT (por poner el organismo más común) no lo permite de forma gratuita y que vale una pastaaaa. Estoy de acuerdo con Lepe, en lo de tener el certificado en un tarjeta criptográifica. Con respecto a lo que comenta Lepe de si el programa que yo desarrolle cumple con las politicas de seguridad de la firma electrónica, es una cosa que si me preocupa y que me gustaría comentar. Entiendo que tanto si utilizo un ActiveX o un componente, estos son los que van a generar la firma y se encargar de cumplir con las politicas de seguridad. Ya que viendo un poco el funcionamiento del ActiveX de la aeat, desde mi programa lo único que hago es llamar a la función firma y esta genera el fichero ya firmado. Y llamando a la función verificar (pasando el fichero firmado) esta devuelve si el fichero es correcto. Entiendo que el resto de ActiveX o componentes funcionarán de forma similar. Asi pues, creo que lo que tendría que asegurarme es de que el componente o ActiveX que utilice cumpla con esas normas de seguridad. Que pensais ustedes? He encontrado una utilidad que me valdría, PDFSigner de ANF. Esta utilidad la puedo llamar desde mi programa, pasando una carpeta de origen donden se encuentre los pdf que quiero firmar y una carpeta destino donde colocará los nuevos ficheros firmados. El programa no es caro (100 €) ,pero te obliga a utilizar para firmar solo los certificados emitidos por ANF y te cobran por cada firma realizada. Lo de la obligación de solo poder firmar con su certificado es por lo que comenta Lepe de verifcar si el certificado a expirado. Ya que este programita antes de firmar se conecta a internet a ANF y verifica el estado del certificado e incluso introduce un sello de tiempo del notario que posee ANF. He encontrado también el componente "VisPDF -http://www.vispdf.com-", el cual me voy a descargar y voy a probar. Según he leido, permite generar pdf de tus informes y además te da la posibilidad de firmarlos digitalmente. No son muy caros (300 €). Lo conoceis? Bueno, veo las distintas opciones y enlaces que me habeis comentado y os vuelvo a comentar. Gracias de nuevo y saludos.
__________________
El saber no ocupa lugar. |
#7
|
||||
|
||||
Cita:
Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#8
|
||||
|
||||
¿creías que esto era gratis? Pues no, siempre se trata de lo mismo, sacar pastaaaaa
En cuanto al ActiveX aeat, ¿sólo tiene dos funciones para ser llamadas?. Ya sabes que hay 3 tipos de firmas electrónicas (simple, avanzada, reconocida); si el ActiveX permite hacer las 3 tipos de firmas, ¿quien garantiza que has usado las rutinas correctas?. Yo también estoy preocupado por ello, creo el código debe auditarse (por supuesto, por una tercera empresa independiente que no trabaja gratis...) Acabo de ver que firma profesional ofrece también todos los servicios. Cita:
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#9
|
|||
|
|||
Vamos por parte. He estado mirando todos vuestros comentarios y enlaces y os comento como llevo el tema.
Lepe he estado viendo los servicios de firmaprofesional y entiendo que los productos que poseen solo pueden utilizar la firma que ellos generan (que vale un dinero, por supuesto. Por ejemplo: ProSign) y luego posee una serie de soluciones “Plataforma de firma electronica” que puede que si permita firmar con certificados de FMNT. Como todo esto son deducciones, me he puesto en contacto con ellos y les he planteado mis dudas. En el momento que me responda os comento. Con respecto a los tipos de firma, entiendo que cualquier de estos ActiveX o componentes generan la firma electrónica avanzada (firma que permite identificar al firmante y comprobar la integridad de los datos firmantes, por estar vinculada al firmante de manera exclusiva). Lo que no van a generar es firma electrónica reconocida (que legalmente es la única equiparable a la manuscrita), ya que esta es igual que la avanzada, pero la tiene que haber generado un dispositivo seguro. He estado buscando información sobre dispositivos seguros y por lo que he leído ningún software podría cumplir la norma para ser certificado como dispositivo seguro. Por lo que para poder realizar esta firma hay que utilizar dispositivos hardware ya certificados (como comprenderéis no me voy a poner a desarrollar uno, ni se, ni tengo tiempo, ni medios, jejejeje). Buscando algo más, también he leído que la firma avanzada es válida en cualquier juicio y que es el juez el que interpreta la validez del documento. Luego pienso que un documento firmado con una firma avanzada es completamente legal. Y también hay que tener en cuenta que personalmente todas las tramitaciones que he realizado con la administración y ha requerido de mi firma digital la he realizado con mi certificado de la FMNT que esta alojado en el contenedor de Windows (soporte no seguro) y entiendo que estas son todas válidas. Con respecto a las aplicaciones que me comenta Neftali, estoy mirando mas detenidamente ClickSign y Sinadura. Me he puesto en contacto con ellos para aclarar varios conceptos y estoy esperando respuesta. Con respecto a los ActiveX o componente: - He visto la pagina de neevia y esta posee un componente para crear pdf , pero no dice nada que pueda ser firmado. - SecureBlackBox , lo he descargado y lo estoy evaluando. Con la versión Standard pensais que puede ser suficiente para lo que necesito? - Aloha, he revisado la documentación. Voy a probarlo y averiguar su coste. - Chilkat tiene una gran cantidad de ActiveX. Necesito más tiempo para revisarlos. Además no he trabajado nunca con ActiveX , luego me cuesta más. Seguiré investigando y ya os comento más sobre estos componentes y activex. Una duda más que se me ha planteado. Observo en documentos firmados digitalmente, que al final del documento ponen que para verificar la validez del mismo entren una página web ’www…..’ e introduzcan el código seguro '00cdx…..’. Este número como se genera? Lo genera la firma? Bueno, puede que haya sido algo extenso, pero prefiero dejarlo todo bien explicado. Graicas de nuevo por sus comentarios.
__________________
El saber no ocupa lugar. |
#10
|
||||
|
||||
Hombre, a mí no me interesa crear una firma avanzada, yo quiero la reconocida (me interesa que sea equiparable a la firma manuscrita).
Por supuesto que la firma avanzada es legal, pero también lo es la simple . Depende de tus necesidades y lo que quieras sea demostrable en un juicio. En principio debes hacer una firma avanzada, para "convertirla en reconocida" se debe cumplir: - Que hayas usado un certificado reconocido (FNMT, Direccion General de la Policia [CA para el dnie] etc) - Que haya sido creado con un SSCD (dnie, tarjeta/token criptográfico) He marcado en negrita algunas cosas para que vea que un software sí puede generar una firma reconocida. 23399 LEY 59/2003, de 19 de diciembre, de firma electrónica. 45338 Sábado 20 diciembre 2003 BOE núm. 304 TÍTULO IV, CAPITULO 1, Artículo 24 Cita:
Cita:
En avanzada sí puedes modificar el documento antes** de la firma para incrustar texto o imágenes. En reconocida no podrías. El tema de los certificados por software de la FNMT es delicado, ya en kriptópolis le dedicaron un post bastante largo y didáctico. Supuestamente la aeat está obligandote a usar un contenedor por software que tiene implicaciones que no te advierten. También hay otro detalle del que no hemos hablado y es que la firma electrónica no garantiza que ese documento fue firmado en la fecha que indica el texto o documento. La FNMT tiene servicio de pago de sellado de tiempo (TIMESTAMPING)... después de tirar la piedra escondo la mano... ** Aclaración: ClickSign por ejemplo modifica el documento a firmar incluyendo su logo en versión gratuita o bien los datos de los firmantes en la versión pro. Por supuesto no voy a poner en duda a una de las máximas autoridades en la materia, pero al menos en mi caso no es viable, ya que previamente he hecho un HASH al documento a firmar y lo utilizo como clave de encriptación de otro proceso encadenado. La simple modificación del PDF invalidaría el proceso encadenado. Supongo la versión de pago podrá eliminar la modificación del PDF; entraré en materia una vez tenga mi dnie (la semana que viene).
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 22-12-2009 a las 16:34:02. |
#11
|
||||
|
||||
Mi turno (de como lo llevo).
Antes de empezar, debo recordar que no todos tenemos las mismas necesidades, por tanto, evaluad por vuestra cuenta Isigma: ClickSign tanto la versión gratuita como la PRO son programas finales para el usuario. La versión PRO permite depositar los documentos a firmar en una carpeta y obtienes los firmados en otra, es una característica que soportan casi todos los programas de pago. Son asequibles en cuanto a precio y compatibles con factura-e. eldos: en PDFSecureBlackBox se distribuyen los .dcu en la versión de prueba. Trae muchos proyectos delphi que funcionan "out of the box", de hecho el ejemplo sobre certificados, detectó tanto el dnie como el de FNMT (por software). La documentación es muy buena. Solo me queda una duda, ya que dice que ese pack inlcuye las funciones principales del pack PKISecureBlackBox y no sé exactamente cuales son. Si nos decidimos por ellos habrá que preguntar. En caso de que sea necesario comprar una licencia del PKI, sale más rentable comprar el pack "SecureBlackbox Data Security" (La versión estandard no lleva el pack para firmar PDF) neeviapdf: PDFsign/encrypt Permite firmar y encriptar a través de interfaces COM ( CreateOleObject("neevia.pdf") ). Además también tiene otros componentes para crear el PDF desde cero. aloaha: Las versiones light y Pro son programas para el usuario final, la primera en la que se puede usar la programación via objetos COM es la enterprise y se sale fuera de mis necesidades (aporta mucho más de lo que necesitamos). Tienen una aplicación gratuita "Aloaha sign!" para firmar PDFs, funcionó muy bien, detectó el lector de tarjetas y muestra una ventanita en el área de notificación de windows cada vez que sacas o metes el dnie. La única pega es que acepta un PIN numérico y el mio es alfanumérico. Supongo en versiones de pago eliminarán esa restricción. Chilkat: Crypt2 es un activeX que se registra desde Component-> install ActiveX. La ayuda que está documentada es buena, aunque todavía te encuentras algún que otro "to be documented" en algunos métodos. Tiene ejemplos delphi y hasta donde he visto tanto la documentación como ejemplos son Online. No he podido ver si admite tarjetas inteligentes es decir, obtener el certificado digital alojado en dnie. Lo ideal sería encontrar un activeX con las funciones de ClickSign, simple para el usuario e indoloro para el programador.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
libreria para validar firma digital | jgutti | Varios | 1 | 11-11-2009 17:18:35 |
Firma Digital | Cecilio | Varios | 5 | 30-11-2008 21:52:16 |
Firma Digital | Tino | JAVA | 0 | 02-08-2007 02:01:31 |
Como hacer para que Vista no reporte "No se pudo comprobar el editor" Firma digital | fcios | Windows | 2 | 16-06-2007 05:52:49 |
firma digital | felixgo | Varios | 2 | 16-02-2005 16:36:00 |
|