cliente-firma

Última modificación por Administrator el 2019/11/04 12:20

ClienteFirma-3.3 2012/06/29

  • Nueva version adaptada a nuevas versiones de Firefox.
  • Nuevo método: firmarSinAutenticacionDNIE

ClienteFirma-3.2 2012/01/31

  • Se soluciona fallo al cargar los js usando referencias absolutas bajo el  dominio de un tercero.

ClienteFirma-3.2 2011/11/22

  • Se añade fachada al cliente de @firma. (afirmaCliente.js)
<dependency>
<groupId></groupId>
<artifactId>clienteFirma (deprecated)</artifactId>
<version>3.3.1</version>
</dependency>

Inclusión de librerías JavaScript

El primer paso para la incorporación de cliente es la inclusión de las librerías de javascript que vamos a utilizar:

<script type="text/javascript" id="afirmacliente.js" src="https://aplicaciones6.cantabria.es/clientefirma/js/constantes.js"></script>
<script type="text/javascript" src="https://aplicaciones6.cantabria.es/clientefirma/js/instalador.js"></script>
<script type="text/javascript" src="https://aplicaciones6.cantabria.es/clientefirma/js/firma.js"></script>
<script type="text/javascript" src="https://aplicaciones6.cantabria.es/clientefirma/js/afirmaCliente.js"></script>

Inicialización


A continuación se incorporará la llamada de inicialización de la librería al principio del body

<script type="text/javascript">
inicializaClienteFirma();
</script>

Los ficheros .js también son accesibles vía http

La carga de la librería (la llamada a inicializaClienteFirma) debe hacerse al principio del body como se muestra ya que de hacerse en el proceso de carga (método onload) o en otro momento anterior provocaría que no estuviesen cargados los prerrequisitos de invocación de la función y, por lo tanto, no se ejecutase correctamente.

Es importante especificar el id de la referencia al recurso constantes.js dado que se utiliza para obtener la url de referencia.

Configuración de la JVM 1.7 de cliente para descarga de componentes de firma

  • Acceder al panel de control
    • XP: Inicio -> Configuración -> Panel de Control
    • W7: Inicio -> Panel de control
  • Pulsar sobre el icono Java

jvm17firma1.png

  • Ir a la pestaña de seguridad y marcar las opciones que aparecen en rojo

jvm17firma2.png

N/A

NombreclienteFirma (deprecated)
IdentificadorclienteFirma (deprecated)
Grupo
Versión3.3.1
LicenciaGPLv3
DesarrolladorGobierno de España / Gobierno de Cantabria
Descripción

Componente para el firmado de información a través de certificados utilizando únicamente tecnología de cliente.

Sin particularidades. Seguir las recomendaciones del fabricante.

Firmar datos

firmar(tipoFirma,datos,filtroTitular,filtroEmisor,filtroSoloFirma,firmaSalidaEnFichero);

Esta función espera recibir los siguientes valores como parámetros:

  • TipoFirma: indica el tipo de firmar a aplicar sobre el contenido, puede tener uno de los siguientes valores:
    • 1: Indica que se va a firmar texto en base 64 y se va a mostrar únicamente la firma (CMS/PKCS#7 Detached).
    • 2: Indica que se va a firmar texto en base 64 y se va a mostrar la firma y el contenido firmar (CMS/PKCS#7 Attached).
    • 3: Indica que se va a firmar el contenido de un fichero PDF codificado en base 64 (PDF Attached).
    • 4: Indica que se va a firmar un fichero en base 64 en formato Xades Detached Implicito.
    • 5. Indica que se va a firmar un fichero en base 64 en formato Xades Detached Explicito.
    • 6. Indica que se va a firmar fichero en base 64 en formato Xades Enveloping Implicito..
    • 7. Indica que se va a firmar fichero en base 64 en formato Xades Enveloping Explicito.
    • 8. Indica que se va a firmar fichero en base 64 en formato Cades Implicito.
    • 9. Indica que se va a firmar fichero en base 64 en formato Cades Explicito.
  • Datos: datos a firmar codificados en base 64.
    • filtroTitular: indica el texto de filtrado del titular a utilizar para mostrar la lista de certificados con los que se firmará el contenido (según estándar RFC-2254)
    • filtroEmisor: indica el texto de filtrado del emisor a utilizar para mostrar la lista de certificados con los que se firmará el contenido (según estándar RFC-2254)
    • filtroSoloFirma: indica si se deben filtrar los certificados que no están diseñados para firma electrónica (true) o por el contrario se muestran todos (false).
    • firmaSalidaEnFichero: indica si la firma resultado de la operación se va a guardar en un fichero (true) o en un string (false).

Por ejemplo, si queremos firmar el texto "facturación mensual" (y su codificación en base64 es "ZmFjdHVyYWNp824gbWVuc3VhbA==") con un certificado de firma (el que el usuario desee)  podríamos invocar a la función de la siguiente manera:

var firmado = firmar("1","ZmFjdHVyYWNp824gbWVuc3VhbA==",null,null,false, true);

De esta manera, tras la invocación quedaría en la variable "firmado" el contenido de la firma generada (codificada en base 64) con el certificado seleccionado por el usuario.

Adicionalmente dispondremos de una función firmarSinAutenticacionDNIE, con el mismo funcionamiento que firmar, que filtrará el certificado de autentificación del DNI electrónico.

Según información obtenida de la DIRECCION GENERAL PARA EL IMPULSO DE LA ADMINISTRACIÓN ELECTRÓNICA, Plataforma de Validación y Firma @firma, Manual de Integración Página 90 : Si su sistema requiere o permite que el usuario envíe ficheros mayores de 4 megas de tamaño, consulte el apartado 13.3 de dicho manual.

13.3 Procedimiento de carga para ficheros mayores de 4MB

Al ejecutar el Cliente @firma en un entorno con Java 6u10 o superior y el plugin de próxima generación activado (configuración por defecto), nos encontramos con que no es posible convertir ficheros de datos mayores de 4MB a cadenas Base 64. Esta operación es necesaria para posteriormente adjuntar los datos firmados (o la firma implícita generada) al formulario Web a través del cual se enviará la información al servidor. Esta limitación también puede afectar a la generación de firmas XML implícitas de ficheros mayores de 4MB. 

© 2014 GOBIERNO DE CANTABRIA - AVISO LEGAL Y PROTECCIÓN DE DATOS