amap-clave

Última modificación por Administrator el 2019/11/26 17:02

amap-clave-1.1.2 2019/11/26

  • Añadir ruta para almacenar ficheros temporales como parámetro.

amap-clave-1.1.1 2019/11/21

  • Obtener segundo apellido para accesos con clave-pin

amap-clave-1.1.0 2019/11/14

  • Integrar cl@ve2 en el api
  • Añadir nuevo metodo 'getRelayState' para obtener el relayState
<dependency>
<groupId>es.gobcantabria.amap.utilidades</groupId>
<artifactId>amap-clave</artifactId>
<version>1.1.2</version>
</dependency>
  • Disponer de los datos:
    • Código del proveedor  de Gobierno de Cantabria para acceso a clave
    • Identificador de la aplicación en clave
  • Solicitar a sistemas, permiso para que la aplicación utilice una carpeta de temporales. Siendo recomendable solicitar el borrado de ficheros con más de un día de antigüedad. Tal y como se indica en la definición de acceso a propiedades del sitema, se podrá utilizar la carpeta: ${ruta_data}/nombre_aplicación/tmp

Configuración

Es necesario solicitar a sistemas, permiso para que la aplicación utilice una carpeta de temporales. Siendo recomendable solicitar el borrado de ficheros con más de un día de antigüedad.

Tal y como se indica en el apartado de "uso de ficheros generados por la aplicación", en la definición de acceso a propiedades del sitema, se podrá utilizar la carpeta: ${ruta_data}/nombre_aplicación/tmp

Requisitos previos

Es requisito indispensable la configuración  de las variables mostradas a continuación:

KeyDescripciónEjemplo
sistemas.global.amap.clave2.pasarela.url-https://se-pasarela.clave.gob.es/Proxy2/ServiceProvider
sistemas.app.amap.clave.providerName-
sistemas.app.amap.clave.idaplicacion-
application.forceAuth-false
application.pin24H-false
application.clavePermanente-false
application.Eidas-false

Configuración de la factoría de servicios

Para la utilización del componente amap-clave basta con añadir el jar y sus correspondientes dependencias al classpath de la aplicación y crear un servicio del siguiente modo:

private String urlPasarela;
private String providerName;
private String tempFilesPath;
private String aplicacionParaClave;

private boolean forceAuth;
private boolean clavePermanente;
private boolean pin24H;
private boolean eidas;
private boolean afirma;

private String urlRespuesta;

// Creamos datos para configuración del servicio
DatosConfiguracion configuracion = new DatosConfiguracion(providerName,aplicacionParaClave);
configuracion.setForzarAutenticacion(forceAuth);
configuracion.setAfirma(afirma);
configuracion.setPin24H(pin24H);
configuracion.setClavePermanente(clavePermanente);
configuracion.setEidas(eidas);

// Creamos el servicio
ServicioClave servicio = ServicioClave.createServicio(configuracion, urlPasarela, urlRespuesta, tempFilesPath);

Los diferentes canales de autenticación para cl@ve, se podrán habilitar y deshabilitar a través de los atributos opcionales (afirma, eidas, pin24H, clavePermanente) de DatosConfiguracion. Por defecto estarán todos activados (true).

Los valores de las propiedades aquí mostradas son meramente ilustrativas. En los entornos de desarrollo / preproducción y producción los valores de las variables han de ser externalizados tal y como se especifica en el documento Definición de acceso a propiedades de sistema

Configuración de librerías

Se ha certificado el correcto funcionamiento de los servicios de clave con las librerías joda-time v.2.1 y commons-lang v2.6. Por ello se recomienda incluir en el 'pom.xml' del proyecto:

      <dependencyManagement>
            <dependencies>
                  <dependency>
                        <groupId>joda-time</groupId>
                        <artifactId>joda-time</artifactId>
                        <version>2.1</version>
                  </dependency>
                  <dependency>
                        <artifactId>commons-lang</artifactId>
                        <groupId>commons-lang</groupId>
                        <version>2.6</version>
                  </dependency>
            </dependencies>
      </dependencyManagement>

Migración a versión 1.1.0 (cl@ve2)

Para realizar una migración desde cl@ve a cl@ve2, los pasos a seguir son:

1. Cambio de properites
   Será necesario cambiar la propiedad golbal de la url de pasarela, eliminar propiedades antiguas (sector, qaalevel, forceIdP, excludedIdPList, allowLegalPerson) y agregar las nuevas propiedades de configuración. Ver el apartado de requisitos previos.

2. Dependencias
   El correcto funcionamiento del api se ha verificado con las librerías joda-time v.2.1 y commons-lang v2.6. Ver el apartado de configuración de librerías.

3. Creación del nuevo servicio
   La creación del servicio será del mismo modo, pero si han variado los atributos y forma de creación de 'DatosConfiguracion'. Ver el apartado configuración de la factoría de servicios

4. Formulario para clave
   Aparece un nuevo elemento a enviar en la petición, el 'RelayState'. Las etiquetas 'name' son case sensitive y deben ser como muestra el ejemplo.
      
       <form  action="${urlPasarelaClave}" method="post">
              <input type="hidden" name="RelayState" value="${relayState}">
              <input type="hidden" name="SAMLRequest" value="${SAMLRequest}">
       </form>

