Buscar en xnoccio
Humor: Firma digital en una antigua máquina de escribir Oliveti
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!!
Avances en Agosto
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.
Viafirma ya disponible en el Apple Store y Android Market
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/
Tips: Utilizando Glassfish v3 desde Eclipse Helios
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…).
Una vez instalado, aparecerá en la lista de servidores listos para usar!
Hudson: Nuestro compañero
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/
Firma digital en iPad/iPhone
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):
¿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.
Diez
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
Android y mi certificado digital
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/
UsernameToken en Jax-ws (2/2) – Cliente
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>
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 .







