Está en la página 1de 9

Milton Quiroga

CyberTech de Colombia e-mail: mquiroga@cybertech.com.co


e-mail: mquiroga@alumni.carnegiemellon.edu
s-mail: Av. 25C # 4A-41 Of. 101
Ingenieros Consultores Phone: +57(1)341-8690
Fax: +57(1)286-8014
Cell: +57(315)857-2654
Bogotá – Colombia - SOUTH AMERICA

CryptoVault X.X SAP

Procedimientos de Instalación y Configuración de


CryptoVault X.X para cifrar archivos de pagos
generados automáticamente por SAP-ERP
Capítulo

Para Tener en Cuenta

SAP-ERP es uno de los paquetes empresariales más utilizados en las medianas y grandes
organizaciones a nivel mundial, ya que permite integrar los datos y administrar sus procesos
internos. Dicho paquete se puede instalar en una gran variedad de ambientes y sistemas
operativos.

Antes de instalar CryptoVault.

Debe tenerse en cuenta como referencia de instalación el manual


“ManualCryptoVaultX.X.doc” proveído por Cybertech de Colombia, para realizar la instalación en
el servidor de SAP-ERP, en especial en cuanto a los siguientes puntos:

Instalación y configuración del JRE

En caso de que servidor SAP-ERP no sea Windows, debe asegurarse que se pueda instalar un
ambiente de ejecución de Java (JRE), con la versión necesaria para ejecutar CryptoVault.

Nota: Tenga en cuenta que si la instalación de SAP-ERP es reciente, muy probablemente ya


haya un JRE instalado.

Una lista de las máquinas virtuales para cada sistema operativo se puede encontrar en el
apéndice B. Una vez instalada la máquina virtual de Java, debe configurarse para que pueda
trabajar con criptografía de fortaleza ilimitada, esto puede incluir:

• Copiar el archivo bcprov-jdk14-128.jar a la carpeta “$JRE/lib/ext/”.

• Copiar los archivos “local_policy.jar” y “US_export_policy.jar” a la carpeta


“$JRE/lib/security/”. Dependiendo del fabricante de la máquina virtual.
• Registrar Bouncy Castle como proveedor en el archivo
“$JRE/lib/security/java.security”.
Instalación de acuerdo al sistema operativo

Si el sistema operativo del servidor de SAP-ERP es Windows, se debe usar el instalador de la


variedad CLI para Windows (“instalador_cryptovault_X.X.X_cli.exe”).

Si el sistema operativo de dicha máquina es diferente (por ejemplo Linux, Solaris, BSD, AS400,
AIX, etc.) debe seguir las instrucciones para instalar la variedad CLI para ese sistema operativo.

Nota: En las versiones 1.5 y 1.6 de Crypto Vault, la variedad CLI se instala descomprimiendo
el contenido del archivo “cryptovault_cli_all.zip” del disco de instalación.

Generación de Almacenes de llaves

Tenga presentes en todo momento las indicaciones para crear y mantener los almacenes de llaves
que se describen en el manual.

Algunas versiones de keytool para algunos sistemas operativos no son lo suficientemente robustas
y no soportan algunos caracteres del idioma español, por lo que pueden producirse errores al
generar almacenes de llaves o importar los certificados, en este caso:

1. Instale Crypto Vault CLI en un PC Windows común y corriente.

2. Haga el proceso de generación de almacenes de llaves e importación de certificados en


dicho PC.

3. Verifique que el almacén de llaves haya quedado correctamente configurado, y haga las
pruebas necesarias.

4. Traslade los certificados y almacenes de llaves al servidor de SAP-ERP, configure


“keystore.cfg” para que trabaje con el almacén de llaves adecuado.

5. Guarde copias de los almacenes y certificados en una ubicación segura, y asegúrese de


que ninguna haya quedado en el PC utilizado temporalmente.

3
Capítulo

Configuración de SAP-ERP

SAP-ERP utiliza tanto módulos desarrollados en lenguaje ABAP como en lenguaje Java. Estos
últimos constituyen principalmente servicios web (“web services” en inglés) que se utilizan para
integrar otras plataformas.

Si la instalación de SAP-ERP tiene bastante tiempo de antigüedad, lo más probable es que se


utilicen únicamente los módulos en ABAP. Los módulos de Java adicionalmente necesitan que se
ejecute un contenedor de servicios, que suelen consumir bastantes recursos del servidor, por lo
cual es posible que dichos módulos no estén habilitados a menos que sean necesarios.