Para el entorno de desarrollo local, será necesario incluir en '${ruta_data}/comunes/clave' de la aplicación, el keystore y los ficheros de configuración. Ver pestaña recursos
     

UML Registro

Nombreamap-clave
Identificadoramap-clave
Grupoes.gobcantabria.amap.utilidades
Versión1.1.2
Licencia
DesarrolladorGobierno de Cantabria
Descripción

Cl@ve
Cl@ve
Cl@ve

Componente de integración  clave
https://administracionelectronica.gob.es/ctt/clave

Cl@ve: Identidad electrónica para las Administraciones

Descripción:

Cl@ve es un sistema de Identificación, Autenticación y Firma Electrónica para los ciudadanos común a todo el Sector Público Administrativo Estatal, basado en el uso de claves concertadas, conforme a la legislación vigente. 

Cl@ve identificación es un sistema orientado a unificar y simplificar el acceso electrónico de los ciudadanos a los servicios públicos, permitiendo que estos puedan identificarse ante la Administración mediante claves concertadas (usuario más contraseña), sin tener que recordar claves diferentes para acceder a los distintos servicios.

Cl@ve complementa los actuales sistemas de acceso mediante DNI-e y certificado electrónico, y está diseñado para ofrecer en un futuro la posibilidad de realizar firma en la nube, con certificados personales custodiados en servidores remotos. Es un sistema interoperable y horizontal que evita a las Administraciones Públicas tener que implementar y gestionar sus propios sistemas de identificación y firma, y a los ciudadanos tener que utilizar métodos de identificación diferentes para relacionarse electrónicamente con la Administración.

Cl@ve permite que las aplicaciones de administración electrónica puedan definir el nivel de aseguramiento en la calidad de la autenticación que desean (nivel QAA), en base a los datos que tratan y a la clasificación de seguridad siguiendo las recomendaciones del Esquema Nacional de Seguridad (Real Decreto 3/2010, de 8 de enero, por el que se regula el Esquema Nacional de Seguridad en el ámbito de la Administración Electrónica). El ciudadano usuario de los servicios de administración electrónica puede entonces escoger el modo de identificación que desea usar entre los disponibles para el nivel de aseguramiento requerido por la aplicación.

Cl@ve contempla la utilización de sistemas de identificación basados en claves concertadas (ej, sistemas de usuario y contraseña) y certificados electrónicos (incluyendo el DNI-e).

En lo que respecta a las claves concertadas, Cl@ve admite dos posibilidades de uso:

  • Cl@ve ocasional (Cl@ve PIN): sistema de contraseña de validez muy limitada en el tiempo, orientado a usuarios que acceden esporádicamente a los servicios, que se corresponde con el sistema PIN24H de la AEAT.
  • Cl@ve permanente: Sistema de autenticación diseñado para personas que necesitan acceder frecuentemente a los servicios electrónicos de la Administración. Se basa en el uso de un código de usuario, su DNI o NIE, y de una contraseña que se establece en el proceso de activación y que sólo debe ser conocida por el ciudadano. Para los servicios de administración electrónica que requieran un nivel de seguridad elevado, el sistema refuerza la autenticación con la solicitud de introducción de un código numérico de un solo uso (OTP).

Para poder utilizar estas claves concertadas y los servicios de firma en la nube*, los ciudadanos deberán registrarse previamente en el sistema, aportando los datos de carácter personal necesarios.

*Funcionalidad ofrecida por la plataforma Fire - Cl@ve Firma

URL información:

http://administracionelectronica.gob.es/ctt/clave
https://clave.gob.es/clave_Home/clave/

Documentaciónamap-clave (JavaDoc)
Binarioamap-clave (Jar)

Sin particularidades. Seguir las recomendaciones del fabricante.

Ejemplos de uso

Petición

Se generará un formulario para la petición similar al siguiente: Las etiquetas 'name' son case sensitive

       <form  action="${urlPasarelaClave}" method="post">                                                      
              <input type="hidden" name="RelayState" value="${relayState}">                                
              <input type="hidden" name="SAMLRequest" value="${SAMLRequest}">                              
       </form>

codificarPeticion

Método que devolverá un String que contendrá la petición al servicio de Clave (SAMLRequest), codificada.

String sml = servicio.codificarPeticion();

getRelayState

Método que devolverá un String que contendrá el RelayState necesario para el formulario de clave.

String relayState = servicio.getRelayState();

getFormularioClave


Método que retorna una String con la información necesaria para generar el formulario completo de petición al servicio de Clave.

String formulario = servicio.getFormularioClave();

decodificarRespuesta


Método que retorna un objeto ClaveRespuesta con la información de la respuesta del servicio de Clave, decodificada..

ClaveRespuesta informacionUsuarioIdentificado = servicio.decodificarRespuesta(sml);
© 2014 GOBIERNO DE CANTABRIA - AVISO LEGAL Y PROTECCIÓN DE DATOS