Viafirma ya disponible en la Apple Store y Android Market

Posteado por Felix G. Borrego el 29 de Julio de 2010

El componente de Viafirma para Android/iPhone/iPad ya está disponible tanto en la App Store como el Android Market de forma totalmente gratuíta, de esta forma Viafirma se convierte en la primera plataforma en soportar la autenticación y firma digital en estos dispositivos!.


Disponible en App Store y Android Market cualquier país en Ingles, Frances y Español.

Una vez más, la plataforma amplía su Matriz de Compatibilidad, garantizando el principio de Neutralidad Tecnológica citada en la Ley 11/2007 de Acceso Electrónico de los Ciudadanos a los Servicios Públicos.

Formatos de firma  disponibles desde iPad/iPhone/Android:

  • XMLSignature
  • XAdES-BES
  • XAdES-EPES
  • XAdES-T
  • XAdES-C
  • XAdES-XL
  • XAdES-A
  • CMS (Cryptographic Message Syntax)
  • Facturae
  • PDF-Signature

APIs y módulos disponibles para la integración de terceros:

  • Java
  • .Net
  • Php
  • Pyton
  • Drupal
  • Joomla
  • Django

Para ofrecer servicios a estos dispositivos puedes puedes instalar Viafirma en tus instalaciones sobre:

  • Websphere
  • Weblogic
  • Tomcat 5, Tomcat 6
  • GlassFish v3

O si lo prefieres puedes utilizar directamente nuestro servicio “on demand” y ofrecer a tus clientes autenticación y firma digital de una forma muy sencilla y económica.

Autoridades de certificación soportadas por la plataforma:

  • Firma Profesional
  • Camerfirma (Cámara de Comercio)
  • Ancert (Agencia Notarial de Certificación)
  • Izenpe (Gobierno Vasco)
  • ACA (Autoridad de Certificación de la Abogacía)
  • ANF AC (Asociación Nacional de Fabricantes)
  • Avansi (primera CA autorizada en la República Dominicana)
  • Cámara de Comercio y Producción de Santo Domingo (República Dominicana)
  • Firma Digital (Sistema Nacional de Certificación Digital de Costa Rica)
  • SINPE (Sistema Interbancario de Negociación y Pago Electrónico) – Costa Rica
  • DNIe * no disponible para iPhone/iPad
  • FNMT (Fábrica Nacional de Moneda y Timbre) * requiere convenio con la FNMT

Artículos relacionados:

http://www.xnoccio.com/1247-firma-digital-movil-en-ipad_iphone_firma_electronica/

http://www.xnoccio.com/1201-android-y-mi-certificado-digital/

Comparte esta entrada:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Meneame
  • RSS
  • Twitter

Tips: Utilizando Glassfish v3 desde Eclipse Helios

Posteado por Felix G. Borrego el 26 de Julio de 2010

El plugin de integración no viene en el empaquetado por defecto para Eclipse Helios, por lo que si queremos hacer uso de este excelente servidor de aplicaciones tendremos que instalar el plugin adecuado desde el Marketplace (Help/Eclipse Marcketplace…).

Buscamos GlassFish el Eclise Marketplace

Una vez instalado, aparecerá en la lista de servidores listos para usar!

Instalacion Glassfish v3 en Eclipse

Comparte esta entrada:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Meneame
  • RSS
  • Twitter

Hudson: Nuestro compañero

Posteado por Felix G. Borrego el 18 de Julio de 2010

Os dejamos las estadísticas de uso de nuestra herramienta de integración continua preferida!
Hace más de 2 años que usamos Hudson como herramienta en todos nuestros proyectos de desarrollo, y en poco tiempo pasó a convertirse en un pilar central de nuestro entorno de desarrollo.

Tras estos dos años, estos son los datos:

Proyectos gestionados (Jobs configurados) 192
Proyectos en Activo: 52 *(usados en los últimos 20 días)
Numero total de compilaciones realizadas 6442
Despliegues automáticos al servidor de desarrollo 4127 (sobre nuestros 5 entornos)
Media de operaciones diarias: 12

