Etiqueta: autenticación digital

Viafirma 2.5 – Soporte para PHP

23 feb 2010

En los próximos días liberaremos nueva versión 2.5 de Viafirma caracterizada, principalmente, por el soporte para PHP y mejoras en el proveedor de servicios OpenID. Fueron constantes las peticiones y consultas recibidas por clientes en las que necesitaban de una Autenticación basada en el uso del DNIe desde portales públicos o restringidos (intranet) desarrollados éstos en PHP.

Con esta nueva versión, y con el uso del nuevo cliente desarrollado para PHP, se permitirá a los integradores incorporar en sus portales los servicios de Autenticación haciendo uso del DNIe y, por supuesto, del resto de Certificados Digitales que ya veníamos soportando.

En casa ya nos estamos beneficiando de esta nueva versión, integrando nuestras plataformas Moodle (e-learning para uso interno) y Drupal (cms) con Viafirma para autenticarnos con el DNIe. Otros desarrollos específicos en PHP, como TimeTracker (control de imputaciones horarias), también han sido integrados para permitir el acceso mediante DNIe.

Resumen Viafirma 2009

29 dic 2009

A punto de finalizar este 2009, queremos hacer un repaso de los logros obtenidos por VIAFIRMA en las implantaciones de este año que estamos a punto de terminar.

Sector Público

Como no podía ser de otra forma, nuestro repaso empezará por la implantación con mayor número de operaciones realizadas, es decir, la implantación de Viafirma en la Fundación Tripartita para la Formación en el Empleo.

Fundación Tripartita

En apenas 10 meses desde su paso a producción, han superado los 2,6 millones de transacciones, entre autenticaciones y firmas, tal y como se resumen en las siguientes gráficas.

Transacciones totales en Tripartita

Las operaciones fueron realizadas con certificados digitales de varias Autoridades Reconocidas por la plataforma, entre ellas, FNMT, DNIe, Camerfirma, Izempe, Ancert o ANFAC, pero sin duda, el grueso de operaciones fueron realizadas por los certificados de empresa de la FNMT, tal y como se muestra en la siguiente gráfica.

Reparto de CA

Ratios de Efectividad

Las siguientes gráficas muestran el ratio de efectividad de las autenticaciones y firmas completadas. Si tenemos en cuenta que para estas métricas se tomaron valores de cierre de sesión sin finalizar el proceso de firma o autenticación (por ejemplo, un usuario se autentica en el sistema, y por cualquier motivo ajeno al sistema, decide cerrar sin firmar el documento solicitado), estos resultados demuestran un excelente comportamiento.

Ratio de Efectividad en las Firmas

Ratio de Efectividad en las Autenticaciones
Ratio de Efectividad en Autenticaciones

Junta de Andalucía

La Junta de Andalucía está estudiando la utilización de Viafirma como cliente de autenticación y firma digital. Gracias a ese uso la Junta de Andalucía se beneficiaría de la usabilidad y neutralidad tecnológica que caracteriza a Viafirma, tal y como se recoge en nuestra Matriz de Compatibilidad, probablemente una de las más completas del mercado.

Estas implantaciones se sumarían a otras implantaciones en el sector público realizadas en República Dominicana, donde organismos como la Direcc. Gral. de Impuestos Internos (DGII – el equivalente a la Agencia Tributaria), o el Ministerio de Educación Superior, Ciencia y Tecnología (SEESCyT) ya hacen uso de Viafirma para completar transacciones de autenticación y firma mediante el uso de Certificados Digitales reconocidos por el INDOTEL, órgano regulador.

Sector Educativo

A la implantación de Viafirma el año anterior en la Universidad Iberoamericana (UNIBE), en este 2009 se le suman las implantaciones de Viafirma en la Universidad de Extremadura y la Universidad de Cádiz, que dispondrá de un escritorio centralizado de firmas.

Sector Productivo

Toyota España integró su ERP con Viafirma para gestionar la firma electrónica de todas sus facturas, haciendo uso del formato facturae 3.1 que ofrece Viafirma, siendo reconocida por la propia Agencia Tributaria como solución compatible con el formato homologado.

En las Islas Baleares, su Colegio de Farmacéuticos (COFIB), completó la integración con Viafirma de su sistema de gestión para la Receta Electrónica.

Alianzas

En este 2009 afianzamos colaboraciones comerciales y técnicas con la Autoridad de Certificación Firmaprofesional. También extendimos nuestra relación comercial en el mercado latinoamericano, con colaboraciones en Chile, Panamá, Costa Rica y República Dominicana.

