Descarga PDF - Gobierno de Canarias

Anuncio
Interoperabilidad de los servicios telemáticos de la Administración Pública
de la CAC
Página 1 de 7
Integración del componente Websigner para ASF
5.2.2.2
Informe técnico
Rev.
Fecha
Descripción
0
09/10/12
Redacción inicial
1
12/11/12
Se elimina la planificación
2
12/06/2013
Nuevo método PlatinoWebSigner.getPLATINO_URL()
Documento PLA-DOC-TEC-20121009 Integración de WebSigner para ASF5..pdf
Ubicación en eCarpeta
Preparado por
Revisado por
Aprobado por
OTP
OTP
Oficina Técnica de Platino
Oficina Técnica de Platino
DGTNT
Fecha: 12/06/2013
Fecha: 12/06/2013
Fecha:
20121004 - Informe para obtener lista de CA para
ASF 5.2_2.odt.pdf
Página 2 de 7
ÍNDICE
1 INTRODUCCIÓN .............................................................................................................. 3
2 IDENTIFICACIÓN DEL PROBLEMA ................................................................................ 4
3 SOLUCIÓN ....................................................................................................................... 5
3.1 Actualizaciones realizadas sobre el proyecto PlatinoWebSignatureTest.war ............ 5
Servicio de soporte para la Plataforma de Interoperabilidad de la Administración Pública de la Comunidad Autónoma de Canarias
PLATINO (OTP)
20121004 - Informe para obtener lista de CA para
ASF 5.2_2.odt.pdf
1
Página 3 de 7
INTRODUCCIÓN
Este informe tiene como objetivo mostrar los cambios que se han realizado en el proyecto
PlatinoWebSignerTest.war1, proyecto desarrollado para que sirva de ejemplo a los
desarrolladores del Gobierno de Canarias en la integración del componente de
WebSigner en aquellas páginas que lo requieran para la firma en el cliente.
Este cambio viene motivado por la actualización del servicio de firma y sellado electrónico
pasando a la versión de ASF 5.2. En el proyecto de ejemplo, la forma de obtener las CA
válidas y las restricciones de estas CA se hacia utilizando librerías que obtenían la
información del servicio de firma. Con la próxima actualización del servicio de firma, el
código utilizado actualmente dará un error y no podrá obtenerse esta lista de CA válidas.
1
http://www.gobiernodecanarias.org/platino/docs/PlatinoWebSignerTest.war.zip
Servicio de soporte para la Plataforma de Interoperabilidad de la Administración Pública de la Comunidad Autónoma de Canarias
PLATINO (OTP)
20121004 - Informe para obtener lista de CA para
ASF 5.2_2.odt.pdf
2
Página 4 de 7
IDENTIFICACIÓN DEL PROBLEMA
El problema radica en la versión de los .jar utilizado en el actual proyecto que no son
compatibles con la nueva versión de ASF 5.2, esto provoca que al solicita obtener la lista
de CA válidas por el Gobierno de Canarias no sea posible.
Servicio de soporte para la Plataforma de Interoperabilidad de la Administración Pública de la Comunidad Autónoma de Canarias
PLATINO (OTP)
Página 5 de 7
20121004 - Informe para obtener lista de CA para
ASF 5.2_2.odt.pdf
3
SOLUCIÓN
Para dar solución a este error que se puede producir y también evitando el acceso de las
páginas que se van a presentar al cliente que tenga que acceder al servicio de firma para
descargar la lista de CA válidas, se ha creado un fichero javascript (CAValidas.js) que
contiene una función que devuelve el array de CA válidas y el array de restricciones, el
cual será actualizado cuando se asocie una nueva CA válida para el Gobierno de
Canarias. Para ello se ha creado un nuevo proyecto con las modificación y que pueda
servir de plantilla para la integración PlatinoWebSignerTestNewVersion.war.zip2
3.1 Actualizaciones
realizadas
PlatinoWebSignatureTest.war
sobre
el
proyecto
En el proyecto con la versión anterior, dentro del directorio WEB-INF hay dos directorios:
•••
\WEB-INF\lib: Este directorio podrá ser eliminado al no necesitar utilizar ninguna de
las librerías para conectarse al servicio de firma.
•••
\WEB-INF\class: Este directorio deberá ser actualizado con la mismas carpeta
ubicada en el nuevo proyecto.
En las páginas en las que se utiliza el componente WebSigner para la firma en cliente, se
han realizado cambios en la forma de obtener el listado de CA válidas y las restricciones
sobre estas CA. Para ello se utiliza una página Javascript que posee un array y se
reemplaza el código que había antes. Para la obtención de la url desde la que se
descargará las CA´s válidas creamos el código jsp:
2
http://www.gobiernodecanarias.org/platino/docs/PlatinoWebSignerTestNewVersion.war.zip
Servicio de soporte para la Plataforma de Interoperabilidad de la Administración Pública de la Comunidad Autónoma de Canarias
PLATINO (OTP)
20121004 - Informe para obtener lista de CA para
ASF 5.2_2.odt.pdf
Página 6 de 7
<%
/*
* URL base del servicio de firma de Platino.
*/
String gsURL = PlatinoWebSigner.getSFEST_URL();
/*
* URL base de platino.
*/
String platinoURL = PlatinoWebSigner.getPLATINO_URL();
%>
Para que este método funcione es necesaria una nueva propiedad en el fichero
platinoWebSigner.properties:
# URL base de platino. Segun entorno y finalidad puede ser:
#
produccion:
https://www.gobiernodecanarias.org/platino/
#
pre-produccion:
http://www-pre.gobiernodecanarias.org/platino/
#
sede:
https://sede.gobcan.es/platino/
es.gobcan.platino.platinoURL = http://www-pre.gobiernodecanarias.org/platino/
Una vez conocemos las URL base, podemos incluir los javascript necesarios en nuestro
código fuente:
<script language="javascript" src="<%=platinoURL%>js/CAValidas.js"
type="text/javascript"></script>
<script language="javascript" src="<%=gsURL%>js/WS_Full.js"
type="text/javascript"></script>
<script language="javascript" src="<%=gsURL%>js/sfest.utils.js" type="text/javascript"
charset="iso-8859-1"></script>
<script language="javascript" src="<%=gsURL%>js/sfest.base.js" type="text/javascript"
charset="iso-8859-1"></script>
En las páginas donde se utiliza el componente de firma deben variar el código para que
obtengan el listado de CA válidas, antes estaba el código:
Servicio de soporte para la Plataforma de Interoperabilidad de la Administración Pública de la Comunidad Autónoma de Canarias
PLATINO (OTP)
20121004 - Informe para obtener lista de CA para
ASF 5.2_2.odt.pdf
Página 7 de 7
function actualizarCertificadosValidos() {
arrCAs = new Array(<%=trustedCAs%>);
arrRestrictions = new Array(<%=restrictions%>);
arrValidCertificates = getTrustedCertificates ('<%=applicationId%>', '<%=operationId%>',
'<%=applicationId%>');
for (var i = 0; i < arrValidCertificates.length; i++) {
if (arrValidCertificates[i]!=null)
if (arrValidCertificates[i]!="") {
document.formData.validCertificates.options[i] = new
Option(arrValidCertificates[i][1],arrValidCertificates[i][0]);
}
}
document.formData.validCertificates.options.lenght=arrValidCertificates.length;
actualizaInfo();
}
En nuevo código debería tener:
function actualizarCertificadosValidos() {
arrCAs = getArrayCAs();
arrRestrictions = getArrayRestrictions();
arrValidCertificates = getTrustedCertificates ('<%=applicationId%>', '<%=operationId%>',
'<%=applicationId%>');
for (var i = 0; i < arrValidCertificates.length; i++) {
if (arrValidCertificates[i]!=null)
if (arrValidCertificates[i]!="") {
document.formData.validCertificates.options[i] = new
Option(arrValidCertificates[i][1],arrValidCertificates[i][0]);
}
}
document.formData.validCertificates.options.lenght=arrValidCertificates.length;
actualizaInfo();
}
Servicio de soporte para la Plataforma de Interoperabilidad de la Administración Pública de la Comunidad Autónoma de Canarias
PLATINO (OTP)
Descargar