Para poder utilizar las aplicación configurada en oracle forms, siempre se debe mantener una misma firma en todos los jars que utilice la aplicación, ya sea de iconos, archivos personalizados o bien cualquier recurso que necesite la aplicación para trabajar.

Antes de pasar al proceso de firma debemos asegurarnos que el archivo sign_webutil.sh esté correctamente configurado con una contraseña para la firma de jars y que la ruta del JAVA_HOME este correctamente mapeada, ya que usaremos este archivo para firmar los jars.

Este archivo lo podemos encontrar en la siguiente ruta:

$DOMAIN_HOME/config/fmwconfig/components/FORMS/instances/forms1/sign_webutil.sh

Para poder firmar los jars les dejo un script el cual lo que hace es descomprimir los archivos META-INF/*.SF META-INF/*.DSA y META-INF/*.MF dentro del jar, borrarlos, volver a comprimirlo y firmar el jar, esto funciona muy bien en los casos donde ya tenemos una firma previa en los jars, este script quita la firma vieja y los vuelve a firmar.

En caso de utilizar este script para firmar jars nuevos sin tener una firma previa, puede presentarse un error de no encontrar los archivos META-INF/*.SF META-INF/*.DSA y META-INF/*.MF, en ese caso omitimos el error y de igual manera se aplicará la firma al jar.

export FR_HOME=/wls/Oracle/Middleware/Oracle_Home
export FR_INST=/wls/Oracle/Middleware/Oracle_Home/user_projects/domains/domain_pruebas/config/fmwconfig/components/FORMS/instances/forms1
export FR_MANIFIEST=/home/oracle/manifiestos

mkdir $FR_MANIFIEST/tmp
cd $FR_MANIFIEST/tmp

function sign_jar {
export MYJAR=$1
unzip $FR_HOME/forms/java/$MYJAR
rm -f META-INF/.SF META-INF/.DSA META-INF/*.MF
#Comprime los directorios vacíos
$JAVA_HOME/bin/jar -cvf $MYJAR *
mv $MYJAR $FR_HOME/forms/java/$MYJAR
rm -Rf *
$FR_INST/bin/sign_webutil.sh $FR_HOME/forms/java/$MYJAR
}

sign_jar $1

cd $FR_MANIFIEST
rmdir $FR_MANIFIEST/tmp
cd $FR_HOME/forms/java

Recuerde actualizar las rutas de las variables en el script con las rutas de su instalación de Forms and Reports.

Este script lo guardaremos en la siguiente ruta con el nombre firmarJars12c.sh:

/home/oracle/manifiestos

Ahora lo que hacemos para firmar el jar que necesitemos es irnos a la carpeta de nuestros jars en $ORACLE_HOME/forms/java y usar el siguiente comando:

/home/oracle/manifiestos/firmar.sh Interfaces.jar

Luego de firmar el jar es recomendable borrar el caché de java de la máquina del cliente antes de probar la aplicación, de esta forma se volverán a descargar todos los jars.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *