Lógica de cifrado

La aplicación expone la interfaz com.yantra.ycp.japi.util.YCPEncrypter para gestionar la lógica de cifrado. Todo el cifrado y descifrado de la aplicación lo gestiona una clase codificadora que implementa esta interfaz.

Esta clase se especifica configurando las propiedades siguientes en el archivo <runtime_sandbox>/properties/customer_overrides.properties :
  • security.encrypter.class
  • security.propertyencrypter.class

Ambas clases deben implementar la interfaz com.yantra.ycp.japi.util.YCPEncrypter.

La interfaz com.yantra.ycp.japi.util.YCPEncrypter tiene las dos funciones siguientes:
  • public java.lang.String encrypt(java.lang.String sData): sData son los datos que le pasa la aplicación a la clase de implementación del cifrado. El valor de retorno es la serie cifrada.
  • public java.lang.String decrypt(java.lang.String sData): sData son los datos que han de descifrarse.

Para obtener información sobre cómo escribir su propia clase de cifrador de propiedades, consulte la interfaz YCPEncrypter en la información de Javadoc.

Las funciones de cifrado y descifrado de esta interfaz son invocadas varias veces por el sistema de Sterling™ Order Management. La aplicación no distingue entre información sin cifrar e información cifrada. Por lo tanto, la función de cifrado puede invocarse con datos cifrados anteriormente. Para evitar el doble cifrado, es importante para la función de cifrado poder distinguir entre información sin cifrar e información cifrada anteriormente. Si a la función se le pasa información cifrada anteriormente, la implementación de esta función debe devolver lo que se le pasa sin volverlo a cifrar.

La función de descifrado también debe ser capaz de distinguir entre información sin cifrar e información cifrada anteriormente.

Inhabilitación de cifrado y descifrado

Para inhabilitar el cifrado (o descifrado), implemente la función de cifrado (o descifrado) para que devuelva sin procesar el mismo valor que se le pase como entrada.