6.- Casos de uso de ejemplo de SIFE
En este apartado se mostrarán algunos ejemplos de casos de uso donde entran los servicios de SIFE.
INDICE DE CONTENIDO
CASO DE USO 1: Elevación de la firmas generadas con MFE
Uno de los usos más comunes de SIFE es la elevación de una firma digital asociada a un documento que quiere ser almacenado en el gestor documental. Normalmente estos documentos son firmados por el usuario a través de Módulo de Firma Electrónica (MFE) que genera un firma no longeva. Por tanto si esta firma fuera almacenada en el gestor documental llegaría un momento en el cual dejaría de ser válida. Para que esto no ocurra, la firma es elevada con SIFE. El flujo sería el siguiente:
- Existe un portal integrado con MFE desde el cual el usuario selecciona su certificado personal y firma el documento.
- Como resultado de esta firma obtenemos un documentos con firma básica (-BES). Esta firma básica hay que elevarla antes de almacenarla en el gestor documental para que sea longeva. Para ello utilizamos el método de sife extendSignature
- Una vez elevada la firma la almacenaremos en CCSV - Servicio de Almacenamiento y Verificación de Documentos Electrónicos.
A continuación se muestra el proceso de generación de la firma con MFE y su elevación son SIFE.
Paso 1: Firma del documento con MFE
Durante el trámite administrativo que esté realizando el usuario, en el momento de la firma del documento se le mostraríann las diversas opciones que MFE-Módulo de firma electrónica ofrece para la firma cliente.
El portal tiene configurado el iframe de MFE con el contenido del documento a firmar. El usuario pulsará el botón "Firmar", se abrirá un diálogo donde el usuario seleccionará su certificado personal .
Una vez seleccionado el certificado por parte del usuario la firma se completará. El documento original de este ejemplo es documento.txt y la firma que ha generado (detached) es firmaDocumento.csig.
Análisis de la firma obtenida
Si se valida la firma anterior, se obtienen los siguientes datos donde se se puede observar que se trata de una firma de tipo CAdES B-Level, por lo que no es longeva.
Paso 2: Elevación de la firma con SIFE
En el siguiente fragmento de código se invoca SIFE para elevar la firma CAdES B generada en el paso anterior a CAdES A, un tipo de firma longevo.
DigitalSignatureServiceClient digitalSignatureServiceClient = new DigitalSignatureServiceClient(SIFE_URL, SIFE_USER, SIFE_PASSWORD); SifeDocument extendedSignature = null; SifeDocument sign = new SifeDocument(); sign.setData(signature); // Array de bytes que contiene la firma CAdES B SifeDocument detachedContent = new SifeDocument(); detachedContent.setData(document); // Documento firmado // Especificamos tanto el documento original como la firma ExtensionParameters extensionParameters = new ExtensionParameters(); extensionParameters.setDetachedContent(detachedContent); extensionParameters.setSignature(sign); extensionParameters.setSignatureLevel(SignatureLevel.CAdES_A); try { extendedSignature = digitalSignatureServiceClient.extendSignature(extensionParameters); return extendedSignature.getData(); } catch (RestException e) { System.out.println("Fallo al elevar la firma con SIFE"); System.out.println("Error :" + e.getStatusCode() + ", Mensaje: " + e.getMessage()); return null; }
El resultado de la elevación de la firma anterior es firmaExtendida.csig
Análisis de la firma elevada
Si se valida la firma anterior, se obtienen los siguientes datos. Se puede observar que se trata de una firma de tipo CAdES A-Level, por lo que es longeva
Paso 3: Almacenamiento en CCSV
Una vez que tenemos la firma elevada, se almacenará en CCSV - Servicio de Almacenamiento y Verificación de Documentos Electrónicos. Los metadatos a indicar para los documentos dependen de éste así que recomendamos consultar los servicios y ejemplos de CCSV para realizar su integración.