Archivo

Archivo para la categoría ‘Artículos’

CodekoLib: Ayuda para conexiones SSL desde Java

Jueves, 22 de Abril de 2010 Sin comentarios

En este primer artículo sobre el recientemente liberado CodekoLib vamos a tratar una clase muy simple pero que puede ahorrar muchos quebraderos de cabeza. La clase es InstaladorCertificados.

Si alguna vez has tenido que realizar con Java alguna conexión https habrás descubierto que es una tarea complicada y tediosa. La idea básica es que al igual que cuando accedes con tu navegador a una dirección https tienes que aceptar e instalar el certificado de la web, cuando accedes desde Java tienes que proceder de la misma manera.

La clase InstaladorCertificados te ahorra ese trabajo realizando la descarga e instalación del certificado de una forma muy simple. Simplemente hay que realizar una llamada al método instalar() antes de realizar las conexiones. Así para acceder a la url https://midominioseguro.com simplemente habría que hacer la siguiente llamada:

InstaladorCertificados.instalar("https://midominioseguro.com");

Con esta simple llamada ya tendremos el certificado instalado y podremos trabajar con normalidad. Por supuesto podemos pasar como parámetro una URL en vez de una cadena de texto.

Si no sabes si la url es de una conexión https puedes realizar la llamada a instalar() sin preocuparte ya que la clase se encarga de verificar que la url es de una conexión https antes de realizar cualquier operación.

La clase se encarga de crear un KeyStore temporal donde almacenar los certificados y asignarlo como el KeyStore en uso. Además la clase te permite definir tu propio KeyStore por si deseas mantenerlo entre ejecuciones o usarlo para otras aplicaciones. Para usar un KeyStore propio se utiliza la clase CodekoKeyStore de la siguiente forma:

//El archivo donde se almacenan los certificados
File ksFile=new File("mi_archivo_keystore.ks");
//La clave del KeyStore
String ksClave="la_clave_de_mi_KeyStore";
//Creamos el archivo keystore
CodekoKeyStore ks=new CodekoKeyStore(ksFile,ksClave );
//Lo asignamos para que Java utilice este KeyStore 
//a la hora de buscar certificados instalados
ks.asignarComoSSLKeyStore();
//Opcionalmente si vamos a instalar nuevos certificados 
//le decimos a InstaladorCertificados que use ese KeyStore
InstaladorCertificados.setKeyStore(ks);

Por último la clase InstaladorCertificados provee de un método para evitar los errores cuando accedemos a urls https con el certificado mal creado debido a que este es para un dominio diferente al que se está accediendo (por ejemplo accedemos por localhost y el certificado es para midominio.com). Aunque esta práctica no es recomendable puede haber momentos en los que no tengamos otra opción. Para evitar errores accediendo a estas urls simplemente debemos usar la función deshabilitarHostNameVerification():

//Deshabilitamos el control de nombre de dominios en los certificados
InstaladorCertificados.deshabilitarHostNameVerification();
//Para habilitarla de nuevo simplemente hay llamar 
//a la función con el parámetro false
InstaladorCertificados.deshabilitarHostNameVerification(false);

Con este simple clase podremos realizar de forma cómoda todas las operaciones con urls seguras sin tener que complicarnos la vida con los certificados SSL.

Codeko con la !BarraLibreCamp

Jueves, 25 de Marzo de 2010 Sin comentarios

!BarraLibreCamp

!BarraLibreCamp

Siguiendo la linea de colaborar en lo máximo posible en la difusión e implantación del Software Libre que Codeko tiene entre uno de sus objetivo principales, este año colaborará como patrocinador y por supuesto participante, en la edición de la !BarraLibreCamp que organiza la Oficina del Software Libre de la Universidad de Granada.

Esta !BarraLibreCamp tendrá lugar el próximo día 7 de junio de 2010 en la ETS de Ingenierías Informática y de Telecomunicación de Granada.

¿Que es un Barcamp?

Un Barcamp es un evento en el que todos los asistentes son, a la vez, participantes, y que se va organizando in situ, con una mínima previsión inicial. La idea es que sea un evento intenso, donde se aprenda a través de la participación. !BarraLibreCamp se une a este movimiento, donde hay una serie de reglas. En este BarCamp, el tema es el software libre en todos sus aspectos: enseñanza, difusión, aplicaciones.

Tienes mas información acerca del evento y como participar en el Wiki: http://ofisl.ugr.es/mediawiki/index.php/Main_Page

Esperamos vuestra participación.

Liberado CodekoLib

Miércoles, 24 de Marzo de 2010 Sin comentarios

