Capítulo 11. Configuración de clientes para la firma de paquetes de reglas
Importante
keytool
para crear una llave privada y un certificado digital público correspondiente. Los paquetes firmados con una llave privada sólo se pueden verificar con el certificado que coincida. La llave privada se almacena en un archivo llamado keystore y el servidor lo utiliza para firmar automáticamente cada paquete. El certificado público se hace disponible para cada aplicación cliente en un almacén de llaves conocido como almacén de confianza. El certificado en el almacén de confianza se utiliza para verificar la autenticidad de los paquetes firmados. Los paquetes de reglas que están corruptos o que se han modificado durante la descarga serán rechanzados por el cliente ya que la firma ya no coincidirá con el certificado.
System.setProperty
. La clase org.drools.core.util.KeyStoreHelper
contiene varias constantes que representan estas propiedades.
- Un servidor JBoss Enterprise BRMS Platform ya instalado y configurado correctamente para la firma de paquetes de reglas.
- La URL para el almacén de confianza que contiene el certificado digital que el servidor JBoss Enterprise BRMS Platform utiliza.
- La contraseña para el almacén de confianza si hay una establecida.
Procedimiento 11.1. Configuración de clientes para la firma de paquetes de reglas
Habilitar la firma
Configure la propiedaddrools.serialization.sign
comotrue
.System.setProperty( KeyStoreHelper.PROP_SIGN, "true" );
System.setProperty( KeyStoreHelper.PROP_SIGN, "true" );
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Configure la URL TrustStore
Configure la propiedaddrools.serialization.public.keyStoreURL
con la URL en donde se encuentra el TrustStore. Si el TrustStore se encuentra en la ruta de clase del cliente entonces esto se puede lograr usando el métodogetClass().getResource()
.Ejemplo 11.1. Cuando el TrustStore se encuentra en la ruta de clase del cliente
URL trustStoreURL = getClass().getResource( "BRMSTrustStore.keystore" ); System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );
URL trustStoreURL = getClass().getResource( "BRMSTrustStore.keystore" ); System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ejemplo 11.2. Cuando el TrustStore se encuentra en un servidor web
URL trustStoreURL = new URL("http://brms.intranet/resources/BRMSTrustStore.keystore" ); System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );
URL trustStoreURL = new URL("http://brms.intranet/resources/BRMSTrustStore.keystore" ); System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ejemplo 11.3. Cuando el TrustStore se encuentra en el sistema local de archivos
URL trustStoreURL = new URL("file:///mnt/fileserve/rules-server/BRMSTrustStore.keystore" ); System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );
URL trustStoreURL = new URL("file:///mnt/fileserve/rules-server/BRMSTrustStore.keystore" ); System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OPCIONAL: Establezca la contraseña del almacén de claves
Configure la propiedaddrools.serialization.public.keyStorePwd
con la contraseña para el almacén de confianza. Esto sólo se necesita si se requiere una contraseña para acceder el almacén de confianza.System.setProperty( KeyStoreHelper.PROP_PUB_KS_PWD, "sekretPasswordHere" );
System.setProperty( KeyStoreHelper.PROP_PUB_KS_PWD, "sekretPasswordHere" );
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Consulte el manual del administrador BRMS para ver las instrucciones sobre cómo configurar el servidor para la firma de paquetes de reglas, http://docs.redhat.com/docs/en-US/JBoss_Enterprise_BRMS_Platform/5/html/BRMS_Administrator_Guide.
- Consulte http://en.wikipedia.org/wiki/Public-key_cryptography para obtener mayor información sobre la criptografía de claves públicas.