Humor: Firma digital en una antigua máquina de escribir Oliveti

Posteado por Felix G. Borrego el 1 de Septiembre de 2010

En nuestro esfuerzo por ser una plataforma de firma digital universal, nuestro departamento de I+D ha conseguiro ampliar aun más nuestra matriz de compatibilidad consiguiendo realizar una firma digital en una antígua Oliveti!.
El video no tiene desperdicio :p.

De esta forma junto con las plataforma ya soportadas Linux (Firefox, Chrome), MacOS (Safari, Firefox), Windows (Firefox,Chorme, IE 6. IE7, IE8), Android, iPhone, iPad; Ahora incorporamos soporte para Oliveti Linea 98!!

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

Avances en Agosto

Posteado por Benito Galán el 13 de Agosto de 2010

En Viafirma no cerramos por vacaciones, y en estos días no sólo los termómetros echaban humo, también lo hacía nuestra xnoccio factory.

Mejoras en el soporte para MacOS
Estamos en fase beta de un nuevo cliente para Viafirma que mejora notablemente el uso del almacén de claves en MacOs, evitando un famoso bug reconocido por Apple que hasta ahora impide su perfecto funcionamiento en estos entornos.

Importantes mejoras en nuestro servicio Cloud Computing
Estamos preparando grandes sorpresas que esperamos publicar en Septiembre.

Sede Electrónica
Sedes Electrónicas representadas por certificados de Firmaprofesional ya pueden hacer uso de Viafirma gracias al nuevo soporte de Viafirma para este tipo de certificados emitidos por la 1a. CA privada en España.

Sello Electrónico
En la Fundación Tripartita ya están haciendo uso de la firma automatizada de documentos gracias al soporte de Viafirma para los Certificados de Sello Electrónico de la FNMT.

Viafirma Mobile
En estos días, los clientes de Viafirma para los dispositivos móviles Android, iPhone y iPad, han registrado 544 instalaciones desde Google Market y 173 desde Apple Store.

Banca por Internet
También en estos días de verano se han completado con éxito las pruebas de implantación en el internet banking de Bancrédito, en Costa Rica, el primer banco costaricense en ofrecer el uso de la firma electrónica a sus clientes finales.

Soporte para HSM de la marca NCipher
La nueva versión incorpora soporte a NCipher.

Nuevo API
Estamos preparando y esperamos publicar nuevos APIs de integración, más ligeros y sencillos para Java/.Net/PHP.

Framework de desarrollo
De cara a los futuros desarrollos estamos terminando nuestro nuevo marco de desarrollo que será utilizado en todos los proyectos del grupo Viavansi.

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

Viafirma ya disponible en el 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/Android
  • FNMT (Fábrica Nacional de Moneda y Timbre) * requiere convenio con la FNMT

Más información en bubiloop:Viafirma Mobile App

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.

La aplicación necesita que le añadamos los certificados que deseemos utilizar. Para ello implementa el servicio de transferir ficheros a través de iTunes, permitiendo añadir un certificado digital en formato software (extensión .p12, .pfx):

Adjuntar certificados desde iTunes

Cómo adjuntar los certificados desde iTunes

¿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