Logotipo de CodekoLib

CodekoLib

Codeko ha liberado su biblioteca para Java CodekoLib bajo licencia GNU/LGPL. Esta biblioteca consiste en una serie de utilidades y funciones de uso común en los diferentes proyectos Java de Codeko.

Han sido varias las razones de su liberación.
Por un lado, simplemente porque no tiene sentido que no sea libre. Por otro, porque aunque la librería es propiedad de Codeko, lógicamente la entregamos a los clientes junto con los fuentes de sus programas y la mejor forma de hacer esto es mediante una licencia LGPL. Por último creemos que puede ser útil para los desarrolladores que quieran hacer uso de la biblioteca a modo de code snippets.

Se ha depurado la documentación y se está trabajando en ampliarla y mejorarla. Además se realizarán una serie de artículos en este blog sobre las diversas partes de la biblioteca.

El proyecto está alojado en Google Code y desde la página del proyecto se puede acceder a los fuentes, los binarios y la documentación.

Para más información visita la web del proyecto http://code.google.com/p/codekolib/.

Primeras impresiones sobre Google Wave

Martes, 20 de Octubre de 2009 Sin comentarios

Google WaveCodeko ha tenido la posibilidad de estar entre los primeros invitados por Google para disfrutar de Google Wave, después de estar usándolo durante una semana pasamos a comentaros las primeras impresiones.

Lo primero que hemos echado en falta es integración con Gmail, el correo de Google ha demostrado ser una herramienta eficaz y muy potente y Wave bien podía haber sido implementado como un plugin que le otorgara una funcionalidad extra al correo, sin embargo por si sólo es poco eficaz.

Una desventaja es que las cuentas de Wave solo pueden recibir Waves, un e-mail enviado a una cuenta usuario@googlewave.com nunca llegará a su destino y viceversa, es decir, Wave es completamente cerrado en el sentido de que funciona solo por y para Waves.

Al usuario corriente que pretenda darle a Wave un uso personal le va a aportar mas bien poco, otros servicios de mensajería o microbloggin permiten la misma comunicación, e incluso compartir imágenes, enlaces y timeline, como por ejemplo Plurk.com, y están bastante mas asentados, la única novedad que aporta Wave es la edición simultanea de mensajes.

Por otra parte es esta edición simultanea lo que puede llegar a incomodar, el estar viendo en tiempo real como otro usuario, o tu mismo vas escribiendo un mensaje puede resultar muy molesto por las múltiples correcciones que se realizan en un texto antes de que éste tome su forma final, suponemos que al encontrarse en fase beta, esto podrá desactivarse en un futuro, pero hoy por hoy, no.

¿Para qué puede servir Wave?, en Codeko nos esta siendo útil, a pesar de echar en falta su integración con el correo, para ir editando y eliminando tareas de un desarrollo, y facilitar la comunicación entre los componentes de los equipos.
La posibilidad de editar conjuntamente un mismo mensaje evita las idas y venidas de e-mails definiendo las lineas de desarrollo, sin embargo esto mismo no es algo que no se pueda hacer con otras herramientas como Etherpad o el propio Google Docs.

En resumen, Google si que ha innovado con Wave por la sencillez y rapidez de su uso, pero aun le queda mucho camino por recorrer si pretende conquistar al usuario igual que hizo con Gmail.

Categories: Artículos, Varios Tags: , , ,

Software para módulo del Parque de las Ciencias de Granada

Lunes, 27 de Julio de 2009 Sin comentarios

Nombre: Software para módulo
Tipo: Aplicación de escritorio
Proyecto: Sistema para poder proyectar una serie de videos y textos desde un equipo con pantalla táctil
Cliente: Sedicult S.L.
Tecnologías: Java, SWT

Aplicación de escritorio que permite controlar desde una pantalla táctil de un equipo la proyección de una serie de videos y audios en otra pantalla.

Una de las ventajas de la aplicación es que la asignación de las diferentes categorías, palabras, videos, textos e imágenes se realiza simplemente copiando archivos y creando carpetas, simplificando el mantenimiento del contenido de la aplicación.


Leer más…

Categories: Java SE, Portafolio Tags:

Swing App. Framework: Personalizando Input Blockers

Miércoles, 18 de Marzo de 2009 5 comentarios

Swing Application Framework incorpora la ejecución de acciones como tareas en segundo plano. Estas tareas se pueden definir para que bloqueen la interfaz gráfica del programa. Cuando se bloquea la interfaz gráfica es cuando entran en juego los Input Blockers y de ellos, y de como personalizarlos, trata este artículo.
Leer más…