La instalación es la por defecto sobre Linux, junto a un Slave que utilizamos puntualmente para las test sobre Windows.

Respecto a los plugins, aunque le hemos dado una oportunidad a practicamente todos, estos son los más utilizados:

  • SVNCopyPlugin (Plugin desarrollado internamente por Viavansi para la sincronización con el SVN del cliente tras despliegues exitosos)
  • Hudson SCP Publisher Plugin (desarrollado internamente para publicar en nuestro sistema de descargas )
  • ChuckNorris Plugin
  • SubversionTaggin Plugin
  • Disk Usage Plugin
  • Seleniumhq Plugin
  • Sonar Plugin
  • Dependency Analyzer
  • Backup Plugin
  • Deploy Plugin
  • SCP Plugin
  • Jabber Plugin

Algunos artículos relacionados:

Introducción a Hudson: http://www.xnoccio.com/362-hudson-parte-1-introduccion/
Introducción al desarrollo de Plugins: http://www.xnoccio.com/464-hudson-parte-2-crea-tus-propios-plugins/
Comparatíva: http://www.xnoccio.com/368-eligiendo-nuestro-entorno-de-integracion-continua-i/
y conclusiones http://www.xnoccio.com/372-conclusiones-finales-eligiendo-nuestro-entorno-de-integracion-continua-v/

Comparte esta entrada:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Meneame
  • RSS
  • Twitter

Firma digital en iPad/iPhone

Posteado por Felix G. Borrego el 13 de Julio de 2010

Primera plataforma de firma electrónica para dispositivos móviles iPhone y  iPad.

Gracias al nuevo cliente de Viafirma para iPhone y iPad  permitimos interactuar con sistemas que requieran de autenticación o firma con certificado digital desde nuestro dispositivo (iPad/iPhone/Android).

En el siguiente vídeo mostramos el acceso a una Oficina Virtual para la gestión de trámites y solicitudes de Ciudadanos. Nos autenticamos con un certificado reconocido instalado en nuestro dispositivo móvil, y tras cumplimentar el trámite seleccionado, procedemos a la presentación firmando la solicitud con nuestro certificado digital.

¿Qué implica esto?

Las entidades que opten por utilizar Viafirma podrán ofrecer de forma universal sus servicios y trámites que requieran del uso de un certificado digital. Permitiendo su uso desde cualquier dispositivo, sistema operativo o navegador. ¿Os imagináis poder presentar la declaración de la renta desde un iPad? o utilizar la firma digital de una forma tan sencilla como esta.

¿Cuándo estará disponible?

Estamos a la espera de que la aplicación sea publicada en la Apple Store, por lo que probablemente esté disponible la próxima semana (fecha estimada 22 de Julio 2010).

También disponible en Inglés y Francés
We will demonstrate now how to digitally sign using VIAFIRMA on mobile device (ipad/iphone)!

Tambien podéis ver un ejemplo sobre Android: http://www.xnoccio.com/1201-android-y-mi-certificado-digital/

O realizar la prueba accediendo a la demo de Viafirma desde cualquier sistema operativo o dispositivo!

Una vez más, nos esforzamos en ampliar nuestra Matriz de Compatibilidad, garantizando el principio de Neutralidad Tecnológica citada en la Ley 11/2007 de Acceso Electrónico de los Ciudadanos a los Servicios Públicos.

Comparte esta entrada:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Meneame
  • RSS
  • Twitter

Diez

Posteado por antonio el 5 de Julio de 2010

Logo décimo aniversario Viavansi

Prácticamente sin darnos cuenta hemos cumplido diez años. ¡Cuantas cosas han ocurrido desde que comenzamos esta aventura en un módulo de veinticinco metros cuadrados en el que cabíamos todos, y aún sobraba espacio!. Atrás quedaron amigos como Arturo cuya acusada personalidad impregna aún muchos aspectos de esta empresa.

A veces añoro esos tiempos, cuando todos íbamos a desayunar juntos y nos conocíamos mucho mejor de lo que las circunstancias actuales hacen posible.

