DokumentationCampaignCampaign Classic v7 – Dokumentation

GCM-basierte Funktionen

Letzte Aktualisierung: 14. April 2025
  • Gilt für:
  • Campaign Classic v7
  • Themen:

Um die Sicherheit zu erhöhen, haben wir die Verwendung des AES-Algorithmus (Advanced Encryption Standard) mit dem CBC-Modus (Cipher Block Chaining) für kryptografische Vorgänge eingestellt. Dafür wurden neue Verschlüsselungsfunktionen eingeführt. Diese Funktionen verwenden AES mit dem Galois/Counter Mode (AES-GCM) und bieten so eine sicherere Alternative. Sie sind in JavaScript, JSP, SOAP-APIs und XML-Schemata verfügbar, sodass Kundinnen und Kunden zur Verschlüsselung und Entschlüsselung von CBC zu GCM wechseln können.

Diese Dokumentation listet die neu eingeführten AES-GCM-Funktionen und die eingestellten CBC-basierten Funktionen auf.

Neue Funktionen

  • EncryptString-API-Funktion
  • EncryptStringWithServerPassword-API-Funktion
  • encryptString-JavaScript-Funktion

Legacy-Funktionen, die für GCM verwendet werden können:

  • DecryptString-JavaScript-Funktion
  • DecryptPassword-JavaScript-Funktion

Eingestellte Funktionen

API-Funktionen

EncryptString

Verschlüsselt den String mit dem Instanzschlüssel unter Verwendung des AES-Algorithmus mit GCM-Modus.

            String
            encrypted = Encrypt (
            String
            decrypted


      )

Parameter: decrypted

Rückgabewert(e): encrypted

Schema: xtk:session

Statisch: Ja

EncryptStringWithServerPassword

Verschlüsselt den String mit dem Server-Schlüssel unter Verwendung des AES-Algorithmus mit GCM-Modus.

            String
            encrypted = EncryptStringWithServerPassword (
            String
            decrypted


      )

Parameter: decrypted

Rückgabewert(e): encrypted

Schema: xtk:session

Statisch: Ja

JavaScript-Funktionen

encryptString()

Verschlüsselt einen String mit dem Schlüssel der Instanz oder einem anderen Schlüssel.

            cryptString (str [, key
      ] [, useSalt ])

Parameter:

  • str: Der zu verschlüsselnde String.
  • key: Der AES-Verschlüsselungsschlüssel wird mit Base 64 verschlüsselt: 256 Bit bei einer Schlüssellänge von 32, 192 Bit bei einer Schlüssellänge von 24, 128 Bit bei einer Schlüssellänge von 16 oder fehlender Schlüsselangabe.
  • useSalt: Verwenden Sie Salt der zu verschlüsselnden Daten. Standardmäßig „true“.

Rückgabewert: Gibt den verschlüsselten String zurück.

Bemerkungen

Die Verschlüsselung erfolgt nach folgender Methode:

  • Der Unicode-String wird in einen UTF-8-String umgewandelt.
  • Am Ende wird im Chiffretext ein Prüfzeichen hinzugefügt.
  • Dieser String wird mit dem AES-Algorithmus im Galois/Counter Mode (GCM) unter Verwendung von Salt mit einem 12-Byte-Initialisierungsvektor und einem 16-Byte-Tag verschlüsselt. Wenn kein Schlüssel als Parameter angegeben wird, wird der Instanzschlüssel verwendet.
  • Der Chiffretext enthält das Tag und den Initialisierungsvektor.
  • Der verschlüsselte Block wird dann in Base 64 konvertiert.

Die Entschlüsselung erfolgt mit der Funktion „decryptString“.

Funktionen

Verfügbar in:

  • Content-Management
  • Versandeigenschaften
  • Versandnachricht
  • Typologieregel
  • Import
  • JSSP
  • SOAP-Methoden
  • WebApp
  • Workflow

decryptString()

Verschlüsselt einen String mit dem Schlüssel der Instanz oder einem anderen Schlüssel. Diese Legacy-Funktion kann mit GCM verwendet werden. Sie steht für die Entschlüsselung von mit dem AES-CBC-Modus verschlüsselten Chiffretext nicht mehr zur Verfügung.

            decryptString (str [, key
      ] [, useSalt ])

Parameter:

  • str: Der zu entschlüsselnde String.
  • key: Der AES-Verschlüsselungsschlüssel wird mit Base 64 verschlüsselt: 256 Bit bei einer Schlüssellänge von 32, 192 Bit bei einer Schlüssellänge von 24, 128 Bit bei einer Schlüssellänge von 16 oder fehlender Schlüsselangabe.
  • useSalt: Verwenden Sie Salt der zu entschlüsselnden Daten. Standardmäßig „true“.

Rückgabewert: Gibt den entschlüsselten String zurück.

Warnung: In der Datenbank gespeicherte Passwörter (Optionen/externe Konten) können mit dieser Methode nicht mehr entschlüsselt werden. Verwenden Sie dazu decryptPassword.

decryptPassword()

Entschlüsselt ein in einem externen Konto gespeichertes Passwort. Diese Legacy-Funktion kann mit GCM verwendet werden. Sie steht für die Entschlüsselung von mit dem AES-CBC-Modus verschlüsselten Chiffretext nicht mehr zur Verfügung.

            decryptPassword (str)

Parameter:

  • str: Der zu entschlüsselnde String.

Rückgabewert: Gibt das Passwort in reiner Textform zurück.

Bemerkungen

Diese Funktion kann nicht in Workflows, Web-Anwendungen, Berichten oder Sendungen aufgerufen werden, aber in JSSP- oder SOAP-Aufrufimplementierungen. Beispiel:

        function nms_extAccount_LogonToRemoteInstance(remoteInstanceUrl, login, encryptedPassword) {
        var cnx = null, sessionService = null;
        try
            {
                var cnx = new HttpSoapConnection(remoteInstanceUrl + '/nl/jsp/soaprouter.jsp', 'utf-8', 0);
                sessionService = new SoapService(cnx, 'xtk:session');
                sessionService.addMethod("Logon", "xtk:session#Logon",
                    ["token", "string", "login", "string", "password", "string", "parameters", "NLElement"],
                    ["sessionToken", "string", "sessionInfo", "NLElement", "securityToken", "string"]);
                return sessionService.Logon("", login, decryptPassword(encryptedPassword), <parameters/>);
            }
        catch( e ) {
        logError(e);
        }
        finally {
        if( sessionService ) sessionService.dispose();
        if( cnx ) cnx.dispose();
        }
        })

Eingestellte Funktionen

Folgende Funktionen stehen nicht mehr zur Verfügung:

  • cryptString
  • Verschlüsseln
  • EncryptServerPassword
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1