PortableSigner (II): Instalación de PortableSigner
Ahora que ya hemos instalado, o actualizado, Java en nuestro sistema, estamos listos para instalar PortableSigner, que es la aplicación que nos permitirá firmar digitalmente un archivo PDF, usando para ello un certificado digital X.509 de 1024 bits, almacenado en en un contenedor PKCS#12. Por ejemplo, podemos usar para firmar nuestro PDF un certificado de software de los que emite la Fábrica Nacional de Moneda y Timbre, a través de Ceres...
Recordemos que el formato PDF es un formato abierto, multiplataforma, que es estándar ISO 19005 en su versión 1.4 e ISO 32000 en su versión 1.7. Por ello, es muy interesante que podamos firmar este tipo de documentos, que serán legibles y sus firmas verificables, casi con total independencia de la plataforma en la que se cree o se lea posteriormente y gracias a un plugin que hay disponible para OpenOffice. Incluso es posible editarlos cuando han sido generados desde un texto o se les ha aplicado el OCR de Acrobat, pero ésta es otra historia. Es decir, que un PDF que creemos y firmemos en Linux será legible y verificable desde Windows o viceversa, así como desde otros sistemas operativos como MAC OS X; en definitiva, un lujo. En otro artículo que estoy preparando, hablaré un poco sobre la forma de mejorar la interoperabilidad entre sistemas Windows y Linux, al tiempo que garantizamos el acceso a nuestros archivos en el futuro, usando para ello formatos abiertos.
Comenzaremos por descargar la última versión de PortableSigner, que es la 1.6.110, desde la página oficial del proyecto en Sourceforge.
Como veremos, hay opciones para varias plataformas. Recomiendo seleccionar la descarga del archivo instalador Java, que es independiente de la plataforma, es decir, el archivo PortableSigner-Install-1.6.110.jar. Después de hacer clic sobre el archivo, lo almacenaremos en un directorio de nuestro sistema.
Seguidamente, abriremos una consola como root y configuraremos el entorno de Java, si no lo tuviéramos configurado para el usuario root. Para ello, usaremos la secuencia de mandatos:
export PATH=/usr/java/jre1.6.0_12/bin:$PATH
JAVA_HOME="/usr/java/jre1.6.0_12/"
export JAVA_HOME
Hecho esto, ya podemos proceder a arrancar el instalador de PortableSigner con el mandato:
java -jar PortableSigner-Install-1.6.110.jar
Al poco tiempo, si tenemos Java correctamente configurado en nuestro sistema para el usuario root, se abrirá el entorno gráfico de instalación de PortableSigner, proceso de instalación que vamos a ver paso a paso:
1. La primera ventana nos solicitará el idioma de instalación. En mi caso, recomiendo elegir inglés [ENG], seguido de un clic sobre el botón “Ok”, ya que del otro idioma que hay disponible para la instalación es el alemán, y siento decir que de este idioma no tengo casi ni idea.

2. La siguiente ventana nos hace una presentación del programa que vamos a instalar y nos informa sobre sus autores y sobre la página del proyecto en Sourceforge. Simplemente tenemos que hacer clic sobre el botón “Next”

3. La siguiente ventana, nos muestra información técnica adicional sobre el programa, que recomiendo leer detenidamente, ya que dice algunas cosas interesantes, desgraciadamente, no en el lenguaje de Cervantes. Como en el caso anterior, tendremos que hacer clic sobre el botón “Next”, para continuar con la instalación.

4. Ahora nos aparece la ventana con la licencia, que también recomiendo leer detenidamente. Podremos pulsar el botón “Next”, solamente después de hacer clic sobre el botón de selección “I accept the terms of this license agreement”, que aparece en la parte inferior de la pantalla y que en castellano significa: “Acepto los términos de este acuerdo de licencia”.

5. En el siguiente paso, el instalador nos pregunta por el directorio de instalación para el programa. No hay problema para dejar el que nos sale por omisión en la ventana, que es /usr/local/MagWien/PortableSigner, por lo que bastará con que hagamos clic sobre el botón “Next” de la parte inferior de la pantalla, para aceptar y continuar. En caso de que queramos instalarlo en otro directorio solamente tendremos que pulsar el botón “Browse” y elegir el que deseemos. Si el directorio elegido ya existiera, el programa nos avisará de este hecho. Esto nos ocurrirá siempre, si estamos haciendo una instalación de PortableSigner por actualización del programa, o de Java, que como veremos, es un caso especial que requiere algo de atención por nuestra parte.

