Foros del Web » Programando para Internet » PHP »

rutinas para la utilizacion de firma digital

Estas en el tema de rutinas para la utilizacion de firma digital en el foro de PHP en Foros del Web. amigos, aca dejo unas rutinas para la utilizacion de firma digital Declaración de funciones public function getPublica( $file = null ){ if(!file) return false; $fp ...
  #1 (permalink)  
Antiguo 20/05/2011, 12:41
 
Fecha de Ingreso: mayo-2011
Mensajes: 2
Antigüedad: 12 años, 11 meses
Puntos: 2
rutinas para la utilizacion de firma digital

amigos, aca dejo unas rutinas para la utilizacion de firma digital


Declaración de funciones

public function getPublica( $file = null ){

if(!file)
return false;

$fp = fopen($file , "r");
$txtpublica = fread($fp, 8192);
fclose($fp);

return $txtpublica;
}

public function getPrivada($file = null){
if(!file)
return false;

$fp = fopen($file , "r");
$txtprivada = fread($fp, 8192);
fclose($fp);

return $txtprivada;
}

public function getFirma($file = null){
if(!file)
return false;

$fp = fopen($file, "r");
$txtfirma = fread($fp, 8192);
fclose($fp);
return $txtfirma;
}

Funcion para conformar firma

public function encripta( $datos ){
//datos contiene los nodos concatenados
//estos nodos son definidos con contraparte

$llavePrivada = $this->getPrivada( "private.key");

openssl_sign( $datos , $result ,$llavePrivada , OPENSSL_ALGO_MD5 );
$result = base64_encode( $result );

return $result;
}

funcion para comprobar firma digital

function desencripta($datos, $firma ){
$llave = $this->getPublica( "publica.key" );
$base64 = base64_decode( $firma );

if(openssl_verify ($datos , $base64 , $llave , OPENSSL_ALGO_MD5 ) )
return TRUE;

return FALSE;
}
  #2 (permalink)  
Antiguo 20/05/2011, 16:16
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: rutinas para la utilizacion de firma digital

Aparte de algunos errores como if(!file), falta de documentacion, constantes extrañas como OPENSSL_ALGO_MD5 y que no esta definida la clase, creo que puede ser buen aporte.

Se te agradece el intento.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 29/06/2011, 15:57
 
Fecha de Ingreso: mayo-2011
Mensajes: 2
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: rutinas para la utilizacion de firma digital

Amigos para generar la firma digital con open SSL se debe aplicar el siguiente Script

# openssl dgst -md5 -sign tullaveprivada.key < string.txt | openssl enc -base64 -A > string.enc.

llaveprivada.key --> es la llave privada con la cual vamos a encriptar los datos
El String.txt --> contiene la concatenacion de los datos a encriptar
string.enc --> contiene el string en base 64

espero que les sirva
  #4 (permalink)  
Antiguo 18/07/2011, 17:26
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: rutinas para la utilizacion de firma digital

Para aquellos que tengan dudas acerca de lo que es "OPENSSL_ALGO_MD5" se refiere a metodos de encriptacion puedes reemplazarlos por:
md4, md5, ripemd160, sha, sha1, sha224, sha256, sha384, sha512
entre comillas, y con respecto !file me imagino que le falta el $ osea !$file, pero definitivamente es un gran aporte GRACIAS

Etiquetas: firma, utilizacion
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.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 08:15.