Hinweise zu DATA_ENCRYPT

Beachten Sie bei Verwendung des Authentifizierungstyps DATA_ENCRYPT die folgenden Hinweise. Diese Informationen beziehen sich nur auf Bibliotheken für Kommunikationspufferexits.

Wichtig: Der Authentifizierungstyp DATA_ENCRYPT ist veraltet und wird möglicherweise in einem zukünftigen Release entfernt. Zur Verschlüsselung von Daten bei der Übertragung zwischen Clients und Db2 datenbanken zu verschlüsseln, empfehlen wir Ihnen, die Db2 unterstützung von Transport Layer Security (TLS) durch das Datenbanksystem. Weitere Informationen finden Sie unter Verschlüsselung von Daten bei der Übertragung.

Besonders hervorzuheben sind Kommunikationsaktivitäten, die durch den Authentifizierungstyp DATA_ENCRYPT geschützt sind. Im Gegensatz zu SSL erfolgt die erforderliche Verschlüsselung und Entschlüsselung zur Unterstützung von DATA_ENCRYPT durch den Datenbankmanager. Dieser wird ausgeführt, nachdem Daten vom Client empfangen wurden und bevor eine Antwort an den Client gesendet wird.

Empfangen und DATA_ENCRYPT

Beim Empfang einer verschlüsselten DSS (Data Stream Structure) vom Client wird der Puffer gemäß den Erfordernissen des Datenbankmanagers entschlüsselt. Das heißt, dass nicht sofort der gesamte Puffer entschlüsselt wird. Die Bibliothek für Kommunikationspufferexits wird während der Entschlüsselung mit den entschlüsselten Daten aufgerufen.

Die Länge der DSS bzw. die Länge der DSS-Fortsetzung, wenn die DSS länger als ein logischer Datensatz ist, enthält die Länge der verschlüsselten DSS. Sie enthält nicht die Länge des entschlüsselten Puffers. Da bei der Verschlüsselung immer eine Auffüllung hinzugefügt wird, übersteigt diese Länge immer die Länge des unverschlüsselten Texts. Die Länge der Auffüllung für die DSS beträgt maximal 8 Byte.

Bei Ausführung des letzten Aufrufs von db2CommexitRecv wird die Markierung DB2COMMEXIT_RECV_IN_FLAG_END_DECRYPT als Eingabe übergeben, um das Ende der verschlüsselten DSS anzugeben.
Hinweis: Es ist möglich, dass die Länge in einem solchen Fall 0 ist, was bedeutet, dass eine vollständige Blockgröße für das Auffüllen hinzugefügt wird.

Senden und DATA_ENCRYPT

Bei der Verschlüsselung einer DSS-Antwort an den Client kann der Puffer, der an den Client gesendet wird, aus mehreren unverschlüsselten und verschlüsselten DSS bestehen. Bei der Vorbereitung dieser DSS werden diese als Eingabe an die Routine db2commexitSend übergeben. Diese Übergaben erfolgen jeweils nacheinander, da die unverschlüsselten Daten vor der Verschlüsselung als Eingabe verwendet werden müssen. Der Datenbankmanager erhält möglicherweise eine Fehlerbedingung, die erforderlich macht, dass zuvor vorbereitete, aber nicht gesendete DSS gelöscht werden müssen. Die Bibliothek für Kommunikationspufferexits hat möglicherweise bereits Kenntnis über diese Bibliotheken. Die Funktion db2CommexitSend wird mit einer Länge von 0 und der Markierung DB2COMMEXIT_SEND_IN_FLAG_PURGE aufgerufen, um anzugeben, dass ein Löschvorgang erfolgt ist.