Foros del Web » Programando para Internet » PHP »

firma digital en php?

Estas en el tema de firma digital en php? en el foro de PHP en Foros del Web. Amigos, saben si con php es posible firmar digitalmente documentos ??...
  #1 (permalink)  
Antiguo 27/09/2005, 21:05
 
Fecha de Ingreso: marzo-2005
Mensajes: 59
Antigüedad: 19 años, 1 mes
Puntos: 1
firma digital en php?

Amigos, saben si con php es posible firmar digitalmente documentos ??
  #2 (permalink)  
Antiguo 28/09/2005, 07:05
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 18 años, 7 meses
Puntos: 0
Pues hasta donde yo sé, la firma digital es a la larga un dispositivo físico (llave USB), que previa certificación de una entidad internacionalmente reconocida, pone una "huella" o firma de Originalidad sobre un documetno específico, como un documento de word por ejemplo, que si alguien lo altera, luego se comprueba si está firmado o marcado por quien realmente lo ha emitido.

El cuento es que a la larga no veo la opción de hacer esto tan Online (hasta donde yo sé).

Quizás si nos explicas más a fondo tus ideas o "mecánica" sobre esto te podamos dar más ideas.

Otra cosa son los certificados SSL que garantizan una comunicación segura browser vs Servidor en un sitio bajo protocolo https://

Explica más para enriquecer la discusión y las ideas.

Saludos.
  #3 (permalink)  
Antiguo 28/09/2005, 09:45
 
Fecha de Ingreso: marzo-2005
Mensajes: 59
Antigüedad: 19 años, 1 mes
Puntos: 1
ADIÓS_ADRIANA, efectivamente el las firmas digitales pueden estar en dispositivos físicos, pero tambien pueden ser almacenados en el mismo equipo con la diferencia que la seguridad en cuanto a su uso cambia, ya que si esta instalada dentro del equipo, cualquier persona que tenga acceso a éste lo puede utilizar.

estos certificados digitales, que se usan para identificar a una persona, con al diferencia de los certificados utilizados para el tema la cominicacion segura mediante browsers, sirven para identificar, por lo menos aca en chile, a los contribuyentes (personas o empresas) de impuestos y con ello, validar las facturas electronicas, tambien se que en otros paises tienen un mismo sentido, asi como tambien la validacion de correos electronicos, entre otras funciones.

mi idea, es poder lograr firmar digitalmente un documento (XML) con mi certificado digital, utilizando php como elemento de programacion, ya que estoy seguro que con JAVA es factible, pero no se programar en JAVA.

saludos.
  #4 (permalink)  
Antiguo 28/09/2005, 11:40
Avatar de Necros  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 431
Antigüedad: 22 años, 3 meses
Puntos: 0
Yo estoy buscando algo similar ... Alguien puede indicar algo más obre el tema de la certificacion de facturas...
__________________
By NeCrOS
FrEe WoRlD is FrEe CoDE
http://www.NeCrOS.com
  #5 (permalink)  
Antiguo 29/09/2005, 10:45
 
Fecha de Ingreso: marzo-2004
Mensajes: 142
Antigüedad: 20 años, 1 mes
Puntos: 0
Firmar digitalmente es simplemente cifrar un hash con una clave privada. <la diferencia entre PKI (pgp) y PKIX (certificados X-509) es la forma de relaccionar la pareja de claves (publica y privada) con una determinada persona. En pgp por ejemplo existen los anillos de confianza, pero aunque se llamen asi, no le inspiran ninguna confianza a los jueces. <en <pkix es una tercera parte la que garantiza que una paraja de claves pertenece a una determinada persona o entidad, son las Autoridades Certificadoras (Verisign, etc).
Todo esto es completamente independiente de las clave, su longotud, algoritmo o medio de almacenamiento.
Imagino que lo que buscas es PKIX, la firma electronica con validez legal, con certificados. En este caso es necesario que programes de forma que sea posible que un usuario cifre con su clave privada en local, con su navegador, no en el servidor. Para eso tendras que buscar una aplicación cliente, ActiveX, Applet, COM, etc, que haga de pasarela entre el navegador y el certificado del cliente.
__________________
Tutorial
FirmasOnline
  #6 (permalink)  
Antiguo 29/09/2005, 18:00
 
Fecha de Ingreso: marzo-2005
Mensajes: 59
Antigüedad: 19 años, 1 mes
Puntos: 1
Enriquez,

por lo menos yo, tengo mi propio certificado emitido por una empresa autorizada y validada para ello, donde he rescatado mi calve publica y mi clave privada en archivos distintos .cer, .p7b, .pfx

lo que no se si php es capaz de utilizar estos certificados y firmar digitalmente archivos, en el caso que necesto yo... XML

saludos
  #7 (permalink)  
Antiguo 30/09/2005, 00:06
 
