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.
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.
db2CommexitRecv wird die Markierung DB2COMMEXIT_RECV_IN_FLAG_END_DECRYPT
als Eingabe übergeben, um das Ende der verschlüsselten DSS anzugeben.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.