4.8.2 ¿Cómo OP Framework integra el soporte para Firma Digital?
Visto y considerando que
Open Populi Application Framework ha sido diseñado para cubrir las necesidades existentes en el campo de la Administración Electrónica (e-government), creemos que la integración del soporte para
Firma Digital, es una de las características del framework más importante en ese sentido.
Acerca del lado del Cliente
Aquí iría la intro del helper sign.hlp.php
Acerca del lado del Servidor
Requerimientos
Para las validaciones y verificaciones en relación a la firma electrónica, es necesario tener instalado y habilitado en el server donde se correrá la aplicación y OP Framework, el soporte para la librería OpenSSL. Más información en
http://www.openssl.org/ y
http://it.php.net/manual/es/book.openssl.phpEl proceso de validación
Una vez que se termina el proceso de firma (ya sea un documento o bien el contenido de un formulario) como hemos visto en la sección anterior, quedan realizar validaciones y verificaciones acerca de la firma efectuada.
Tales verificaciones, se realizan del lado del servidor mediante la utilización de una clase denominada OP_SignartureVerifier.class.php.
Las validaciones a realizar son de dos tipos, la primer verificación que se debe realizar es que la firma se corresponda con la información firmada. Para esto, el server a través de la clase OP_SignatureVerifier precisamente con un llamado al método
verificar() chequea que la firma no ha sido adulterada y se corresponde con la información firmada.
La segunda verificación a realizar, es que el certificado con el cual se ha realizado la firma sea válido. Para esto, en primer lugar se extrae el certificado con el que se ha realizado la firma. Una vez se tiene el certificado, se determina cual es la CA(Certification Authority) y por último se realiza una consulta al servidor OCSP correspondiente, que determinará el estado de un certificado respondiendo: good, unknown, revoked.
En esta versión de OP framework se brindará soporte para verificaciones de validez de certificados de e-DNI y de certificados emitidos por la Generalitat Valenciana. En el directorio certs se encuentran los certificados raíces de estas dos entidades de validación. Esto es necesario para realizar las validaciones anteriormente mencionadas.
Ejemplo: Verificación y Validación de la Firma'
require_once('../signature/OP_SignatureVerifier.class.php');
echo '<h1>Testing OP_SignatureVerifier</h1><br>';
//Tomamos los datos de la firma y el texto original que fue firmado
$signature = $_REQUEST['signature'];
$original = $_REQUEST['original'];
//Instanciamos al verificador, inicializando con los valores de la firma y el texto original
$validator = new OP_SignatureVerifier($signature, $original);
//Aqui verificamos el estado de la firma
$estado_firma = $validator->verificar();
echo ' El estado de la firma es: '. $estado_firma;
//Mostramos información con respecto al firmante
echo '<br><b>->'.$validator->toHtml($estado_firma).'<-</b>';
//Aqui se verifica el estado del certificado via OCSP.
echo '<br><b>Estado del certificado segun OCSP: '.$validator->isCertificateValid().'<-</b>';
DNI electrónico|
Resumen