Archivos del sitio
Las maravillas de la técnica…
Las maravillas de la técnica te permiten que, estando en el km. 175 de la A-66, en algún punto entre Benavente y León, puedas escribir este post.
Para ello sólo necesitas:
- Un portátil con bluetooth (integrado o externo). Yo uso un Dell Inspiron 6400.
- Un móvil con conexión 3G. Uso un Nokia 6280 con Vodafone.
- Software para conectarte (Nokia PC Suite sobre Windows)
- Ser un friki y estar como una cabra.
PD: Yo no conduzco!
El planeta civilizado
Como le prometí a Felix, me he decidido a incluir mi primer post en el blog. Nada de líneas de código ni el último grito en procesadores o compiladores, aunque si algo relacionado con lo último en tecnología, ya que de allí procede la mayoría.
Recientemente (y para envidia de muchos) he visitado el país del Sol Naciente. Toda una experiencia que creo que cualquier persona con unas inquietudes mínimas debería realizar al menos una vez en su vida. Japón es simplemente otro planeta. Todo es diferente allí y es casí un mundo perfecto. Y digo casi, porque les falta el saber disfrutar de la vida a diario como, al menos, intentamos hacer a este lado del planeta. Como muy bien describe un amigo mío (y uno de los que vino al viaje) en un artículo que publican hoy en el Diario de Sevilla (http://www.diariodesevilla.es/76273_ESN_HTML.htm), Tokio necesita unas vacaciones. Un artículo que describe muy bien las sensaciones que vivimos la mayoría de nosotros en nuestro primer viaje a Tokio y Kioto (una ciudad muy opuesta en muchos aspectos y desde luego visita obligada cuando se visite Japón). Os invito a leer dicho artículo que resume muy bien muchas de mis impresiones.

Al asalto del paso de cebra!!!
Me quedo con está frase de la edición impresa ‘La capital nipona es el compendio de las virtudes y defectos del país. Engranaje fiable, megaproductivo al final asfixiante. Sus habitantes, quizás los más educados del planeta, anhelan lo único que no tienen: tiempo’.
Matane
Colaborando con la comunidad. OpenOCES
Después de bastante tiempo utilizando el componente de firma OpenOces, me he decidido a colaborar con el proyecto, e implementar algunas mejoras.
Hasta ahora, al no disponer de las MS-CriptoApis en Linux, no era posible acceder a un almacén de certificados centralizado, haciendo necesario utilizar directamente los ficheros PKCs12. Gracias a este plugin es posible en Linux/Mac/WinXP acceder al almacén de certificados de Java desde el Applet, facilitando mucho las cosas al usuario final.
El parche fue enviado a la lista de desarrolladores de OpenOces y probablemente sea añadido en la versión 1.6 o 1.7 del proyecto OpenOces.
Para los impacientes, Parche v2 JavaControlPanel para el sistema OpenOces 1.5
Update: El parche ya ha sido añadido, y esta disponible en la versión 1.7, os dejo el recorte de la noticia:
2007-05-09
OpenSign v1.7.0 has been released.
This release fixes a bug causing certificates accessed through Microsoft CryptoAPI to be unavailable when the applet is executed in protected mode on Windows Vista. The release also features a new keystore type contributed by Felix Garcia Borrego. :p
Tips: Screenshot en Java
Tips: Screenshot en Java
Una de las APIs mas potentes y mas desconocidas en Java es “Java Media APIs” os dejo un pequeño ejemplo de como realizar una captura de pantalla( ) en Java.
Es realmente sencillo, el método robot.createScreenCapture(rectangleTam) genera el Screenshot y ImageIO.write(bufferedImage, “jpg”, out); genera un fichero jpg con la captura realizada.
import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* Ejemplo de un captura de pantalla( screenshot ) basado en Java.
* 1.- Obtiene el tamaño del rectangulo
* 2.- Genera el screenshot basado en el tamaño del rectangulo.
* 3.- Esbribe la imagen en un fichero.
*
* @author Felix Garcia Borrego (borrego@gmail.com)
*/
public class EjemploCapturaDePantalla {
/**
* @param args
*/
public static void main(String... args) {
// obtenemos el tamaño del rectangulo
Rectangle rectangleTam = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
try {
Robot robot = new Robot();
// tomamos una captura de pantalla( screenshot )
BufferedImage bufferedImage = robot.createScreenCapture(rectangleTam);
String nombreFichero=System.getProperty("user.home")+File.separatorChar+"caputura.jpg";
System.out.println("Generando el fichero: "+nombreFichero );
FileOutputStream out = new FileOutputStream(nombreFichero);
// esbribe la imagen a fichero
ImageIO.write(bufferedImage, "jpg", out);
} catch (AWTException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Un plasma en menos 256 bytes
Esta vez vamos con una curiosidad light: os pongo el código de un plasma (agradecimiento a mi amigo Enrique que me lo enseñó, un programador muy bueno por cierto). La curiosidad de este código es que ocupa 238 bytes.
#include
Está en código C, compiladlo y disfrutad :-).
Tips: Xml Signature
¿Que es?
Es una especificación desarrollada bajo el amparo del w3c (http://www.w3.org/Signature/) que permite la firma( completa o parcial) de documentos utilizando una notación XML estandar. XML Signatures ofrece algunas ventajas frente a la firma tradicional ya que al estar basada en texto plano su estructura es legible por humanos.
Los documentos Xml Signature los podemos clasificar en tres tipos, dependiendo de la asociación con el documento firmado:
- Enveloped: En el que el documento a firmar y la firma quedan ligados en un único xml. Este es el método mas recomendable para firmar documentos de texto o Xmls.
- Enveloping: En el que el documento firmado(Debe ser un Xml), adjunta como un nodo mas el elemento Signature.
- Detached: En el que el documento firmado se mantiene separado de la firma, manteniendo el XMLSignature una referencia al documento.
Un Ejemplito
Ejemplo de fichero XML Signature
Aunque parece un XML con un formato muy complejo, es sencillo de entender, su esquema de definición es :
<element name=“Signature” type=“ds:SignatureType” />
<complexType name=“SignatureType”>
<sequence>
<element ref=“ds:SignedInfo” />
<element ref=“ds:SignatureValue” />
<element ref=“ds:KeyInfo” minOccurs=“0″ />
<element ref=“ds:Object” minOccurs=“0″ maxOccurs=“unbounded”/>
</sequence>
<attribute name=“Id” type=“ID” use=“optional” />
</complexType>
Y buscando en el XML de ejemplo las estructuras definidas en el esquema, podemos ver que SignedInfo contiene la información relacionada con la firma( algoritmo utilizado, etc), en SignatureValue el resultado de la firma( en Base64), en KeyInfo los datos del certificado del firmante, y en Object los datos que se firmaron.
¿Apis para manejar XML Signatures?
En nuestro caso, estamos utilizando la implementación de Apache de XML Security , junto con Bouncy Castle.
XML Singature es un formato que ha llegado para quedarse entre nosotros, espero que esto sirva de una pequeña introducción para que deje de ser un desconocido o simplemente una palabreja, para convertirse en algo palpable y sencillo.
Busca esto rápido
Encuentra lo que buscas de forma sencilla usando el buscador.
Categorías
Encuentra artículos a través de sus "tags"
Archivos mensuales
Encuentra artículos según el mes en el que fueron escritos.