Roadmap

En 2010 Viafirma continuará con la incorporación de nuevas funcionalidades, nuevos formatos de firma, nuevas Autoridades de Certificación reconocidas. Las mejoras introducidas durante este año que terminamos, y las que incluiremos en el próximo, sólo son posibles con el apoyo mostrado en todas nuestras implantaciones, también reflejado en los numerosos correos de apoyo y felicitaciones recibidos y, como no, gracias al excelente equipo que hay detrás de Viafirma.

Por todos ellos, gracias y feliz entrada de año 2010 !!

Java / JEE : Firma digital y autenticación con Viafirma (I)

29 abr 2009

Este artículo pretende ser una guía rápida qué explique cómo realizar una operación de autenticación con Viafirma, de cara a obtener los datos del certificado digital del usuario.

Aunque Viafirma ofrece todos sus servicios mediante métodos estándar (Servicios Web y OpenID), también disponemos  de un cliente para Java que permite de una forma muy sencilla integrar aplicaciones desarrolladas en esta tecnología con los servicios que ofrece Viafirma.

En este artículo mostraremos cómo añadir las dependencias necesarias a un proyecto web Java para hacer uso de los diferentes servicios de firma digital (XAdES, Facturae, PDF sign, etc… ), autenticación (FNMT, Camerfirma, Firma profesional, Ancert, ACA, Izempe,  DNIe, etc…),  custodia (integridad, etc…)  y verificación (CRLS, OCSP, etc…).

El procedimiento sería el siguiente:

1.- Añadir las dependencias

Viafirma está preparado para trabajar con Maven; en este tipo de proyectos sólo será necesario añadir la dependencia a viafirma-client de la siguiente manera:


<!--  Dependencias para el cliente viafirma con soporte de OpenID -->
<dependency>
 <groupId>org.viafirma</groupId>
 <artifactId>viafirma-client</artifactId>
 <version>[2.2.3,2.3.0)</version>
</dependency>

Y poner el repositorio de librerías de VIAVANSI para poder recuperar esta librería:

http://repositorio.viavansi.com/repo

Si el proyecto no está basado en Maven, necesitaremos añadir manualmente los .jar que se incluyen en el directorio dependency dentro del distribuible de viafirma-client.

2.- Crear la página de acceso a la autenticación

A modo de ejemplo básico vamos a crear una jsp que inicialice el cliente de Viafirma y permite al usuario iniciar el proceso de autenticación pulsando en un enlace. Este cliente utilizará el servidor público de pruebas de Viafirma desplegado en las instalaciones de Viavansi.

<%@page import="org.viafirma.cliente.ViafirmaClientFactory"%>
<%@page import="org.viafirma.cliente.ViafirmaClient"%>
<body>
<%
if (!ViafirmaClientFactory.isInit()) {
 // Configuración básica del cliente.
 ViafirmaClientFactory.init("http://viafirma.viavansi.com/viafirma","http://viafirma.viavansi.com/viafirma");
}

