-
Notas para desarrolladores
Pgina 1 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Servicio web de Seguimiento. Kit de Auto-evaluacin Notas para
desarrolladores
-
Notas para desarrolladores
Pgina 2 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Informacin del documento Documento Notas para desarrolladores
Archivo Notas para desarrolladores_20140827.doc Distribucin
Documentacin relacionada Documentacin base de cada una de las
aplicaciones de Desarrollo Formacin.
Control de versiones Fecha Responsable Versin Modificaciones
2014-08-27 Equipo de formacin 20140827 Redaccin inicial del
documento Control Inicial del Documento Fecha Responsable Versin
Comentarios 2014-08-27 Equipo de formacin 20140827 Creacin del
documento inicial
-
Notas para desarrolladores
Pgina 3 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
ndice
______________________________________________________________
Captulo 1. Introduccin. ________________________________________ 5
Captulo 2. Modelo de datos _____________________________________ 6
Captulo 3. Kit de auto-evaluacin ________________________________
7
3.1. Lnea de comandos ________________________________ 8 3.1.1.
Ejemplos de lneas de comandos ______________________ 9
3.2. Configuracin ____________________________________ 10
3.3. Archivo de procesamiento por lotes (batch) _____________
11
3.4. Estructura de la prueba ____________________________ 12
Captulo 4. Infraestructuras adicionales
__________________________ 14 4.1. Generacin del truststore
___________________________ 14
4.1.1. Obtencin del certificado digital de servidor
_____________ 14 4.1.2. Creacin del almacn de claves (Truststore)
____________ 24
Captulo 5. Informacin de contacto _____________________________
28
-
Notas para desarrolladores
Pgina 4 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
ndice de ilustraciones Ilustracin 1.- rbol XML (modelo de datos)
del seguimiento de acciones
formativas
.......................................................................................................................
6 Ilustracin 2.- Estructura de directorios del kit de
auto-evaluacin ........................ 7 Ilustracin 3.- Fichero de
certificado digital en el sistema de archivos ................. 15
Ilustracin 4.- Fichero de backup del certificado digital en el
sistema de archivos
........................................................................................................................................
15 Ilustracin 5.- Extraccin clave pblica (openssh)
...................................................... 16
Ilustracin 6.- Conversin de formatos de certificado (openssh)
........................... 17 Ilustracin 7.- Detalles de la
comunicacin segura de datos en Internet Explorer
........................................................................................................................................
18 Ilustracin 8.- Informacin del certificado digital del sitio web
en Internet
Explorer
........................................................................................................................
18 Ilustracin 9.- Inicio del proceso de importacin de un
certificado digital
(Internet Explorer)
....................................................................................................
19 Ilustracin 10.- Inicio del asistente de importacin de un
certificado digital
(Internet Explorer)
....................................................................................................
19 Ilustracin 11.- Asistente de importacin de certificado digital
(Internet
Explorer)
......................................................................................................................
20 Ilustracin 12.- Finalizacin del asistente de importacin de
certificado digital
(Internet Explorer)
....................................................................................................
20 Ilustracin 13.- Mensaje de operacin correctamente realizada
(Internet
Explorer)
......................................................................................................................
21 Ilustracin 14.- Acceso a la configuracin de certificados
digitales (Internet
Explorer)
......................................................................................................................
21 Ilustracin 15.- Seleccin del certificado digital a exportar
(Internet Explorer) 22 Ilustracin 16.- Inicio del asistente de
exportacin de certificados digitales
(Internet Explorer)
....................................................................................................
22 Ilustracin 17.- Eleccin del formato de exportacin (Internet
Explorer)........... 23 Ilustracin 18.- Especificacin de la ruta de
acceso (y nombre del fichero) a
utilizar en la exportacin (IE)
..................................................................................
23 Ilustracin 19.- Paso ltimo del asistente de exportacin de
certificados digitales
(Internet Explorer)
....................................................................................................
24 Ilustracin 20.- Finalizacin del asistente de exportacin de
certificados digitales
(Internet Explorer)
....................................................................................................
24 Ilustracin 21.- Ubicacin del certificado digital en el sistema
de archivos. ........ 25 Ilustracin 22.- Proceso de generacin del
almacn de claves con la utilidad
keytool (1/4)
..................................................................................................................
26 Ilustracin 23.- Proceso de generacin del almacn de claves con la
utilidad
keytool (2/4)
..................................................................................................................
26 Ilustracin 24.- Proceso de generacin del almacn de claves con la
utilidad
keytool (3/4)
..................................................................................................................
26 Ilustracin 25.- Proceso de generacin del almacn de claves con la
utilidad
keytool (4/4)
..................................................................................................................
27 Ilustracin 26.- Fichero de almacn de claves en el sistema de
archivos.............. 27
-
Notas para desarrolladores
Pgina 5 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Captulo 1. Introduccin.
El presente documento pretende servir de ayuda a las pruebas
que, desde los diferentes centros/entidades de formacin y con el
objetivo de su acreditacin como centros de formacin en modalidad de
teleformacin, se llevarn a cabo en el transcurso del desarrollo del
servicio web de seguimiento a ser ofertado desde sus respectivas
plataformas online. Para tales pruebas, se pone a disposicin de los
centros un kit de auto-evaluacin que permitir simular la operativa
del seguimiento de las acciones formativas autorizadas a estos.
La correcta operativa de este servicio web ser condicin
ineludible para la resolucin, favorable al centro, de la solicitud
de acreditacin que este haya tramitado hacia el Servicio Pblico de
Empleo Estatal (SPEE)
-
Notas para desarrolladores
Pgina 6 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Captulo 2. Modelo de datos
El modelo de datos que se facilita describe los diferentes
elementos que componen los datos que el Servicio Pblico de Empleo
Estatal considera necesarios para el seguimiento de las acciones
formativas en las que se imparten las especialidades formativas en
las que el centro de formacin est acreditado o inscrito.
El modelo incluye la denominacin de las etiquetas, su
descripcin, el tipo de dato, su obligatoriedad y en su caso los
valores posibles.
Siguiendo este modelo cada centro de formacin facilitar los
datos sobre sus acciones formativas.
Ilustracin 1.- rbol XML (modelo de datos) del seguimiento de
acciones formativas
Se entiende que cada centro de formacin mantiene estos datos de
forma coherente, con independencia del servicio web de seguimiento
del Servicio Pblico de Empleo Estatal. Estos datos ya existentes,
simplemente, se facilitarn siguiendo el modelo descrito.
El modelo incluye restricciones, en especial en los valores
codificados, que intencionadamente no estn incluidas en la
definicin del WSDL. El motivo no es otro que tratar de reducir en
la medida de lo posible el nmero de cambios en la definicin del
servicio web.
-
Notas para desarrolladores
Pgina 7 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Captulo 3. Kit de auto-evaluacin
El programa de autoevaluacin le permitir probar su implementacin
del servicio web de seguimiento de forma anloga a como se validar
su disponibilidad en el trmite de acreditacin o inscripcin del
centro de formacin. El kit se compone de un fichero comprimido ZIP
con el siguiente contenido:
Un programa Java que realiza la prueba de verificacin, embebido
en el componente ProvCentTFVal.jar.
Un fichero XML con los datos necesarios para la prueba
(pruebaDatosDelCentro_20140619.xml).
Un archivo de proceso por lotes con la invocacin al programa
(run.cmd).
Libreras necesarias para el programa Java, ubicadas en el
subdirectorio lib.
Ficheros de configuracin, a personalizar segn el entorno,
ubicados a partir del subdirectorio config.
Una vez descomprimido, la estructura de directorios creada ser
la siguiente:
Ilustracin 2.- Estructura de directorios del kit de
auto-evaluacin Para su ejecucin se precisa un entorno Java versin
1.6 o posterior. El programa Java est pensado para ejecutarse desde
el smbolo del sistema de un equipo que est comunicado con el
servicio web. La correcta operativa del kit de auto-evaluacin
requerir de los siguientes datos:
URL que identifica, de manera unvoca, al servicio WEB de
seguimiento.
Credenciales de acceso (password). Fichero XML con datos de
prueba. Tipo de almacn de claves (truststore) donde deber haber
sido
almacenada la clave pblica del certificado digital del servidor
sobre el que realizar las pruebas.
Ruta de acceso al mencionado almacn dentro del sistema de
archivos. Password de acceso al contenido del truststore.
-
Notas para desarrolladores
Pgina 8 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Finalmente, se recuerda que para la autentificacin al servicio
web se utilizar el estndar Web Services Security UsernameToken
Profile 1.0 OASIS Standard 200401, March 2004. El elemento
wsse:Username ser SEPE (sin comillas) como cuando lo invoque el
Servicio Pblico de Empleo Estatal. El elemento wsse:Password ser el
segundo argumento de la lnea de comandos. Se emplearn credenciales
de tipo wsse:PasswordText.
3.1. Lnea de comandos
La lnea de comandos a utilizar para la correcta realizacin de la
prueba es mostrada a continuacin (Importante: por razones de
legibilidad queda visualizada en varias lneas, si bien en la
prctica se corresponder nicamente con una nica lnea):
java -jar ProvCentTFVal.jar
-Djavax.net.ssl.trustStoreType= -Djavax.net.ssl.trustStore=
-Djavax.net.ssl.trustStorePassword=
donde: Tipo del almacn de certificados con claves pblicas
(truststore),
donde se almacenar la clave pblica de nuestro servidor. En los
ejemplos aqu utilizados, el valor especificado ser jks (Java key
store) Parmetro obligatorio si el endpoint especificado en
especifica un acceso bajo capa segura (la URL comenzara por
https://). En caso contrario, no ser necesaria su especificacin.
Vase el apartado titulado Generacin del truststore.
Ruta de acceso al almacn de claves. Parmetro obligatorio si el
endpoint especificado en especifica un acceso bajo capa segura (la
URL comenzara por https://). En caso contrario, no ser necesaria su
especificacin. Vase el apartado titulado Generacin del
truststore.
Contrasea para el acceso al contenido del almacn de claves.
Parmetro obligatorio si el endpoint especificado en especifica
un acceso bajo capa segura (la URL comenzara por https://) y
siempre que, durante el proceso de generacin de almacn de claves,
se especificase contrasea para el acceso a su contenido. En caso
contrario, no ser necesaria su especificacin. Vase el apartado
titulado Generacin del truststore.
URL que identifica al endpoint del servicio web de seguimiento.
Parmetro obligatorio.
Credencial (password) con el que se autentica el usuario en el
servicio
web. Parmetro obligatorio.
-
Notas para desarrolladores
Pgina 9 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Ruta de acceso al archivo XML de datos de prueba (proporcionado
en el ZIP) Parmetro obligatorio.
3.1.1. Ejemplos de lneas de comandos
En este apartado ofreceremos dos ejemplos de lnea de comandos
que permita la realizacin de la prueba.
3.1.1.1. Acceso por capa no-segura (HTTP) La siguiente lnea de
comandos (dividida en este documento para una mayor legibilidad)
llevar a cabo la ejecucin de la prueba:
java -jar ProvCentTFVal.jar -Djavax.net.ssl.trustStoreType=
-Djavax.net.ssl.trustStore= -Djavax.net.ssl.trustStorePassword=
http://plataforma.com/seguimiento 12abcd#24 c:\datosPrueba.xml
En este caso, nicamente fue necesaria la especificacin de los
tres parmetros siguientes
http://plataforma.com/seguimiento 12abcd#24
c:\datosPrueba.xml
Al respecto de los switches D definidos en lnea de comandos (y
mostrados a continuacin)
-Djavax.net.ssl.trustStoreType= -Djavax.net.ssl.trustStore=
-Djavax.net.ssl.trustStorePassword=
es importante resaltar que NO sern tenidos en cuenta por el kit
en el contexto no seguro (http) que nos ocupa, pudiendo:
a) No ser especificados (eliminndolos de la propia lnea de
comandos), b) ser especificados sin valor alguno o, finalmente, c)
ser especificados con aquellos valores establecidos para las
pruebas en
modo https (modo seguro).
3.1.1.2. Acceso por capa segura (HTTPS) En este caso, se
requerir la especificacin completa del truststore, almacn de claves
donde se localizar la clave pblica del servidor donde fue publicado
el servicio web. Vase el apartado titulado Generacin del
truststore. La siguiente lnea de comandos llevar a cabo la ejecucin
de la prueba:
java -jar ProvCentTFVal.jar -Djavax.net.ssl.trustStoreType=jks
-Djavax.net.ssl.trustStore=c:\miAlmacenClaves.jks
-Djavax.net.ssl.trustStorePassword=123456#24ABCD
https://plataforma.com/seguimiento 12abcd#24 c:\datosPrueba.xml
-
Notas para desarrolladores
Pgina 10 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
En este caso, la especificacin de las variables especificadas
sera la siguiente:
jks c:\miAlmacenClaves.jks 123456#24ABCD
https://plataforma.com/seguimiento 12abcd#24 c:\datosPrueba.xml
3.2. Configuracin
En esta nueva versin del kit de auto-evaluacin puede ser
necesaria la configuracin de parte de su infraestructura. En el
caso de que la conexin hacia el servicio web requiera establecer
los datos de configuracin del proxy, esta informacin deber ser
especificada en el archivo
/config/repository/axis2.xml donde se correspondera con la ruta
bajo la que fue descomprimido el contenido del kit. Dentro del
mencionado archivo XML, deber acudirse a la estructura identificada
por el nombre de parmetro Proxy (inicialmente comentada):
Para definir la salida a travs de un proxy, se deber eliminar
los comentarios que rodean a la totalidad de la estructura XML
anterior. A continuacin debern establecerse, segn proceda, los
valores para los nodos , , y . El siguiente ejemplo muestra la
manera en cumplimentar el mencionado bloque:
proxy.midominio.com 8080 miusuario mipassword
-
Notas para desarrolladores
Pgina 11 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Importante: en caso de que no se requiera configurar un proxy,
mantenga comentado este bloque XML, lo que garantizar una correcta
operativa de la infraestructura. De igual forma, si la
especificacin de los datos de usuario (y password) no fuese
requerida, ambos nodos ( y ) deberan mantenerse comentados.
3.3. Archivo de procesamiento por lotes (batch)
Para facilitar las pruebas, se proporciona un archivo de proceso
por lotes (run.cmd) con el contenido que se muestra a
continuacin:
set TRUST_STORE_TYPE= set TRUST_STORE_PATH= set
TRUST_STORE_PASSWORD= set WEB_SERVICE= set PASSWORD= set XML_PATH=
java -Djavax.net.ssl.trustStoreType=%TRUST_STORE_TYPE%
-Djavax.net.ssl.trustStore=%TRUST_STORE_PATH%
-Djavax.net.ssl.trustStorePassword=%TRUST_STORE_PASSWORD% -jar
ProvCentTFVal.jar %WEB_SERVICE% %PASSWORD% %XML_PATH%
Las cinco primeras lneas se corresponden con sentencias de
asignacin de las variables de entorno utilizadas en la ltima de las
lneas que compone el mencionado script (la lnea de comandos que ser
finalmente la que lleve a cabo la prueba) El equipo de desarrollado
deber especificar, para cada una de ellas, los valores adecuados
segn su desarrollo, de acuerdo a la siguiente forma:
set =
donde identifica a cada una de las variables de entorno
definidas en el archivo y el valor a asignar para cada una de
ellas. Ntese que cada una de ellas se corresponde con uno de los
parmetros de la lnea de comandos, descritos en un anterior
apartado.
El siguiente ejemplo muestra una definicin del archivo run.cmd
donde se ha parametrizado la totalidad de las variables, necesarias
para la ejecucin de las pruebas del servicio web de seguimiento
bajo canal seguro (https://):
set TRUST_STORE_TYPE=jks set
TRUST_STORE_PATH=c:\almacenes\miTruststore.jks set
TRUST_STORE_PASSWORD=12537629#21 set
WEB_SERVICE=https://miplataformaonline.com/teleformacion/seguimiento
set PASSWORD=34#32abbb344 set XML_PATH=c:\datosProveedorCentro.xml
java -Djavax.net.ssl.trustStoreType=%TRUST_STORE_TYPE%
-Djavax.net.ssl.trustStore=%TRUST_STORE_PATH%
-Djavax.net.ssl.trustStorePassword=%TRUST_STORE_PASSWORD% -jar
ProvCentTFVal.jar %WEB_SERVICE% %PASSWORD% %XML_PATH%
En la especificacin de la lnea de comandos del script se asume
que la ruta de acceso a la mquina virtual (java) se ha incluido
dentro del path del sistema. En caso de no ser as, incluya la
mencionada ruta de acceso en el path o bien haga preceder, dentro
del script y al ejecutable java, la ruta de acceso al mismo.
-
Notas para desarrolladores
Pgina 12 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Creado para su uso especfico en plataformas Microsoft Windows,
su sencillez permite ser fcilmente portado a un script de similares
caractersticas dentro de aquel sistema operativo bajo el que se
termine ejecutando el kit.
3.4. Estructura de la prueba
El fichero proporcionado en el empaquetado ZIP,
pruebaDatosDelCentro.xml, que tambin se incluye contiene una prueba
equivalente a la que se pasar en la acreditacin o inscripcin. Debe
obtener resultado correcto en todos los pasos. El test queda
compuesto por las siguientes pruebas:
obtenerDatosCentro con una password incorrecta. Se invocar al WS
con usuario: SEPE (este es el usuario correcto que se emplear en el
seguimiento) y, a modo de credencial errnea, se utilizar el
literal: EPESSEPECESEPE.
obtenerDatosCentro - datos identificativos correctos. Se
solicitarn los datos identificativos y el resultado ser correcto si
coinciden con los datos identificativos del Fichero XML con datos
de prueba.
crearCentro - ORIGEN_CENTRO='20' y CODIGO_CENTRO='9999999999'.
Se crear el centro de formacin asignndole la identificacin 20
9999999999. Para poder crear el centro, ste no debe tener
acciones.
obtenerDatosCentro. Se obtendrn los datos del centro de formacin
y se comprobar que su identificacin es: ORIGEN_CENTRO='20' y
CODIGO_CENTRO='9999999999'.
obtenerListaAcciones. Se solicitar la lista de acciones
formativas que debe resultar vaca puesto que se acaba de crear el
centro de formacin.
crearAccion. Se solicitar la creacin de las acciones formativas
que estn en el fichero XML con datos de prueba. Esta prueba se
repetir tantas veces como acciones formativas haya en el XML de
prueba. El fichero XML de prueba incluido en el kit tiene acciones
formativas en diferentes situaciones con los elementos del modelo
presentes o ausentes apropiados para cada situacin.
obtenerListaAcciones. Se solicitar la lista de acciones
formativas que debe coincidir con el XML de prueba.
crearAccion Se intentar crear una accin formativa ya creada, que
debe dar error para que el resultado de la prueba sea correcto.
obtenerAccion. Se obtendrn, una por una, todas las acciones
formativas del fichero XML de prueba y se comprobar que la
informacin devuelta coincide con la del XML de prueba.
-
Notas para desarrolladores
Pgina 13 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
eliminarAccion. Se eliminarn una por una todas las acciones
formativas del fichero XML de prueba.
Para cada prueba se mostrar los literales OK, si el resultado
obtenido fue el esperado, o KO si no lo fue. Se considerar como
disponible todo servicio web que, tras la ejecucin, obtenga el
valor OK para todas las pruebas.
-
Notas para desarrolladores
Pgina 14 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Captulo 4. Infraestructuras adicionales
4.1. Generacin del truststore
La operativa del seguimiento de centros, se llevar a cabo a
travs de un canal cifrado que permita la comunicacin segura entre
el Servicio Pblico de Empleo Estatal (SEPE) y el centro. Con el fin
de garantizar tal operativa, el punto de acceso (endpoint) al
servicio web de seguimiento deber comenzar, ineludiblemente, por
https://, siendo el desarrollo del servicio web coherente con tal
requerimiento. Durante el transcurso de las pruebas, el equipo de
desarrollo podr utilizar el kit de auto-evaluacin para llevar a
cabo las pruebas tanto por canal no seguro (http://) como por canal
seguro (https://), si bien ser este ltimo contexto, como se
mencionaba anteriormente, el nico aceptado durante el proceso de
acreditacin del centro. Para llevar a cabo las pruebas bajo canal
seguro, se deber llevar a cabo, con anterioridad, las siguientes
tareas:
1. Obtencin de la clave pblica del certificado digital del
servidor desde el que se ejecutar el servicio web de
seguimiento,
2. creacin del truststore (almacn de claves) necesario para,
finalmente, 3. almacenar en este la clave pblica obtenida en el
primer punto.
4.1.1. Obtencin del certificado digital de servidor En este
apartado describiremos la forma en cmo disponer de la clave pblica
del certificado digital de nuestro servidor, con el fin de ser
incorporada, posteriormente, en el almacn de claves (truststore) a
referenciar en las pruebas. Al respecto, sern descritos los
siguientes escenarios (de todos los posibles) para la obtencin de
dicha clave:
- Se dispone de certificado digital (*.cer/*.crt/*.der). - Se
dispone de un archivo de backup que contiene el certificado
digital
(*.pfx/*.p12). - No se dispone de un archivo que contenga el
certificado digital (o su clave pblica),
obteniendo la clave a partir de un navegador web.
4.1.1.1. Se dispone del certificado digital En este caso, se
entiende como el ms habitual, se dispondr del certificado digital
descargado en formato.
-
Notas para desarrolladores
Pgina 15 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Ilustracin 3.- Fichero de certificado digital en el sistema de
archivos Sin necesidad de actuacin previa sobre el certificado
(conversin en el formato de codificacin, etc.), el certificado
podra ser incluido en el truststore a utilizar en las pruebas del
kit.
4.1.1.2. Se dispone de un archivo de backup del certificado
digital En este caso, se asume que se dispone de un backup del
certificado digital, almacenado en formato PKCS#12
(*.pfx/*.p12)
Ilustracin 4.- Fichero de backup del certificado digital en el
sistema de archivos
-
Notas para desarrolladores
Pgina 16 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Haremos uso, para esta operacin, de la infraestructura de cdigo
abierto OpenSSL (http://www.openssl.org/), cuya utilidad homnima
satisfar los requerimientos aqu exigidos. El ejemplo ha sido
realizado desde un entorno Microsoft Windows, haciendo uso de la
distribucin referenciada, para esta plataforma y en el mencionado
proyecto, bajo el enlace
https://www.openssl.org/related/binaries.html. Una vez instalado
este toolkit, la primera tarea ser obtener la clave pblica del
certificado, siendo esta exportada al formato PEM:
openssl pkcs12 -in -clcerts -nokeys -out
donde:
Fichero que contiene el certificado digital, codificado en el
formato PKCS#12, del que extraer la clave pblica.
Fichero donde se almacenar, tras la ejecucin, la clave
pblica del certificado, codificada en formato PEM.
Para el ejemplo que nos ocupa, esta sera la lnea de comandos, a
partir de la cual se nos solicitar la password con la que el
certificado fue previamente exportado:
Ilustracin 5.- Extraccin clave pblica (openssh)
Tras ello, habremos obtenido la clave pblica, en formato PEM.
Seguidamente, se deber realizar una conversin de formato. El
formato de salida ser DER (Distinguished Encoding Rules),
codificacin esta admitida por la herramienta de gestin de
keystores/truststores (keytool) utilizada. Para llevar a cabo la
conversin, la lnea de comandos ser:
openssl x509 -outform der -in -out
donde:
Fichero de entrada donde estar contenida la clave pblica del
certificado, codificada en formato PEM.
-
Notas para desarrolladores
Pgina 17 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Fichero de salida donde se almacenar la clave pblica del
certificado, convertida a formato DER (*.der)
Continuando con el ejemplo que nos ocupa, la ejecucin de la
conversin ser llevada a cabo de la siguiente forma:
Ilustracin 6.- Conversin de formatos de certificado (openssh)
Con ello, finalizaremos el proceso de extraccin de la clave pblica
de nuestro certificado, permitiendo ser almacenada en el truststore
que crearemos posteriormente.
4.1.1.3. No se dispone de certificado digital de servidor En el
caso de que no disponer del certificado digital de nuestro
servidor, podremos hacer uso de un navegador web (en el ejemplo el
utilizado es Microsoft Internet Explorer, si bien la mayora de los
navegadores ofrecen funcionalidades similares) para obtener la
clave pblica a incluir en nuestro almacn de claves de confianza
(truststore). El ejemplo aqu descrito obtendr la clave pblica del
certificado de servidor de la Sede electrnica del Servicio Pblico
de Empleo Estatal. En este supuesto, supondremos que disponemos de
un servicio web de seguimiento con su punto de acceso (endpoint)
expresado por la siguiente URL:
https://sede.sepe.gob.es/teleformacion/seguimiento Abriremos el
navegador la anterior URL o aquella, simplificada, mostrada a
continuacin:
https://sede.sepe.gob.es/ La siguiente captura muestra el
resultado de esta accin:
-
Notas para desarrolladores
Pgina 18 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Ilustracin 7.- Detalles de la comunicacin segura de datos en
Internet Explorer Al hacer clic sobre el icono obtendremos, en el
rea resaltada en rojo, la informacin bsica del certificado digital
de servidor:
Ilustracin 8.- Informacin del certificado digital del sitio web
en Internet Explorer
-
Notas para desarrolladores
Pgina 19 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Dentro de ese rea, haremos clic sobre la opcin Ver certificados,
accin sta que desencadenar la visualizacin de la siguiente
ventana:
Ilustracin 9.- Inicio del proceso de importacin de un
certificado digital (Internet Explorer) Procederemos, a
continuacin, a instalar el certificado en nuestro navegador,
haciendo clic sobre la opcin Instalar certificado, lo que iniciar
el asistente de importacin de certificados:
Ilustracin 10.- Inicio del asistente de importacin de un
certificado digital (Internet Explorer)
-
Notas para desarrolladores
Pgina 20 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Haremos clic en Siguiente para avanzar en el proceso de
importacin:
Ilustracin 11.- Asistente de importacin de certificado digital
(Internet Explorer)
Nuevamente haremos clic en el botn Siguiente, manteniendo la
seleccin establecida por defecto por el navegador. Se visualizar la
siguiente pantalla:
Ilustracin 12.- Finalizacin del asistente de importacin de
certificado digital (Internet Explorer)
Pulsando Finalizar para dar por concluido el proceso. El
navegador mostrar, en caso de xito, la siguiente MessageBox:
-
Notas para desarrolladores
Pgina 21 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Ilustracin 13.- Mensaje de operacin correctamente realizada
(Internet Explorer)
Una vez que tenemos el certificado importado en uno los
almacenes del navegador, procederemos a su exportacin. Para ello,
procederemos acudiremos a la opcin de men HerramientasOpciones de
Internet, eligiendo la solapa Contenidos que se visualiza a
continuacin:
Ilustracin 14.- Acceso a la configuracin de certificados
digitales (Internet Explorer) Haremos clic en la opcin
Certificados, para acceder a los almacenes de certificados del
navegador. Dentro de la esta nueva ventana, seleccionaremos la
solapa Otras personas.
-
Notas para desarrolladores
Pgina 22 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Ilustracin 15.- Seleccin del certificado digital a exportar
(Internet Explorer) Tras el anterior proceso de importacin, el
certificado ser visible en la lista de certificados
correspondientes a esta categora. A efectos de su exportacin a
archivo, procederemos a su seleccin dentro de la mencionada lista,
para seguidamente hacer clic en la opcin Exportar. Tal accin
iniciar el procedimiento de exportacin de certificados, que nos
permitir exportar la clave pblica previamente almacenada:
Ilustracin 16.- Inicio del asistente de exportacin de
certificados digitales (Internet Explorer)
-
Notas para desarrolladores
Pgina 23 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Haremos clic en Siguiente para avanzar en el proceso de
exportacin:
Ilustracin 17.- Eleccin del formato de exportacin (Internet
Explorer) Mantendremos seleccionada la opcin establecida por
defecto (DER binario codificado X.509) y volveremos a elegir la
opcin Siguiente:
Ilustracin 18.- Especificacin de la ruta de acceso (y nombre del
fichero) a utilizar en la exportacin (IE) Con la opcin Examinar se
nos permitir especificar la ruta de acceso as como el nombre del
archivo en el que la clave ser exportada:
-
Notas para desarrolladores
Pgina 24 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Ilustracin 19.- Paso ltimo del asistente de exportacin de
certificados digitales (Internet Explorer) Finalmente, pulsaremos
Finalizar para dar por concluida la exportacin, situacin esta que
ser confirmada por la MessageBox siguiente:
Ilustracin 20.- Finalizacin del asistente de exportacin de
certificados digitales (Internet Explorer)
4.1.2. Creacin del almacn de claves (Truststore) Tras la
exportacin a archivo de la clave pblica, el siguiente paso sera la
creacin del almacn de claves (truststore) a utilizar desde el kit
de auto-evaluacin. Es en l donde almacenaremos la clave pblica del
certificado digital de nuestro servidor, hacindolo disponible,
posteriormente, desde las pruebas. Reutilizaremos el certificado
obtenido en el ejemplo anterior (sedeElectronicaSepe.cer) para
ilustrar la tarea que nos ocupa, que fue almacenado en el
directorio raz de nuestro disco duro local:
-
Notas para desarrolladores
Pgina 25 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Ilustracin 21.- Ubicacin del certificado digital en el sistema
de archivos. Utilizaremos la herramienta keytool para generar el
truststore y llevar a cabo el almacenamiento, en este, de la clave
publica obtenida. Esta utilidad forma parte del Java SE Development
Kit (JDK), debiendo estar accesible desde lnea de comandos. Al
respecto de lo anterior, se recomienda la inclusin de la ruta de
acceso al directorio bin, del mencionado kit de desarrollo, en la
variable PATH. La sintaxis de la utilidad keytool, dependiendo de
la versin de JDK utilizada, podr variar, por lo que recomienda la
consulta de la documentacin de ayuda disponible pare este ltimo
para hacer un adecuado uso de ella. Para explicar la descripcin de
este proceso de creacin de truststore se ha utilizado la versin 1.6
del mencionado kit, cuya lnea de comandos se describe a
continuacin:
keytool -import -file -alias -keystore
donde:
Fichero que contendr la clave pblica del certificado digital del
servidor que oferta el servicio web (*.der/*.cer/*.crt)
Nombre lgico que permitir identificar la clave dentro del
almacn de claves. Servir para identificar unvocamente la clave
dentro del propio almacn.
Path completo (nombre de archivo incluido) que contendr
el almacn de claves (truststore). Generaremos un almacn
nuevo.
Por convenio, y para un almacn de tipo Java key store (JKS), la
extensin del archivo sera .jks. Vase las variables y en el apartado
Lnea de comandos. A modo de ejemplo, ejecutaremos la siguiente lnea
de comandos, encaminada a la generacin del almacn de claves de
nombre (arbitrario) truststore.jks.
-
Notas para desarrolladores
Pgina 26 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Ilustracin 22.- Proceso de generacin del almacn de claves con la
utilidad keytool (1/4)
La utilidad nos solicitar, por duplicado, la password para el
almacn de claves (este sera el valor a ser especificado para el
parmetro de la lnea de comandos del kit):
Ilustracin 23.- Proceso de generacin del almacn de claves con la
utilidad keytool (2/4) A continuacin, se nos preguntar si confiamos
en el certificado a incluir en el almacn de claves, a lo que
contestaremos afirmativamente:
Ilustracin 24.- Proceso de generacin del almacn de claves con la
utilidad keytool (3/4)
-
Notas para desarrolladores
Pgina 27 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Tras ello, se nos mostrar el mensaje informando de la correcta
inclusin de la clave en el almacn recin creado.
Ilustracin 25.- Proceso de generacin del almacn de claves con la
utilidad keytool (4/4) La siguiente captura ilustra la creacin, en
disco, del almacn truststore.jks.
Ilustracin 26.- Fichero de almacn de claves en el sistema de
archivos Tras la creacin, ya estaremos en disposicin de realizar
las pruebas de nuestro servicio web bajo capa segura desde el kit
de auto-evaluacin.
-
Notas para desarrolladores
Pgina 28 de 28 20140827
Subdireccin General de Tecnologa de la Informacin y
Comunicaciones
rea de Desarrollo - Formacin Acreditacin de centros de formacin
en
modalidad de teleformacin
Captulo 5. Informacin de contacto
Cualquier consulta o comentario, en relacin a lo tratado en el
presente documento, podr ser dirigida al siguiente buzn de correo
electrnico:
[email protected]