ATLAS MANUAL DE INTEGRACIÓN Servicios de Firma AFC +

Anuncio
ATLAS
MANUAL DE INTEGRACIÓN
Servicios de Firma AFC + AUTOFIRMA
Versión 1.2
Arquitectura de Software
Framework Atlas
Servicios de Firma AFC Servidor
Hoja de Control
Título
Servicios de Firma AFC + AUTOFIRMA
Documento de Referencia
NORMATIVA ATLAS
Responsable
Arquitectura de Software
Versión
1.0
Fecha Versión
09/12/2015
Registro de Cambios
Versión
Causa del Cambio
Responsable del Cambio
1.0
Versión inicial del documento
Añadida información sobre librería crypt-lib
Arquitectura de Software
2 de 12
Fecha del Cambio
09/12/2015
Framework Atlas
Servicios de Firma AFC Servidor
Índice
1.
INTRODUCCIÓN ................................................................................................................................................................ 4
1.1.
AUDIENCIA OBJETIVO ...................................................................................................................................................... 4
1.2.
INSTALACION .............................................................................................................................................................. 6
1.2.1.
Paso 1: Añadir la dependencia al módulo de Administración Electrónica ............................................................ 6
2.
AFC + AUTOFIRMA ........................................................................................................................................................... 6
3.
DIFERENCIAS EN EL PROCEDIMIENTO DE RECOGIDA DE FIRMAS ................................................................ 7
3.1.
3.2.
4.
RECOGER FIRMAS CADES Y XADES.................................................................................................................................. 7
RECOGER FIRMAS PADES ................................................................................................................................................. 8
DIFERENCIAS EN EL PROCESO DE FIRMA CON AUTOFIRMA ........................................................................... 8
4.1.
4.2.
FIRMAS UTILIZANDO LA OPCIÓN DE PRESENTACIÓN 1 Y 2 ................................................................................................ 8
FIRMAS UTILIZANDO LA OPCIÓN DE PRESENTACIÓN 3 Y 4 .............................................................................................. 10
5.
PREGUNTAS FRECUENTES .......................................................................................................................................... 11
6.
ENLACES RELACIONADOS .......................................................................................................................................... 12
3 de 12
Framework Atlas
Servicios de Firma AFC Servidor
1. INTRODUCCIÓN
El actual documento explica los cambios realizados en AFC y su integración con la aplicación AutoFirma para las
firmas en Cliente.
A su vez, se informa de los cambios que serán necesarios en las aplicaciones actuales para el correcto
funcionamiento de las firmas XADES y CADES.
Integración:
La integración con la solución de AFC se realiza a través de la librería del Framework Atlas atlasfrm_eadm
(librería que conecta con los servicios de administración electrónica) en su versión 1.2.8.3 como mínimo.
ATENCION
En la versión 1.2.8 del framework atlas (usando la librería 1.2.8.3 de eadm-lib), será necesario establecer una nueva
variable en los ficheros de environment.properties de TODOS los entornos.
afc.certificado.endpoint=https://entorno.madrid.org/afc_ws/services/ServicioAFCCertificado
Esta librería puede ser utilizada tanto por aplicaciones desarrolladas con el framework Atlas así como las
desarrolladas con otros frameworks Java (framework 2 o framework Justicia).
ATENCION
A partir de la versión 1.2.9 del framework atlas, la librería que se utilizará
será la nueva atlasfrm-crypt-lib en vez de eadm-lib como hasta ahora.
Por lo tanto, para utilizarla tan solo tenemos que agregar la dependencia a
nuestro fichero pom.xml, tal que así:
<dependencies>
…
<dependency>
<groupId>atlasfrm</groupId>
<artifactId>atlasfrm-crypt-lib</artifactId>
<version>${atlasfrm-crypt-lib.version}</version>
</dependency>
</dependencies>
1.1.
Audiencia objetivo
Este documento está orientado a desarrolladores java que necesiten realizar firmas en Cliente utlizando AFC con
4 de 12
Framework Atlas
Servicios de Firma AFC Servidor
exploradores Chrome y Firefox.
Este documento no explicará el alta, configuración y demás pasos básicos descritos en el resto de documentos.
Revisad la documentación de AFC para tal fin.
5 de 12
Framework Atlas
Servicios de Firma AFC Servidor
1.2.
INSTALACION
Para utilizar correctamente la versión de AFC en conjunto con AutoFirma, será necesario apuntar a la versión
de la librería de eadm correcta en el fichero pom.xml.
1.2.1.
Paso 1: Añadir la dependencia al módulo de Administración Electrónica
Para añadir la dependencia al módulo de Administración Electrónica (eadm-lib) dentro de nuestro proyecto
maven hay que añadir una entrada “dependency” en la sección “dependencies” del fichero “pom.xml” del
proyecto, como se puede ver en el siguiente ejemplo:
pom.xml
<dependencies>
…
<dependency>
<groupId>atlasfrm</groupId>
<artifactId>atlasfrm-eadm-lib</artifactId>
<version>1.2.8.3</version>
</dependency>
</dependencies>
NOTA
Incluir la versión descrita en el ejemplo será solo necesario para proyectos
atlas que utilicen la versión 1.2.8.
Para proyectos con versiones anteriores a atlas, será necesario su
actualización a 1.2.8.
Para proyectos en versiones superiores de atlas (1.2.9 o superior) no será
necesario incluir el número de versión 1.2.8.3, tan solo será necesario la
nueva librería para accesos a AFC crypt-lib
<dependencies>
…
<dependency>
<groupId>atlasfrm</groupId>
<artifactId>atlasfrm-crypt-lib</artifactId>
<version>${atlasfrm-crypt-lib.version}</version>
</dependency>
</dependencies>
2. AFC + AUTOFIRMA
La versión de AFC 1.5.0 utiliza AutoFirma para realizar las firmas en cliente y no el miniapplet de @afirma como
hasta ahora. Esta actualización de AFC implica ciertos cambios en las aplicaciones clientes que serán explicados a
continuación.
6 de 12
Framework Atlas
Servicios de Firma AFC Servidor
3. DIFERENCIAS EN EL PROCEDIMIENTO DE RECOGIDA DE FIRMAS
La recogida de firmas a partir de la versión de AFC + AutoFirma ha cambiado, y el método que hasta ahora se
utilizaba para recoger las firmas ya no es válido.
Se ha creado un nuevo método para la recogida de firmas Cades y Xades, marcándose como deprecados los
métodos antiguos.
3.1.
Recoger firmas Cades y Xades
A la hora de recoger los ficheros ya firmados de este tipo de firmas, será imprescindible la utilización del método
recogerFirmasBase64:
AfcOpClienteService.java
/**
* Método para recoger las firmas Xades y Cades de operaciones masivas.
* Este método, retorna byte[] en Base64. Es necesario decodificarlo para
obtener las firmas
* @param token String con el token
* @return Map<UUID, byte[]> Mapa con id y fichero en byte[] Base64
* @throws ServiceException En caso de error
*/
Map<UUID, byte[]> recogerFirmasBase64(String token) throws ServiceException;
El nuevo método devuelve un mapa de Id’s junto con un byte[], el cual está codificado en Base64 y será necesario
decodificar en nuestro código posteriormente para disponer de los datos firmados.
Nuestra clase Java, resultado de firma Masiva (más de un fichero)
//Recogemos firmas
Map<UUID, byte[]> mapaResultado = afcService.recogerFirmasBase64(token);
…
//Recorremos resultados
for (UUID uuid : mapaFirmas.keySet()) {
…
//Recogemos y decodificamos datos firmados
afcFileInfo.setFichero(Base64.decodeBase64(mapaFirmas.get(uuid)));
…
…
}
…
Utilizaremos la clase Base64, cuya importación es:
import org.apache.commons.codec.binary.Base64;
7 de 12
Framework Atlas
Servicios de Firma AFC Servidor
Por lo tanto, realizaremos la llamada al nuevo método y al recoger los datos, los decodificaremos.
De la misma manera, al realizar la firma de un solo elemento xades o cades, tendremos que decodificar los datos
obtenidos. No obstante en este caso se utilizará el mismo método que hasta ahora para recogerlos.
Nuestra clase Java, resultado de firma única (solo un fichero)
//Recogemos firma
Byte[] ficheroFirmado = Base64.decodeBase64(afcService.recogerFirma(this.token));
…
3.2.
Recoger firmas Pades
La forma de obtener los datos firmados en firmas Pades no cambia, por lo que revisad la documentación asociada:
ATLAS_MUS_Servicio_AFC_Ope_Cliente.doc
4. DIFERENCIAS EN EL PROCESO DE FIRMA CON AUTOFIRMA
Debido a la utilización de AutoFirma, el proceso de firmado en AFC ha cambiado para adecuarse a esta aplicación.
A partir de la versión 1.5.0 de AFC, será necesario AutoFirma para realizar firmas en cliente de documentos,
independientemente del tipo de documento.
A continuación, se mostrarán los cambios más importantes en el proceso de firma
NOTA
Estos cambios serán solo visibles desde navegadores diferentes a Internet
Explorer.
Internet Explorer (Solo se soportan versiones IE8 o superior) seguirá
utilizando el miniapplet de @afirma para realizar la firma de documentos.
4.1.
Firmas utilizando la opción de presentación 1 y 2
Con las opciones de presentación 1 y 2 se muestra la siguiente información en AFC:
8 de 12
Framework Atlas
Servicios de Firma AFC Servidor
Si se pulsa sobre el link del aviso “Descargar e instalar AutoFirma” comenzará la descarga de la aplicación y
mostrará unas instrucciones básicas de instalación:
El usuario puede inciar firma directamente sin instalar AutoFirma si pulsa sobre el botón “Tengo instalado
Autofirma. Iniciar Firma”.
Una vez iniciada la firma, aparecerá en pantalla la ejecución de la aplicación AutoFirma:
9 de 12
Framework Atlas
Servicios de Firma AFC Servidor
Pulsando en Ejecutar aplicación se iniciará AutoFirma y procederá a firmar los ficheros.
NOTA
AFC no puede comprobar si el usuario tiene instalada la aplicación
AutoFirma, en tal caso, se producirá un timeOut y AFC mostrará un
mensaje de error con un link de descarga de AutoFirma.
El usuario en todo momento puede cancelar el proceso de firma volviendo
a la aplicación cliente (la aplicación llamante) o reintentar el proceso.
4.2.
Firmas utilizando la opción de presentación 3 y 4
Las opciones de presentación 3 y 4 se realizan a través de una ventana iFrame ejecutada desde la aplicación
Cliente.
Debido a los mensajes informativos sobre AutoFirma, la resolución MÍNIMA con la que se debe abrir el iFrame
debe ser de 860 de ancho x 440 de alto.
10 de 12
Framework Atlas
Servicios de Firma AFC Servidor
La opción de presentación 4 es la firma directa, no obstante, si el usuario no ha realizado ninguna firma
previamente, el modo de presentación pasará a ser igual que el 3, con aviso para usuario de descarga de
AutoFirma, confirmaciones, etc.
Una vez realizada la firma, se creará una cookie, las siguientes veces que firme en AFC con opción de
presentación 4, se realizará de forma directa sin confirmaciones (más allá de la elección de certificado).
5. PREGUNTAS FRECUENTES
¿Va a convivir la versión actual de AFC con la nueva 1.5.0?
No, solo existirá la nueva versión 1.5.0 (o superior) de AFC.
Mi aplicación realiza firmas PADES del hash de los documentos, ¿Es necesario algún cambio con la nueva
versión de AFC?
No, las firmas PADES que se realizan a partir del Hash, o las firmas masivas PADES, no requieren ningún
cambio en las aplicaciones Cliente.
¿Se puede seguir utilizando para firmar el miniApplet como hasta ahora a través de AFC?
Si, el soporte con mini applet sigue habilitado para Internet Explorer 8 o superior
¿Debemos incorporar instrucciones sobre AutoFirma en nuestra aplicación antes de llamar a AFC?
No es obligatorio.
¿Se puede utilizar esta nueva versión de AFC desde un proyecto Framework2?
Si, para ello se utiliza la interfaz de Framework2 FW2Util, para más datos consultar el documento de
integración de FW2 de AFC
He realizado la firma de un documento CADES y el fichero resultante no dispone de una firma válida
Comprueba que estás utilizando el método recogerFirmasBase64(token) (para varios ficheros) o
recogerFirma(token) (para un fichero) y que realizas la decodificación del array de bytes obtenido usando la
clase org.apache.commons.codec.binary.Base64 y su método estático Base64.decodeBase64
11 de 12
Framework Atlas
Servicios de Firma AFC Servidor
6. ENLACES RELACIONADOS
Producto
URL
Axis2
http://ws.apache.org/axis2/
Certificados ICM
http://desarrollo.madrid.org/certificados/
Descarga certificados de prueba
http://desarrollo.madrid.org/certificados/descarga_de_certificados.htm
12 de 12
Descargar