Aunque es difícil, me gustaría que nunca perdiéramos algunos de los valores de esa época, como eran la sincera amistad que había entre los compañeros y la desbordante ilusión por el siguiente proyecto.

Y ahora que ya somos lo que llaman una mediana empresa, nos damos cuenta lo que todo ha cambiado desde entonces.

Muchas etapas hemos superado: el día que ganamos el primer concurso, las UTEs a medias con las grandes, el nacimiento de Viafirma, nuestro primer producto de verdad…

Quiero agradecer a todos los que están haciendo posible este sueño: los compañeros actuales y los que quedaron en el camino, los buenos clientes y también a los no tan buenos, a los partners y a los amigos en general que siempre estuvieron dispuestos a echar una mano.

Y ahora que nos vamos ganando el respeto de los grandes, me gustaría que nunca perdiéramos esa frescura de los primeros tiempos.

Por otros diez, o cincuenta años más…

Antonio Cabrera

Consejero Delegado del grupo Viavansi

Antonio Cabrera, consejero delegado del grupo Viavansi

Comparte esta entrada:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Meneame
  • RSS
  • Twitter

Android y mi certificado digital

Posteado por Felix G. Borrego el 30 de Junio de 2010

La nueva versión de Viafirma 3.0, proporciona como principal novedad el soporte para autenticación y firma digital desde dispositivos móviles como Android, iPhone o iPad.
De esta forma Viafirma se convierte en la primera plataforma de autenticación y firma digital con soporte completo para Android, iPhone o iPad.
A continuación vamos a mostraros un ejemplo de autenticación digital utilizando Viafirma desde Android.

En los próximos días iremos ofreciendo ejemplos de autenticación y firma desde los diferentes dispositivos móviles ya soportados.

¿Qué implica esto?

Pues que las entidades que opten por utilizar Viafirma podrán ofrecer servicios de autenticación y firma digital a sus usuarios móviles. Imagina por ejemplo acceder a tu banco mediante autenticación digital desde tu Android!

¿Cuándo estará disponible?

Ya está disponible para clientes corporativos y en unos días estará disponible en el Google Market de forma gratuita.

13-07-10

Disponibles ya los clientes para iPad y iPhone.

http://www.xnoccio.com/1247-firma-digital-movil-en-ipad_iphone_firma_electronica/

Comparte esta entrada:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Meneame
  • RSS
  • Twitter

UsernameToken en Jax-ws (2/2) – Cliente

Posteado por Jesús López el 25 de Junio de 2010

El objetivo de este artículo es mostrar como implementar crear un cliente Jax-ws que consuma servicios securizados con   UsernameToken según la especificación Web Services Security UsernameToken Profile 1.0.

El artículo consiera que el lector ya tiene experiencia en Jax-ws y se centra sólo en la configuración del mecanismo de seguridad  consumir servicios que requieran la identificación del solicitante con usuario y password haciendo uso de Jax-ws.

Dependencias requeridas

Aunque las dependencias necesarias están incluidas en algunos servidores de aplicaciones, si lo deseamos podemos o bien bajar la implementación de referencia directamente desde su web:

https://jax-ws-commons.dev.java.net y https://jax-ws.dev.java.net

O definir la dependencia en caso de que el proyecto sea Maven.

<dependency>
   <groupId>com.sun.xml.bind</groupId>
   <artifactId>jaxb-impl</artifactId>
   <version>2.1.12</version>
</dependency>

<dependency>
   <groupId>com.sun.xml.wss</groupId>
   <artifactId>xws-security</artifactId>
   <version>3.0</version>
</dependency>

<dependency>
   <groupId>com.sun.org.apache.xml.security</groupId>
   <artifactId>xmlsec</artifactId>
   <version>2.0</version>
</dependency>

<dependency>
   <groupId>javax.xml</groupId>
   <artifactId>jaxp-api</artifactId>
   <version>1.4.2</version>
</dependency>

<dependency>
   <groupId>activesoap</groupId>
   <artifactId>xercesImpl</artifactId>
   <version>1.5</version>
</dependency>

<dependency>
   <groupId>activesoap</groupId>
   <artifactId>jaxb-xalan</artifactId>
   <version>1.5</version>