Localización de la Generación de Archivos de Pago

Se debe localizar el módulo que genera los archivos de pago. Dado que este módulo no es
estándar para todas las instalaciones de SAP-ERP, se desarrolla internamente en cada empresa
como parte de la configuración y mantenimiento del ambiente.

Para esta tarea es importante que quienes administran y configuran SAP-ERP en la empresa
estén disponibles.

Llamado a Crypto Vault CLI desde Java

Hay dos formas en que se puede llamar Crypto Vault CLI desde Java:

Lanzando un proceso

Esta forma hace un llamado a la consola del sistema operativo, y lanza un proceso con la línea de
comandos necesaria. Para esto se utilizan la clases java.lang.Runtime y java.lang.Process. A
continuación se muestra un ejemplo:

// 1. Se obtiene una referencia al JRE


Runtime rt = Runtime.getRuntime();
// 2. Se lanza el proceso con la linea de comandos
Process proc = rt.exec( "java -jar /Crypto Vault CLI/CryptoVault-
X.XCLI.jar -c entrada.txt salida.env DESTINATARIO");
//3. Se espera el proceso por máximo 10 segundos
proc.wait(10000);

En este ejemplo la línea de comandos que se pasa como parámetro a exec() debe ser
reemplazada por el comando necesario para cifrar el archivo de pagos.

La instrucción “proc.wait(10000)” es opcional, se utiliza para que el hilo de ejecución principal


espere a que la instrucción termine. El parámetro que recibe es un timeout en milisegundos, que
puede ser ajustado de acuerdo a la configuración del servidor.

Nota: En esta forma no es necesario incluir “CryptoVault-X.XCLI.jar” en el classpath, ni hacer


importación de clases externas. Sin embargo el texto de los mensajes de retorno se pierde.

Haciendo llamado directo a la clase Java

Esta forma utiliza como punto de entrada la clase CryptoVaultCLI que es la que recibe las líneas
de comandos.

Para esto agregue el archivo “CryptoVault-X.XCLI.jar” que está en el directorio de instalación de


Crypto Vault en el classpath de la clase que se vaya a editar (La forma de agregarlo depende del
sistema operativo y del ambiente de desarrollo).

Adicionalmente haga la importación de las clases CryptoVaultCLI y ReturnMessage en el código


Java:

import cryptovault.cli.CryptoVaultCLI;
import cryptovault.util.returnMessages.ReturnMessage;

Para invocar los servicios de CryptoVault llame el método “Main” de la clase CryptoVaultCLI, el
cual devuelve un ReturnMessage con el resultado de la operación:

String[] com = "-c entrada.txt salida.env DESTINATARIO".split(" ");


ReturnMessage res = CryptoVaultCLI.Main(com);

En la variable res queda el resultado de la operación, que puede ser consultado y comparado con
los códigos de retorno descritos en el manual. La línea de comandos se debe reemplazar por la
que se va a utilizar para cifrar el archivo de pagos.

Nota: En esta forma sí es necesario incluir “CryptoVaultCLIX.X.jar” en el classpath, además se


debe hacer la importación de la clase cryptovault.cli.CryptoVaultCLI, pero el control sobre
los mensajes de retorno es mayor.

5
Llamado de Crypto Vault Directamente desde JAVA

Esta opción reduce el riesgo de tener un archivo temporal en el que el contenido esté en texto
plano. Para esto se invocan directamente los servicios de Crypto Vault.

Para esto agregue el archivo “CryptoVault-X.XCLI.jar” que está en el directorio de instalación de


Crypto Vault en el classpath de la clase que se vaya a editar (La forma de agregarlo depende del
sistema operativo y del ambiente de desarrollo).

Deben importarse las clases CryptoVaultNativeJavaFacade, ICryptoVaultNativeJavaFacade y


Return Message:

import cryptovault.facade.CryptoVaultNativeJavaFacade;
import cryptovault.facade.ICryptoVaultNativeJavaFacade;
import cryptovault.util.returnMessages.ReturnMessage;

Para acceder a los servicios de Crypto Vault, primero debe inicializar la instancia, para esto ejecute
las siguientes líneas de código:

CryptoVaultNativeJavaFacade.initApplicationEnvironment(new
File("/usr/local/bin/CryptoVault"));
ICryptoVaultNativeJavaFacade fac = CryptoVaultNativeJavaFacade.getInstance();

Donde "/usr/local/bin/CryptoVault" se refiere al directorio en donde se instaló la aplicación (puede


ser cualquier otro directorio del sistema operativo).

En este momento la interfaz “fac” está lista para proveer los servicios de cifrado y descifrado.
Puede invocar directamente sobre ella los siguientes métodos:

Cifrar un flujo de bytes, y guardarlo en un archivo de destino:

public ReturnMessage encryptAndSignDocument(byte[] source, String target,


String alias);

Descifrar un archivo:

public ReturnMessage decryptAndVeryfyEnvelope(String source, String target);

Descifrar un archivo y verificar su remitente:

public ReturnMessage decryptVerifyEnvelopeAndVerifySender(String source, String target,


String sender);

Los demás métodos se pueden consultar en la especificación de la interfaz JVA en el manual de


Crypto Vault.

6
Llamados Crypto Vault CLI desde ABAP

Una vez se haya identificado el módulo ABAP que se encarga de la generación del archivo de
pagos. Se debe invocar la línea de comandos necesaria para hacer el cifrado. A continuación se
muestra un ejemplo para Windows:

* Se declara el comando
Data: command(256),
MSG_TEXT(80).
COMMAND = 'java -jar CryptoVault-X.XCLI.jar -c entrada.txt salida.env
DESTINATARIO'.
* Se ejecuta
call function 'GUI_EXEC'
exporting
command = COMMAND.
La invocación difiere para cada sistema operativo, en sistemas UNIX sería algo como lo siguiente:

REPORT ZUNIX.
DATA UNIXCMD(50) TYPE C.
DATA: BEGIN OF ITAB occurs 0,
LINE(200),
end of ITAB.

PARAMETERS UNIXCOMM LIKE UNIXCMD


DEFAULT 'java -jar CryptoVaultX.XCLI.jar -c entrada.txt
salida.env'.
* Ejecutar la línea
call 'SYSTEM' id 'COMMAND' field UNIXCOMM
id 'TAB' field ITAB-*SYS*.

En este procedimiento es importante que estén presentes los administradores y desarrolladores


encargados de SAP-ERP en la empresa. En el apéndice A hay algunos enlaces relacionados con
el lenguaje ABAP.

7
Apéndice

Referencias y Páginas Útiles

Las páginas que se muestran a continuación contienen información útil sobre SAP-ERP y el
lenguaje ABAP. Pueden usarse como referencia para consultar algún problema específico.

SAP ABAP en Castellano: Foros de discusión y referencia en español sobre ABAP.

http://sap4.com/

Foros y Manuales de todos los foros de SAP: Foros de discusión y referencia en español sobre
ABAP.

http://www.forosap.com/

La web de programación Abap 4: Foros de discusión y referencia en español sobre ABAP.

http://www.abap.es/

Common Questions and Answers about ABAP/4 and Developments: Algunas referencias a
varias funciones útiles de ABAP.

http://www.sap-img.com/abap/abap-faq-2.htm

To execute a DOS command from ABAP: Muestra cómo ejecutar comandos de Windows desde
ABAP.

http://www.sap-img.com/fu005.htm

Issuing an Unix Command from ABAP: Muestra cómo ejecutar comandos de Unix desde ABAP.

http://www.sap-img.com/ab008.htm

Calling MDM JAVA-API application (executable) from ABAP: Muestra cómo hacer llamado de
rutinas remotas en Windows desde ABAP.

http://searchsap.techtarget.com/tip/0,289483,sid21_gci1223162,00.html
Apéndice

Lista de Ambientes Java

A continuación se muestra una lista de las máquinas virtuales (JVM) o amientes de ejecución Java
(JRE) para algunos Sistemas Operativos, y las referencias en internet acerca de dónde se pueden
descargar o dónde se puede encontrar información sobre ellas:

Java on AS/400: Un manual de cómo instalar Java en AS400 y i-Series de IBM.

http://publib.boulder.ibm.com/html/as400/v4r5/ic2924/info/java/rzaid/java400.pdf

Java Downloads for All Operating Systems: Sitio de descarga de Java para los Windows, Linux
y Solaris. Contiene las instrucciones para cada sistema operativo. Estos JRE son fabricados por
Sun Microsystems.

http://www.java.com/en/download/manual.jsp

Lastest Java Releases and Download Links: Sitio de descarga de Java para Linux y i-Series.
Estos JRE son fabricados por IBM.

http://www.ibm.com/developerworks/java/jdk/linux/download.html

También podría gustarte