if(request.getParameter("autenticar")!= null){ ViafirmaClient viafirmaClient = ViafirmaClientFactory.getInstance(); // Iniciamos la autenticación indicando la uri de retorno. viafirmaClient.solicitarAutenticacion(request, response,"/viafirmaClientResponseServlet"); } %> <p><a href="?autenticar=true">Solicitar autenticación</a></p> </body>

Cuando el usuario pulse sobre el enlace “Solicitar autenticación” el usuario será redirigido a Viafirma, donde se le solicitará su certificado digital. Viafirma validará y tratará el certificado del cliente y retornará el resultado de la autenticación a la aplicación cliente que estamos desarrollando. En la jsp de ejemplo le indicamos a Viafirma que la url de retorno (donde Viafirma debe mandarnos el resultado de la autenticación) es /viafirmaClientResponseServlet .

3.- Procesar la respuesta

Una vez que Viafirma obtenga la información contenida en el certificado digital, retornará los datos a la url que la aplicación cliente le indicó, por lo que el siguiente paso será definir un servlet (cuya URL en este ejemplo es /viafirmaClientResponseServlet) que se encargue de gestionar la respuesta. Para ello crearemos un servlet que extiende de org.viafirma.client.ViafirmaClientServlet, e implementaremos los métodos error(…), cancel(…) y authenticateOK(…):


public class ViafirmaClientResponseServlet extends ViafirmaClientServlet{

@Override public void authenticateOK(UsuarioGenericoViafirma usuario,HttpServletRequest request, HttpServletResponse response) { // Lógica específica de la aplicación para gestionar el resultado de la autenticación request.setAttribute("usuarioAutenticado", usuario); request.getRequestDispatcher("/resultadoAutenticacion.jsp").forward(request, response); }

@Override public void cancel(HttpServletRequest request, HttpServletResponse response) { // Gestiónn de cancelaciónn del usuario al autenticar o firmar request.setAttribute("error", "El usuario ha cancelado la autenticación"); request.getRequestDispatcher("/resultadoAutenticacion.jsp").forward(request, response); }

@Override public void error(CodigoError codError, HttpServletRequest request, HttpServletResponse response) { // Gestión de error al autenticar o firmar request.setAttribute("codError", codError); request.getRequestDispatcher("/resultadoAutenticacion.jsp").forward(request, response); }

}

En este ejemplo vemos un ejemplo de implementación, en el que la aplicación simplemente guarda en request el objeto UsuarioGenericoViafirma que contiene todos los datos que aparecen en el certificado digital. Obviamente cada aplicación, en función de su lógica de negocio, deberá realizar la implementación específica que requiera.

4.- Adaptar la plataforma al skin de la aplicación cliente.

La página donde se solicita el certificado digital reside en Viafirma. Sin embargo, a través de CSS podremos conseguir que el usuario no aprecie un cambio de interfaz, de forma que el salto de la aplicación a Viafirma parezca transparente a nivel estético.

Para hacer que Viafirma se adapte fácilmente al estilo visual de nuestra aplicación cliente, sólo tendremos que colocar el fichero viafirmaStyle.css en el raíz de nuestra aplicación y redefinir el aspecto visual de la interfaz  de Viafirma.

5.- Descarga el cliente y pruébalo tu mismo

Descargar ejemplo de autenticación utilizando el cliente Java para obtener los datos del certificado digital.

Próximamente: Java / JEE : Firma digital XADES y facturae con Viafirma (II)

Viafirma entra en producción en la Fundación Tripartita

17 mar 2009

En VIAVANSI estamos de enhorabuena, ayer lunes 16/03/2009 entró en producción la Aplicación de gestión de las Acciones formativas de las empresas, de la Fundación Tripartita para la Formación en el Empleo (antiguo FORCEM). En esta institución han escogido Viafirma para introducir las funcionalidades de autenticación con certificados digitales con multitud de CA’s como DNI electrónico, FNMT, IZENPE, Camerfirma, ANCERT, Firma Profesional, etc.

viafirma_loading.png

La aplicación permite a las empresas que realicen actividades de formación comunicar el inicio y finalización de las mismas a la Fundación, como establece la Orden Ministerial que las regula. El alcance final de la aplicación abarca a toda empresa española que tenga planes internos de formación, por lo que el volumen de transacciones que debe soportar es de una enorme magnitud. Pasadas unas horas de la presentación y puesta en marcha de la aplicación ya hemos podido comprobar que se han efectuado varios miles de operaciones de autenticación y firma digital satisfactoriamente. Las estimaciones de carga previstas sobrepasan las 80.000 firmas digitales diarias en momentos de uso masivo de la aplicación.

Gracias al uso de Viafirma, la Fundación Tripartita garantiza un acceso universal a los usuarios. Ello es debido a la gran universalidad de Viafirma, que permite a los usuarios autenticarse y firmar con sus certificados digitales en cualquier sistema operativo (Windows, Linux, Mac, etc.), navegador (Internet Explorer, Firefox, Safari, Google Chrome, etc.), tipo de certificado y disposición en software, tarjeta criptográfica, token USB, etc.

En las últimas semanas varias instituciones han optado por Viafirma como solución de autenticación y firma digital. Además de la propia Fundación Tripartita, Viafirma ha sido implementado en Toyota España, Col·legi Oficial de Farmacèutics de les Illes Balears (COFIB), en el proyecto de factura electrónica Pymetronica de ETICOM…

viafirma_certs.png

www.viafirma.com

03 sep 2008

Debido al gran interés que esta generando Viafirma, nuestra plataforma de Autenticación y Firma Digital en su versión comercial, hemos creado viafirma.com, en la que se recoge toda la información relacionada con las versiones comerciales de la plataforma ( Versión Standard y Advanced).

 ¿Por qué una versión comercial de Viafirma?

En la mayoría de los casos, nuestros clientes desean utilizar Viafirma sobre aplicaciones que no son compatibles con GPL; además, nos exigen soporte técnico, mantenimiento, plazos para nuevos desarrollos, tiempos de respuesta, una documentación completa, y en resumen, unas garantías que no ofrece la versión GPL. Por este motivo y para poder financiar los nuevos desarrollos a los que nos estamos enfrentando, hemos creado el portal  viafirma.com.

¿Implica esto un cambio de filosofía de la versión Software Libre?

No. Tenemos tanto que agradecer a la comunidad que nuestra intención sigue siendo apostar por una plataforma libre . De hecho acabamos de liberar como GPL la nueva versión de Viafirma 1.3.2, si lo desean pueden consultar la lista completa de nuevas funcionalidades en viafirma.org.

 

Viafirma.org 1.2.5

21 abr 2008

Ya tenemos nueva versión de Viafirma (Nuestra plataforma de Firma y Autenticación Digital),  la lista completa de cambios es:

  • Migración del stack WebSerice utilizado, antes Xfire, ahora JAX-WS 2.1.
  • Nuevo método para el envío de emails firmados digitalmente.
  • Cache de CRLs para minimizar el número de accesos a CRLs externas.
  • Soporte de firma en servidor (indicando el alias y el password) y custodia de documentos firmados offline.
  • Actualizada la versión de la librería OpenId para el soporte completo de OpenId 1.1 y OpenId 2.0 (draft)
  • Mejorada la documentación de instalación y creada aplicación pre-empaquetada .war .
  • Añadido digito de control al identificador de firma.
  • Validación y recuperación de documentos custodiados mediante el identificador del documento.
  • Uso de friend-url para el acceso a documentos custodiados, ej:http://viafirma.viavansi.com/viafirma/v/Y1MW-9LE3-JE81-2087-8160-3774.
  • Mejorado el renderizado del QR-CODE, añadida información hash del documento y mejoradas en el formato de la etiqueta.
  • Mejorado el renderizado del justificante pdf, para formatos no A4.
  • Parametro para control de acceso al Servicio Web , ALLOWED=”ip,ip2″ indica que ips tienen permiso para acceder al servicio web.
  • Soporte de certificados almacenados en “Acceso a Llaves” de Mac OSX (Con esto ya tenemos soporte completo de Mac OS X).
  • Solución de bugs en el css para IE6 e IE7.
  • Solución de bug en el envio de mimetype al navegador.
  • Añadido método al api cliente, que permite retornar una imagen png con el código de barras y QR code del documento custodiado.
  • Se ha añadido a la demo de la plataforma la posibilidad de firmar un documento de ejemplo, sin necesidad de subir uno ya existente.
  • Mejorado el parseador de Oids, para extraer correctamente los datos del certificado.

Validando el DNI electrónico con Viafirma en Windows

12 nov 2007

Como bien anunció Félix hace unos días, Viafirma ya soporta la validación del DNI electrónico.

Para aquellos lectores que no lo sepan, Viafirma es uno de nuestros productos ASVPDM (Aplicaciones Software de Viavansi Para Dominar el Mundo). Es una VA (Validation Authority) Open Source; una VA permite abstraer las operaciones de autenticación y firma digital con certificados digitales. Tras la última release, se convierte en la primera plataforma 100% software libre que permite la validación del DNI electrónico.

Viafirma es un servicio externo que se encarga de estas operaciones, y da un API a terceras aplicaciones que necesitan autenticación o firma digital. Es decir, podemos disponer de una sola instancia de Viafirma en una red, y varias aplicaciones cliente.

Durante el proceso de desarrollo de la última release hemos hecho diferentes pruebas de soporte. En este post voy a tratar de explicar el sencillo proceso para utilizar el DNI electrónico (DNIe) sobre Windows. En mi caso he usado Windows XP, aunque en principio Vista está perfectamente soportado.

Los pasos a seguir son los siguientes:

  1. Tener un DNI electrónico :-D Esto es sencillo, lo hacen sobre la marcha en varias comisarías de Policía de España. Además, no hace falta que tengas caducado el anterior. La tasa es de 6,70€. Me fijé que tardó muchísimo en la escritura de los certificados (unos 10 minutos). Con el DNIe te dan un sobre con un PIN que protege la tarjeta. Lo mejor es cambiarlo inmediatamente. En la Comisaría donde lo saqué (Oviedo) tenían un par de kioskos interactivos donde se podía cambiar de forma sencilla.
  2. Instalar los drivers de algún lector de tarjetas criptográficas. En mi caso instalé 2 que tenía antiguos para la lectura de tarjetas donde había alojado mi certificado de la FNMT-RCM; en concreto, un lector de C3PO (el típico del CryptoKit) y un lector de Bit4id. Aprovecho para recomendar encarecidamente este proveedor, son gente realmente seria y rápida.
  3. Instalar librerías del DNI electrónico. En la web del proyecto se puede descargar un fichero ZIP instalable que contiene el CSP (“Cryptographic Service Provider”). En Linux, Unix o MAC usaríamos un PKCS#11.
  4. Listo para probar!!! Tras reiniciar (mérito de nuestro MS Windows) enchufamos el lector al USB e insertamos el DNI electrónico. Probamos con la demo de Viafirma tanto la autenticación como la firma. La demo es una sencillísima aplicación cliente de Viafirma que simplemente solicita el certificado para autenticar, lo valida y muestra su contenido (también permite una firma de fichero). Para acceder a la lectura, la librería CSP del DNIe nos pide de vez en cuando el PIN de la tarjeta que ya habíamos modificado en la Comisaría de Policía. Escogemos el certificado adecuado, y voilá! Todo funcionando perfectamente

A este respecto cabe destacar algunos aspectos:

  • El DNI electrónico incorpora 2 certificados, uno destinado a autenticación y otro destinado a Firma.
  • Para la validación del DNIe se ha implementado la validación mediante OCSP. No existe la posibilidad de validar directamente el estado del certificado contra una CRL.
  • El acceso a la tarjeta es tremendamente lento (minutos). No sé si será cosa de Windows, o porque ninguno de los 2 lectores que probé están optimizados para el DNIe, pero el hecho de que tardase 10 minutos en generar los certificados durante la emisión me hace sospechar que es que es así. Sinceramente, si se confirma, me parece un freno terrible para la universalización del DNI electrónico.

Seguiremos posteando los pasos para utilizar el DNI electrónico en otros sistemas operativos (Linux y Mac).

Viafirma ya soporta el DNI electrónico

08 nov 2007

Con el lanzamiento de la versión 1.2 de Viafirma, nuestra plataforma de validación y firma electrónica ya soporta el uso del DNI electrónico de la Dirección general de la Policía y de la Guardia Civil.

Con esta funcionalidad, Viafirma se convierte en la primera plataforma software libre con soporte para el eDNI.

Si lo desea puede probar su dni electrónico en la aplicación de demostración.

Gracias a Viafirma 1.2 ahora es mucho mas fácil que otras aplicaciones hagan uso del eDNI para autenticar a sus usuarios o solicitarles que autoricen o firmen documentos y transacciones.

Logo eDNI

Principales cambios en la versión 1.2:

  • Soporte para la validación de certificados utilizando OCSP (Online Certificate Status Protocol RFC 2560)
  • Soporte para la autenticación utilizando el DNI electrónico.
  • Soporte para la firma de documentos utilizando el DNI electrónico.
  • API cliente WebSercice, con lo que ahora tenemos disponibles tres APIs: RMI, WebService y OpenId.
  • Admite la configuración offline, desactivando la validación de certificados revocados.

Una vez alcanzadas las funcionalidades básicas, y con la experiencia adquirida en las instalaciones y adaptaciones que hemos realizado de la plataforma, en la próxima versión nos centraremos en mejorar la documentación pública, crear una guía con los errores mas comunes encontrados y mejoras en los ejemplos de integración.

Logotipo de Viafirma

 

Viafirma.org

09 sep 2007

Después de muchos meses de trabajo, hemos liberado como Software Libre la primera versión Alfa de nuestra plataforma de Autenticación y Firma Digital (Verify Authority).

Les invitamos a probar la versión de demostración en http://viafirma.viavansi.com/viafirma.

El sistema, que inicialmente surgió como un proyecto fin de carrera, es una plataforma que ofrece los servicios de Autenticación y Firma Digital a las aplicaciones Web que lo necesiten, aislando a las aplicaciones de las complejidades relacionadas con el uso de este tipo de tecnologías.

Sus principales características son:

  • Centralización de los servicios de Autenticación, Firma y Custodia Digital.
  • Uso de XMLSignature como formato de datos.
  • Uso de OpenId como protocolo de intercambio en el proceso de autenticación.
  • Api Cliente para la integración con aplicaciones de terceros.
  • Licencia Open Source, tipo GPL y sistema multiplataforma.

Más información sobre el proyecto: www.viafirma.org