</dependency>

Configuaramos el acceso al Servicio


 URL url = new URL("http://rutaAplicacionDeEjemplo/IE3SEnvironmentalMasterData");
 QName qname = new QName("e3swsdl-master", "IE3SEnvironmentalMasterData");
 IE3SEnvironmentalMasterDataService locator = new IE3SEnvironmentalMasterDataService(url, qname);
 IE3SEnvironmentalMasterData clienteProxy = locator.getPort(IE3SEnvironmentalMasterData.class);

 //Añadimos el manejador
 final List<Handler> chain = new ArrayList<Handler>();
 chain.add(new SecurityHandler());
 ((BindingProvider) clienteProxy).getBinding().setHandlerChain(chain);

 //Accedemos al servicio
 clienteProxy.addTemporaryProducerCenterData(null, null, null, null, holder);

Creamos el manejador (SecurityHandler.java)

import java.io.IOException;
import java.io.InputStream;
import java.util.HashSet;
import java.util.Set;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPMessage;
import javax.xml.ws.handler.MessageContext;
import javax.xml.ws.handler.soap.SOAPHandler;
import javax.xml.ws.handler.soap.SOAPMessageContext;
import com.sun.xml.wss.ProcessingContext;
import com.sun.xml.wss.XWSSProcessor;
import com.sun.xml.wss.XWSSProcessorFactory;
import com.sun.xml.wss.XWSSecurityException;

public class SecurityHandler implements SOAPHandler<SOAPMessageContext> {

 XWSSProcessor cprocessor = null;

 public SecurityHandler() {
 //Leemos el archivo de configuración del servidor
 final InputStream input = this.getClass().getResourceAsStream("/user-pass-authenticate-client.xml");

 try {
 // inicializamos el XWSSProcessor
 final XWSSProcessorFactory factory = XWSSProcessorFactory.newInstance();
 cprocessor = factory.createProcessorForSecurityConfiguration(input, new SecurityEnvironmentHandler());
 input.close();

 } catch (final XWSSecurityException e) {
 //TODO tratar la excepción
 throw new RuntimeException(e);
 } catch (final IOException e) {
 //TODO tratar la excepción
 }

 }

 public Set<QName> getHeaders() {
 final QName securityHeader = new QName("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Security", "wsse");
 final HashSet<QName> headers = new HashSet<QName>();
 headers.add(securityHeader);
 return headers;
 }

 public boolean handleFault(final SOAPMessageContext messageContext) {
 return true;
 }

 public boolean handleMessage(final SOAPMessageContext messageContext) {
 return secureClient(messageContext);

 }

 public void close(final MessageContext messageContext) {
 }

 private boolean secureClient(final SOAPMessageContext messageContext) {
 final Boolean outMessageIndicator = (Boolean) messageContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
 final SOAPMessage message = messageContext.getMessage();
 boolean ok = false;
 if (outMessageIndicator.booleanValue()) {
 ProcessingContext context;
 try {
 context = cprocessor.createProcessingContext(message);
 context.setSOAPMessage(message);
 final SOAPMessage secureMsg = cprocessor.secureOutboundMessage(context);
 secureMsg.writeTo(System.out);
 messageContext.setMessage(secureMsg);
 ok = true;
 } catch (final Exception e) {
 e.printStackTrace();
 throw new RuntimeException(e);
 }
 } else {
 ok = false;
 }
 return ok;
 }
}

Creamos la clase que maneja la seguridad (SecurityEnvironmentHandler.java)

import java.io.IOException;
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;
import com.sun.xml.wss.impl.callback.PasswordCallback;
import com.sun.xml.wss.impl.callback.UsernameCallback;

/**
 * Handle the WSS user/pass security.
 */
public class SecurityEnvironmentHandler implements CallbackHandler {

