Verschlüsselungslogik

Die Anwendung stellt die Schnittstelle "com.yantra.ycp.japi.util.YCPEncrypter" zur Verarbeitung von Verschlüsselungslogik bereit. Sämtliche Anwendungsverschlüsselung und -entschlüsselung wird von einer Verschlüsselungsklasse verarbeitet, die diese Schnittstelle implementiert.

Diese Klasse wird durch Konfiguration der folgenden Eigenschaften in der Datei <runtime_sandbox>/properties/customer_overrides.properties angegeben:
  • security.encrypter.class
  • security.propertyencrypter.class

Beide Klassen müssen die Schnittstelle "com.yantra.ycp.japi.util.YCPEncrypter" implementieren.

Die Schnittstelle "com.yantra.ycp.japi.util.YCPEncrypter" hat die folgenden zwei Funktionen:
  • public java.lang.String encrypt(java.lang.String sData) - "sData" steht für die Daten, die von der Anwendung an die implementierende Klasse für die Verschlüsselung übergeben werden. Der Rückgabewert ist die verschlüsselte Zeichenfolge.
  • public java.lang.String decrypt(java.lang.String sData) - "sData" steht für die Daten, die zu entschlüsseln sind.

Informationen zum Schreiben einer eigenen Verschlüsselungsklasse für Eigenschaften finden Sie im Abschnitt zur Schnittstelle "YCPEncrypter" in den Javadoc-Informationen.

Die Ver- und Entschlüsselungsfunktionen in dieser Schnittstelle werden mehrfach vom Sterling™ Order Management System aufgerufen. Die Anwendung unterscheidet nicht zwischen Klartext und verschlüsselten Informationen. Daher kann die Verschlüsselungsfunktion mit zuvor verschlüsselten Daten aufgerufen werden. Zur Vermeidung einer doppelten Verschlüsselung ist es wichtig, dass die Verschlüsselungsfunktion zwischen Klartext und zuvor verschlüsselten Informationen unterscheiden kann. Wenn zuvor verschlüsselte Informationen an die Funktion übergeben werden, sollte Ihre Implementierung von dieser Funktion das zurückgeben, was ihr übergeben wurde, ohne diese Informationen erneut zu verschlüsseln.

Auch die Entschlüsselungsfunktion sollte in der Lage sein, zwischen Klartext und zuvor verschlüsseltem Text zu unterscheiden.

Verschlüsselung und Entschlüsselung inaktivieren

Implementieren Sie zur Inaktivierung der Verschlüsselung (oder Entschlüsselung) die Verschlüsselungsfunktion (oder Entschlüsselungsfunktion), damit ohne Verarbeitung derselbe Wert zurückgegeben wird, der eingegeben wurde.