6. El siguiente paso es importante para que el programa funcione adecuadamente. Es necesario asegurarse que están seleccionadas las dos opciones que aparecen en la ventana:
a) Base
b) JCE unrestricted policy
La última opción instala en el directorio de Java /usr/java/jre1.6.0_12/lib/security/ los archivos local_policy.jar y US_export_policy.jar, que son necesarios para que funcione el programa adecuadamente.
Este es el motivo por el que es necesario volver a reinstalar PortableSigner en el caso de actualicemos Java, ya que dicha actualización no dispondrá de estos dos archivos, que son necesarios para el funcionamiento de PortableSigner. Alternativamente, podemos descargarnos el archivo jce_policy-6.zip desde la página oficial de Sun. El paquete lo encontraremos al final, con el nombre “Java Cryptography Extensión (JCE) Unlimited Strength Jurisdiction Policy Files 6”. Para instalarlo, nos bastará con copiar los dos archivos anteriores, en el directorio /usr/java/jre1.6.0_12/lib/security/, con lo que nos ahorramos tener que volver a instalar PortableSigner. Como en las ventanas anteriores, continuaremos la instalación haciendo clic sobre el botón “Next”.

7. Finalmente, el programa nos pide que confirmemos algunas opciones de instalación. Recomiendo seleccionar las que aparecen en la imagen, como siempre, para continuar, después de seleccionar las opciones deseadas, deberemos hacer clic sobre el botón “Next”. Puede que la opción más interesante, es la que permite que el programa sea utilizado por todos los usuarios del sistema “all users”. Opción que es casi obligatoria, al estar haciendo la instalación como root.

8. Después del último clic sobre el botón “Next” y durante unos breves segundos, nos aparecerá una ventana con dos barras de progreso que nos indicarán que se está realizando la instalación en el sistema, y tras finalizar, lo que se indica con el mensaje [Finished] en la barra superior, solamente tendremos que hacer clic sobre el botón “Next” para continuar.

9. La última ventana que nos aparece en pantalla, nos debería indicar con una gran “V” de verificación de color verde, que la instalación se ha completado con éxito y que hay un programa de desinstalación, denominado Uninstaller, en el directorio /usr/local/MagWien/PortableSigner, lo que debemos tener en cuenta, si queremos eliminar esta aplicación posteriormente. Para finalizar, solamente tendremos que hacer clic sobre el botón “Done”. Como se puede ver, más simple imposible.

Para facilitar el acceso al programa, recomiendo crear un enlace directo en el escritorio, que en mi sistema está basado en el KDE. Una vez que hemos entrado en el sistema como un usuario normal, haremos clic con el botón derecho del ratón sobre el escritorio y seleccionaremos la secuencia de mandatos Crear nuevo | Enlace a aplicación.
En la pestaña “General” haremos clic sobre el icono de la parte superior izquierda, seleccionaremos la marca de verificación Otros iconos y haremos clic sobre el botón Examinar. Debemos seleccionar el icono PortableSignerLogo.png, que encontraremos en el directorio /usr/local/MagWien/PortableSigner/ y haremos clic sobre el botón Abrir. Seguidamente, escribiremos PortableSigner en la línea de entrada de texto de esa misma pestaña.
Después, seleccionaremos la pestaña “Aplicación” y escribiremos PortableSigner en las dos líneas de entrada de texto, Descripción y Comentario y escribiremos la cadena '/usr/local/MagWien/PortableSigner/PortableSigner', incluidas las comillas simples, en la línea de entrada Orden. Para finalizar, haremos clic sobre el botón Aceptar. Ahora cuando hagamos doble clic sobre ese icono en el escritorio del KDE, arrancará el programa y nos aparecerá su interfaz de usuario, que es la que se muestra en la imagen siguiente.
También podemos esta aplicación abriendo una consola de usuario y tras ir al directorio /usr/local/MagWien/PortableSigner, usando el mandato:
./PortableSigner

En la siguiente y última entrega de esta serie dedicada a PortableSigner, veremos la forma de utilizarlo para firmar nuestros documentos en PDF.
"Copyleft 2009 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".




Comentarios
Hola, gracias por el tutorial, es un tema muy interesante.
He seguido los pasos del manual, pero no consigo arrancar la aplicación. Me dice que no encuentra el JCE , y eso que lo marqué en la instalacion del Portable Signer.
Al revisar en jre/libs/security, están los ficheros policy, asi que no sé que puede estar pasando, y tengo las variables de entorno exportadas y demás.
Alguna idea?
Estoy usando una Ubuntu 8.10 y la versión de java, es la última, la 6_12
El JCE es el Java Cryptography Extension, que debería venir con Java. Si no lo encuentra es que hay algo mal, seguramente el PATH o JAVA_HOME, puede que como consecuencia de una instalación anterior que has eliminado y de la que queda alguna configuración.
Por otra parte, los dos ficheros de policy, deberías instalarlos manualmente desde el archivo que te puedes descargar de Sun, son una parte del JCE y son necesarios para que funcione el programa, pero no son el JCE completo.
Yo comprobaría que no tengo un archivo .java en mi directorio de usuario, si está, prueba a borrarlo. Alternativamente, considera instalar Java de nuevo, con un paquete adecuado a tu distribución, entre los que hay en la página original de Java.
Un saludo, Fernando Acero
Creo que el estandar es PKCS#12
Saludos
Corregido. Muchas gracias.
Error arrastrado en los tres artículos, si es que estar convaleciente me espesa el cerebro... gracias por todo.
Un saludo, Fernando Acero