Buscar en xnoccio
Archivos del sitio DNIe
Plataforma de autenticación y firma digital sobre WebLogic
La nueva versión de Viafirma, coincidiendo con su instalación en dos importantes entidades bancarias, ofrece soporte oficial para Oracle WebLogic 11. De esta forma, junto con las plataformas ya soportadas por Viafirma (Tomcat 5, Tomcat 6, Websphere, etc…), ahora se incluye:
- Oracle Fusion Middleware 11 / Weblogic 11g.
- Oracle Enterprise Pack for Eclipse
- Sun JVM 5, Sun JVM 6
- SO: Linux, Windows Server
El proceso de instalación es muy sencillo, por lo que siguiendo los pasos del manual de instalación de Viafirma para Weblogic podremos disponer de sus servicios de autenticación (DNIe o cualquier otro certificado digital) y firma digital (XAdES, PAdES, CMS, CAdES, facturae, firma en lotes,…) desplegados sobre Weblogic .
Viafirma en Twitter
Hace algunos días que Viafirma tiene su canal twitter. Invitamos a todos los interesados en la plataforma a seguirnos por esa vía, donde intentaremos dar primicias, anunciar liberaciones de versiones, etc.
Autenticación Digital en Joomla
Introducción
Mediante el plugin para Joomla de Viafirma sus usuarios podrán autenticarse digitalmente con cualquier certificado digital, incluido el DNIe, para acceder a su portal Joomla de una forma muy sencilla.
Este módulo hace uso de los servicios de autentiación de la plataforma Viafirma (ya sea utilizando el servicio gratuito online de validación “on demand” o adquiriendo una licencia e instalando Viafirma en sus instalaciones “in house”).
Instalación
El plugin para Joomla de Viafirma se compone de dos partes, el plugin de autenticación propiamente dicho y un módulo de ejemplo que muestra el enlace de Accede con certificado en la página principal. Puede descargar ambos desde http://code.google.com/p/viafirma-joomla-client/downloads/list
Procedemos a la instalación de ambos componentes desde el menú de administración/Extensions/Install. Una vez instalados procedemos a su activación y configuración, indicando el USER KEY, el API KEY y la url del servidor de Viafirma que se desea utilizar ( “on demand” o servidor “in house”).
Uso
Una vez activado el módulo, deberá mostrarse un nuevo enlace con el que sus usuarios podrán acceder al portal con su certificado digital.
Pulsamos sobre el botón Acceder Certificado Digital y Viafirma autenticará al usuario solicitándole su certificado digital.
Nota: Esta página es totalmente configurable y adaptable a la identidad corporativa de su sitio web.
Y el resultado es que ya tenemos a nuestro usuario autenticado correctamente en Joomla.
Consideraciones
El componente actual está en fase beta por lo que si encuentra algún tipo de problema o simplemente quiere ayudarnos a mejorar el componente puede colaborar con su desarrollo en http://code.google.com/p/viafirma-joomla-client/
El servicio gratuito “on demand” está actualmente en fase de beta cerrada. Puede solicitar una clave de acceso y más información en el formulario de contacto
Drupal: nuevo módulo de autenticación con DNIe
En Viavansi hemos desarrollado un nuevo módulo para Drupal que permite la autenticación de usuarios mediante el DNIe y otros certificados digitales. Aprovechando el soporte de Viafirma para el protocolo de intercambio de identidades OpenId, la integración entre Drupal y nuestra Plataforma de Autenticación y Firma Digital ya es posible.
En este artículo, explicaremos cómo conseguirlo a través de esos sencillos pasos.
Primer Paso: descarga el módulo
En el siguiente enlace podrás descargar el nuevo módulo de autenticación para Drupal: viafirma-drupal-1.0.zip
Segundo Paso: instala tu módulo
Copia el módulo Viafirma en la carpeta /sites/all/modules. Recuerda que para ello, deberás tener permisos de escritura.
Tercer Paso: configura tu módulo
Una vez instalado deberás acceder a tu Drupal como Administrador para poder activar el nuevo módulo Viafirma.
Activa el Módulo
Configura el Módulo
Cada parámetro está comentado o dispone de valores ejemplos. También podrás acceder a la ayuda de configuración de viafirma, con información útil sobre el estado de la instalación del módulo.
Cuarto Paso: configura tus usuarios
La gestión de usuarios mantendrá el método user/password, por lo que éstos podrán seguir manteniendo esta forma de autenticación. Para aquellos que deseen autenticar con su DNIe u otro tipo de certificado, deberán asegurarse que su userid sea su número de DNI/NIE. En resumen, la instalación de este nuevo módulo te permitirá un doble método de autenticación: user/password y DNIe/certificados digitales.
Con el nuevo módulo, los usuarios tendrán un nuevo método de autenticarse, pudiendo hacerlo con su DNIe o con cualquier de los certificados soportados por Viafirma en estos momentos.
Ahora, toda la responsabilidad recae en Viafirma, encargándose ésta de recuperar el certificado del usuario (en cualquier formato, software (.p12, .pfx) o hardware (smartCard, DNIe, token), validar su estado y, en caso de una validación satisfactoria, devolver a Drupal el identificador del usuario, en este caso, su DNI o NIE.
Como resultado, nuestros usuarios perfectamente autenticados en Drupal.
Si ya usas Viafirma, y cuentas con portales desarrollados con Drupal, ahora es el momento de incorporar la autenticación con DNIe que necesitabas.
Próximamente, firmando documentos desde Drupal con tu DNIe.
XWiki: autenticando con Viafirma
Es de todos conocidos los grandes beneficios de usar una Wiki, para tener organizado y actualizado una gran cantidad de información y contenido, de forma que pueda ser rápidamente consultada y actualizada. Sin ninguna razón especial más allá de la simple curiosidad, vamos a poner como ejemplo en este caso una “implementación” wiki basada en Java (XWiki) y vamos a conseguir de forma sencilla que los usuarios puedan logarse con su Certificado Digital o DNI electrónico (DNIe).
Como no podría ser de otra forma, vamos a hacer uso del servicio de autenticación de la plataforma Viafirma, sirviéndonos de su cliente de autenticación, apoyándonos en su espectacular matriz de compatibilidad, además mantendremos el acceso por usuario/contraseña habitual de XWiki. Para realizar esta integración nos hemos basado principalmente en la documentación que podemos encontrar en las páginas oficiales de ambas plataformas, por un lado tenemos a Viafirma y por otro lado la web para desarrolladores de XWiki Development Zone
Primero una idea de lo que queremos hacer:
Dentro del formulario de login de XWiki, pondremos un enlace a una url dentro del propio XWiki que sea de la forma:
http://xwikiserver/.../viafirma.login
Esta URL será capturada dentro de la XWiki por un Filter que enviará al usuario automáticamente a Viafirma, que será el encargado de pedir el certificado digital al usuario y analizarlo (validarlo), tras esto enviará al usuario nuevamente a la XWiki (Viafirma coloca en la Session de esta petición el resultado de la validación del Certificado y será XWiki el encargado de tratar ese resultado) con una url con la forma:
http://xwikiserver/.../viafirmaAuthentication
El Request de esta URL será capturado por un Servlet que extiende al ViafirmaClientServlet, que nos proporciona el cliente de Viafirma, capturando de sesión el UsuarioGenericoViafirma que se ha obtenido. Este usuario aún no es un “usuario XWiki”. Este mismo Servlet se encargará de capturar la dirección a la que el usuario inicialmente quería acceder en XWiki y lo redirigirá allí de nuevo, siempre y cuando los resultados de Viafirma hayan sido válidos.
Por otro lado, extenderemos la clase XWikiAuthServiceImpl que implementa el servicio básico de autenticación de XWiki, introduciendo la posibilidad de realizar el Login en XWiki a partir de un UsuarioGenericoViafirma que tenemos en Sesión, para esto usaremos el API nativo de XWiki.
Por simplicidad para este ejemplo he adoptado la siguiente política de logado: dada una persona con NIF 12345678Z, su “Usuario XWiki” correspondiente será XWiki.12345678Z, es decir, debe existir un usuario dado de alta en XWiki cuyo Login coincida con el DNI de la persona. Cuando tengamos un UsuarioGenericoViafirma, consultamos su NIF y le preguntamos la XWiki a través de su API si existe usuario con ese Login. ¿Podría hacerse de forma más elaborada? Por supuesto, en vez de buscar un usuario con Login igual al Nif, podríamos haber definido una propiedad nueva para los Usuarios XWiki y para usarlo con este propósito, cuando lo hagáis no dudéis en poner vuestros comentarios al final de este post.
La secuencia de llamadas entre todos estos componentes lo podemos ver aquí:
Vamos a ir explicando paso a paso cómo hacer todo esto:
Paso 1.- Modificación del formulario de Login
Debemos editar el fichero templates/login.vm e introduciremos la redirección al servlet. Os propongo dos opciones, un enlace dentro de formulario ya existente y un formulario nuevo (para nuestro ejemplo funcionarán los dos):
...
<form>
...
#template("viafirmaLink.vm") <-Hiperenlace: opcion A
...
</form>
#template("viafirmaForm.vm") <- Formulario: opción B
...
Posteriormente copiaremos los ficheros viafirmaLink.vm y viafirmaForm.vm dentro del directorio templates.
Contenido de viafirmaLink.vm:
<div style="margin: 1em;"> <a href="viafirma.login">ACCESO CON CERTIFICADO DIGITAL</a> <br/> </div>
Contenido de viafirmaForm.vm:
<form id="loginFormViafirma" action="viafirma.login" method="post"> <div> <fieldset> <legend>Certificado Digital</legend> <div><span><input type="submit" value="VIAFIRMA"/></span></div> </div> </form>
Vemos que las dos opciones propuesta envian al usuario a la URL http://xwikiserver/…/viafirma.login .
Paso 2.- Implementación de un Filter, que será el encargado de capturar las peticiones a …/viafirma.login y enviar al usuario hacia Viafirma para que se autentique:
package org.viafirma.xwiki;
public class AuthenticationFilter implements Filter { ... }
Paso 3.- Implementación de un Servlet que recogerá de vuelta el resultado ofrecido por parte de Viafirma tras el análisis del certificado, capturando las peticiones a …/viafirmaAuthentication y coloque en sesión al usuario UsuarioGenericoViafirma:
package org.viafirma.xwiki;
public class AuthenticationServlet extends ViafirmaClientServlet implements Serializable { ... }
Paso 4.- Implementaremos un mecanismo usando otro Filter, para que Viafirma use una CSS definida por nosotros mismos. Viafirma “pide” por defecto una CSS llamada viafirmaStyle.css. En este ejemplo hemos optado por que XWiki sirva el CSS que usará Viafirma, aunque quizás lo más conveniente sea colocar este CSS en un servidor externo, por ejemplo un Apache, pero de todos modos vamos a hacerdo a modo de ejemplo. Bastaría con colocar una regla en Apache (por ejemplo) para que las peticiones al archivo viafirmaStyle.css no pasen a la XWiki, esto os lo dejo a vosotros.
Paso5.- Extenderemos el Servicio de Autenticación de XWiki, que sustituirá a la que tiene por defecto esta plataforma:
package org.viafirma.xwiki;
public class ViafirmaAuthImpl extends XWikiAuthServiceImpl implements Serializable { ... }
Posteriormente, deberemos modificar el fichero xwiki.cfg de XWiki añadiendo o modificando:
xwiki.authentication.authclass=org.viafirma.xwiki.ViafirmaAuthImpl
Paso 6.- Configuraremos el web.xml de XWiki para dar de alta estos Filters y Servlets que hemos creado, adaptando los valores de los parámetros a nuestro entorno (url de Viafirma y ruta al css):
... <filter> <filter-name>ViafirmaLoginFilter</filter-name> <filter-class>org.viafirma.xwiki.AuthenticationFilter</filter-class> <init-param> <param-name>VIAFIRMA_URL</param-name> <param-value>http://viafirma.viavansi.com/viafirma</param-value> </init-param> <init-param> <param-name>VIAFIRMA_WS</param-name> <param-value>http://viafirma.viavansi.com/viafirma</param-value> </init-param> </filter> <filter> <filter-name>ViafirmaStyleFilter</filter-name> <filter-class>org.viafirma.xwiki.ViafirmaStyleFilter</filter-class> <init-param> <param-name>PATH_CSS</param-name> <param-value>D:/xwiki/skins/colibri/colibri.css</param-value> </init-param> </filter> <filter-mapping> <filter-name>ViafirmaLoginFilter</filter-name> <url-pattern>*.login</url-pattern> </filter-mapping> <filter-mapping> <filter-name>ViafirmaStyleFilter</filter-name> <url-pattern>*.css</url-pattern> </filter-mapping> ... <!-- Servlet de Autenticación de Viafirma--> <servlet> <servlet-name>viafirmaAuthentication</servlet-name> <servlet-class>org.viafirma.xwiki.AuthenticationServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>viafirmaAuthentication</servlet-name> <url-pattern>/viafirmaAuthentication/*</url-pattern> </servlet-mapping>
Finalmente tendremos esto:
Teneis el proyecto mavenizado y todos los fuentes usados en este ejemplo aquí:

Para integrar este ejemplo en XWiki, sólo es necesario:
- Empaquetar las clases generadas en un .jar y copiarlo en el WEB-INF/lib de XWiki, también deberá copiar en esa carpeta todas las librerías dependientes.
- Realizar las modificaciones anteriormente indicadas en el formulario de Login.
- Copiar los archivos .vm a la ruta indicada anteriormente.
- Modificar y configurar el web.xml de XWiki.
Aquí os dejo unas capturas de pantalla para demostraros que todo esto funciona correctamente
Formulario para logarnos:
Finalmente, vemos que XWiki nos ha logado correctamente:
Selección del Certificado Digital en Viafirma, vereis que tiene el CSS que queremos (obviamente ese CSS se puede mejorar) :
Finalmente veremos que ya estamos logados en XWiki (enhorabuena !!) :
Esto nos da por pensar en próximos capítulos: ¿publicación de contenidos firmados digitalmente? Quién sabe…
Un Saludo.
Django y la autenticación digital (Prueba de concepto)
Aunque todavía no disponemos de un cliente oficial para plataformas basadas en python, gracias a que Viafirma usa desde su primera versión OpenId como protocolo de comunicación, podemos disponer de una integración básica con Viafirma en menos de 5 minutos (incluso en plataformas no soportadas oficialmente!)
Para ello nos dispondremos a crear un proyecto Django, a añadirle el paquete OpenId y a probar qué tal funciona la autenticación con el Dnie (o cualquier otro certificado digital) en Django!. Los pasos son:
Crear un proyecto Django,
django-admin.py startproject djangodnie
Añadir el soporte para OpenId instalando el paquete django_openid_auth en el sistema (o añadiendolo a nuestro proyecto). Optaremos por descargarlo y añadirlo a nuestro proyecto usando:
bzr branch lp:django-openid-auth
(si no dispones de Bazaar toca instalarlo o descargar por cualquier otra vía el paquete)
Activar el paquete en el proyecto, editando el fichero settings.py añadiendo django_openid_auth a INSTALLED_APPS y configurando el nuevo paquete. La configuración quedará similar a:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'django_openid_auth',
)
AUTHENTICATION_BACKENDS = (
‘django_openid_auth.auth.OpenIDBackend’,
‘django.contrib.auth.backends.ModelBackend’,
)
OPENID_CREATE_USERS = True
OPENID_UPDATE_DETAILS_FROM_SREG = True
OPENID_USE_AS_ADMIN_LOGIN = False
LOGIN_URL = ‘/openid/login/’
LOGIN_REDIRECT_URL = ‘/admin’
OPENID_SSO_SERVER_URL=’http://viafirma.viavansi.com/viafirma/pip/django’
Hay que resaltar el parámetro OPENID_SSO_SERVER_URL=’http://viafirma.viavansi.com/viafirma/pip/’ que indica a Django dónde se encuentra el Personal Identity Provider (pip) ofrecido por Viafirma.
Una vez realizados estos cambios, y tras actualizar el modelo con syncdb tendremos en un tiempo récord el sistema preparado para autenticar digitalmente con Viafirma.
Ya podremos acceder a la administración de Django autenticándonos con Viafirma usando la url /openid/login.
Una vez demostrada la viabilidad de la integración, en breve esperamos ofrecer un cliente completo de Viafirma en esta maravillosa plataforma.
Recuerda que este ejemplo de configuración es para un entorno de pruebas, si estás interesado en utilizar nuestro servicio de autenticación “on-demand” o instalar la plataforma en tus instalaciones contacta con nosotros en http://www.viafirma.com
Ampliando nuestra matriz de compatibilidad. Internet Explorer 9
En Viafirma, continuando con el compromiso de soporte universal de navegadores, nos hemos adelantado al lanzamiento del futuro Internet Explorer 9 y hemos realizado una completa batería de pruebas.
Los resultados han sido muy buenos; las pruebas se realizaron sobre la versión preview de Internet Explorer 9 (1.9.7745.6019) usando un usuario sin permisos de administración sobre diferentes versiones de Windows 7. Gracias a estas pruebas podemos garantizar que, salvo cambios radicales en la versión final, los usuarios de Internet Explorer y Windows 7 podrán seguir firmando (con su DNIe o cualquier otro certificado) en el futuro.
Si quieres probarlo por ti mismo, te invitamos a que pruebes http://viafirma.viavansi.com/viafirma
Usando lectores de tarjetas inteligentes (DNIe) en Linux [C3PO, GEMPLUS, BIT4ID]
El problema a la hora de utilizar lectores de tarjetas inteligentes en Linux normalmente es la existencia de drivers, ya que en ocasiones los fabricantes sólo se preocupan por la versión Windows, afortunadamente esta situación ha cambiado y actualmente es muchísimo más fácil hacer uso de estos lectores en Linux.
Extraído de las prueba de compatibilidad que en su día realizamos para comprobar el comportamiento de Viafirma con estos lectores , vamos a hacer un pequeño repaso por fabricante sobre cómo instalarlos:
Instalación del driver para un lector Bit4Id, C3PO y GEMPLUS.
La mayoría de las distribuciones (incluida Ubuntu) ya disponen de los drivers empaquetados, por lo que sólo será necesario la instalación de estos nuevos paquetes (por ejemplo usando synaptic en el caso de Ubuntu). En caso de que no existan paquetes para su versión de Linux, el fabricante proporciona los fuentes de los drivers en formato tar.gz
Los paquetes que deberemos instalar son: libccid (Paquete de driver compatible con la mayoría de los lectores) y libacr38u ( Driver para el miniLector Essential y otros lectores con chip ACR38U) haciendo uso del gestor de Paquetes.
Si no deseamos utilizar el instalador visual, desde el terminal podemos ejecutar:
sudo apt-get install libccid libacr38u
Instalar la libreŕia para tarjetas inteligente (OpenSC)
Al igual que en el apartado anterior, es posible realizar esta instalación desde el instalador visual o desde el terminal ejecutando: sudo apt-get install opensc
Instalar los drivers para el DNIe.
En el caso particular del DNIe, también será necesario la instalación del paquete opensc-dnie, que aunque está disponible para su descarga en http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/index.html.
Probamos nuestro nuestro lector con Viafirma
Para ello, con el DNIe ya introducido en nuestro lector, accedemos con Safai o Firefox a la demo de Viafirma .
Problemas conocidos
Debido a un problema en la librería OpenSC no es posible que dos aplicaciones hagan uso a la vez del lector de tarjetas, por lo que si en Firefox se encuentra configurado como módulo el driver del DNIe no será posible desde el Applet de Viafirma.
http://www.opensc-project.org/opensc/ticket/134
Comandos avanzados
Para comprobar que el lector es reconocido por el sistema podemos instalar las librerías pcsc-tools
sudo apt-get install pcsc-tools
y ejecutar el comando pcsc_scan para detectar los lectores instalados en el sistema.
Viafirma 2.5 – Soporte para PHP
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
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.
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.
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 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 !!






