 public void handle(final Callback[] callbacks) throws IOException, UnsupportedCallbackException {
 for (final Callback callback : callbacks) {
 if (callback instanceof UsernameCallback) {

 final UsernameCallback cb = (UsernameCallback) callback;
 final String userName = "USUARIO";
 if (userName == null) {
 throw new IOException("La configuaricion del parametro '" + "USARIO" + "' es requerida");
 }
 cb.setUsername(userName);

 } else if (callback instanceof PasswordCallback) {
 final String pass = "CLAVE";
 if (pass == null) {
 throw new IOException("La configuaricion del parametro '" + "CLAVE" + "' es requerida");
 }

 final PasswordCallback cb = (PasswordCallback) callback;
 cb.setPassword(pass);
 }
 }
 }
}

Configuramos el manejador (user-pass-authenticate-client.xml)

<xwss:SecurityConfiguration xmlns:xwss="http://java.sun.com/xml/ns/xwss/config" dumpMessages="true" >
 <xwss:UsernameToken digestPassword="false"/>
</xwss:SecurityConfiguration>

Nuestra petición de acceso debe contener el usuario y contraseña de acceso en la cabecera de la petición http siendo similar a la siguiente

<pre><code><?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"       S:mustUnderstand="1">
<wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="XWSSGID-1255949753848350309586">
<strong><wsse:Username>usuario</wsse:Username></strong>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">****</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">9w+YwOatF9l1/otioQ75d5Yr</wsse:Nonce>
<wsu:Created>2009-10-19T10:55:54.418Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</S:Header>
<S:Body>
</S:Body>
</S:Envelope>
</code></pre>
Comparte esta entrada:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Meneame
  • RSS
  • Twitter

Plataforma de autenticación y firma digital sobre WebLogic

Posteado por Felix G. Borrego el 18 de Junio de 2010

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:

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 .

Comparte esta entrada:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Meneame
  • RSS
  • Twitter

Viafirma en Twitter

Posteado por Javier Echeverría Usúa el 7 de Junio de 2010

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.

Comparte esta entrada:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Meneame
  • RSS
  • Twitter

Arranca el proyecto de desarrollo de la intranet de TP Ferro en Drupal

Posteado por Javier Echeverría Usúa el 7 de Junio de 2010

Recientemente en VIAVANSI hemos iniciado un proyecto para TP Ferro. Esta empresa es la concesionaria de la construcción, mantenimiento y gestión del tramo de tren de alta velocidad que une Figueres (Girona) y Perpignan (Francia).

El proyecto es realmente interesante, con características como las que siguen:

  • TP Ferro dispone de sistemas de información especializados, para mantenimiento, explotación, etc.
  • Se desea construir una intranet que se integre con estos sistemas especializados siguiendo un paradigma SOA: la información reside en un sistema especializado y es consumida (REST) por un nodo central (intranet), por lo que realmente la complejidad del proyecto está más dirigida a resolver la problemática de integración de sistemas.
  • La intranet además debe resolver problemáticas típicas como la gestión de recursos humanos, gestión documental (para lo que se ha escogido Alfresco que se integrará vía CMIS), agendas, gastos, reporting…
  • Se nos permite trabajar con metodologías ágiles (Scrum), algo novedoso al trabajar principalmente con Administraciones públicas que requieren metodologías tradicionales como Metrica v3.
  • Estamos valorando utilizar un componente central que gestione la interoperabilidad entre los distintos sistemas, para lo que podría utilizarse iCms si la dirección del proyecto lo estima oportuno.
  • Se utilizará VIAFIRMA para garantizar la integridad de los documentos críticos, realizando un proceso de firmado digital en servidor.
  • La dirección técnica reside en TP Ferro en colaboración con consultores de Klicap.
  • Hemos podido percibir un excelente nivel de preparación del proyecto por parte del cliente: ya se dispone de un pre-desarrollo basado en Drupal que resulta ciertamente útil, mind maps para la definición de entidades, etc. En definitiva, un cliente que apuesta por el proyecto lo cual obviamente favorece el éxito del proyecto.

Para construir ese nodo central hemos optado por Drupal, que es una excelente base sobre la que inyectar lógica en base a módulos y además es una herramienta ya perfectamente conocido por el cliente.

Comparte esta entrada:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Meneame
  • RSS
  • Twitter