Fecha de Ingreso: marzo-2004
Mensajes: 142
Antigüedad: 20 años, 1 mes
Puntos: 0
De acuerdo, tienes un certificado instalado en el sistema operativo y tres backup del mismo en formato .cer, .p7b, .pfx (este último es el que permite exportar al archivo la clave privada y va protegido con un PIN).

En php me parece que no vas a poder, en asp lo que se hace es crear un objeto que llama a una dll que es la encargada de manejar los CSP, y firmar con los certificados instalados en los almacenes, no con archivos de backup. Es bastante complejo pero si lo consigues recuerda que tendrás una implementación que solo funcionara con certificados locales, es decir que solo podrán firmar tu, no los usuarios que visiten el web, ya que dicha dll no tendrá acceso a sus CSP's y almacenes por lo que te comenté en el otro post.
__________________
Tutorial
FirmasOnline
  #8 (permalink)  
Antiguo 30/09/2005, 00:23
 
Fecha de Ingreso: marzo-2005
Mensajes: 59
Antigüedad: 19 años, 1 mes
Puntos: 1
Enriquez, lo que estaba pensando, era tener los certificados local y remotamente, local para el que el usuario se identificara para ingresar al sistema y remotamente para que el sistema administrara el certificado y firmara los documentos.

ahora mi pregunta es... si teniendo los certificados almacendados en el server, es posible administrarlos con php de tal forma de poder firmar documentos ???
  #9 (permalink)  
Antiguo 30/09/2005, 00:41
 
Fecha de Ingreso: marzo-2004
Mensajes: 142
Antigüedad: 20 años, 1 mes
Puntos: 0
El problema que tendrías es el de la suplantación, ya que existirían dos personas con cada clave privada, el usuario y el administrador del server, por lo que el repudio de las firmas estaría servido en bandeja, piensa que quieres tener los certificados instalados en el server para firmar por ellos. Además sería necesario instalar todos los certificados en el server (esto solo es posible si la Autoridad certificadora marca las claves como exportables, pfx) y protegerlo.
Para la identificación del usuario no es necesario implementar nada, solo decirle al IIS que exija certificados para entrar en ciertas web.
Como ya te comenté con php solo, no podrás hacer lo de firmar XML, por lo menos yo no se, yo la firma de XML la he hecho en VBasic instalando en local para que el usuario firme sus archivos y accediendo al server para el timestamp y subir las firmas.

Un saludo
Enrique
__________________
Tutorial
FirmasOnline
  #10 (permalink)  
Antiguo 30/09/2005, 01:19
 
Fecha de Ingreso: marzo-2005
Mensajes: 59
Antigüedad: 19 años, 1 mes
Puntos: 1
Enrique, a lo mejor php no sera la solucion al problema que tengo quizas la solucion este en un programa gratuito, como aparece en tu totorial para applet, pero que en este caso sea para xml... si es que no quiero cambiar de tecnología de programacion

saludos
Mauricio
  #11 (permalink)  
Antiguo 30/09/2005, 01:32
 
Fecha de Ingreso: marzo-2004
Mensajes: 142
Antigüedad: 20 años, 1 mes
Puntos: 0
Lo del Applet del tutorial es "firma de software", es algo distinto a la firma de un texto, etiquetas xml, etc, ya que la firma, certificado, ruta de certificación, CA, etc es comprobada por el SO cuando se ejecuta. Si te has fijado lo que haces es firmar el applet en local con una aplicación gratuita (Signcode.exe) que maneja los CPS's y almacenes de win, y que es especifica para "firma de software".
En el primer post te comente que lo que necesitas es precisamente una pasarela entre el navegador y los CSP de win que se instale en cliente (Applet, ActiveX, etc). Es la única forma de que un usuario firme algo, cifre con su privada, lo que tu pretendes hacer con php (lenguage de servidor) es firmar por él, instalandote su certificado en el servidor, resumiendo, suplantación.
Si quieres verlo funcionando entra en Firmasonline y firma cualquier campaña, veras como se instala un ActiveX, que es el que te permite firmar en local, la privada solo la tienes tu, despues se almacena la firma en el server.
__________________
Tutorial
FirmasOnline

Última edición por Enriquez; 30/09/2005 a las 01:39
  #12 (permalink)  
Antiguo 12/09/2006, 13:49
Avatar de pablinweb  
Fecha de Ingreso: julio-2003
Mensajes: 283
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola Enriquez,

Disculpa la intromición pero me podrías dar una mano con el tema de firmas digitales en vb? tengo el .key y el .cer y no se como uzarlos...

Gracias.
  #13 (permalink)  
Antiguo 12/12/2007, 10:03
 
Fecha de Ingreso: diciembre-2007
Mensajes: 3
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: firma digital en php?

con versypdf.php cuesta 200dólares (por servidor). aún no lo he probado pero tiene buena pinta.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 04:27.