Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Set_Conversation_Encryption_Level - Verschlüsselungsebene setzen

&pagelevel(4)&pagelevel

Der Aufruf Set_Conversation_Encryption_Level (CMSCEL) beeinflusst den Wert für die Conversation Characteristic ENCRYPTION-LEVEL. Mit der Verschlüsselungsebene wird festgelegt, ob während der Conversation die Benutzerdaten verschlüsselt oder unverschlüsselt übertragen werden sollen. Der Aufruf überschreibt den Wert von encryption_level, der beim Initialize_Conversation-Aufruf zugewiesen wurde.

Der Aufruf Set_Conversation_Encryption_Level ist nur im Zustand "Initialize" erlaubt.

UPIC-Local auf Unix-, Linux- und Windows-Systemen:
Die Datenübertragung ist durch die Art der Übertragung selbst geschützt. Der Aufruf Set_Conversation_Encryption_Level wird nicht unterstützt.


Diese Funktion gehört zu den zusätzlichen Funktionen des Trägersystems UPIC; sie ist nicht Bestandteil der CPI-C-Schnittstelle.

Syntax
CMSCEL (conversation_ID, encryption_level, return_code)

Parameter

--> conversation_ID

Identifikation der Conversation

--> encryption_level

legt fest, ob in der Conversation die Benutzerdaten verschlüsselt oder nicht verschlüsselt werden sollen. Folgende Werte können Sie angeben:

CM_ENC_LEVEL_NONE
Die Benutzerdaten der Conversation werden unverschlüsselt übertragen.

CM_ENC_LEVEL_3
Die Benutzerdaten werden verschlüsselt übertragen, zum Verschlüsseln wird der AES-Algorithmus benutzt. Für den Austausch des AES-Schlüssels wird ein RSA-Schlüssel mit einer Schlüssellänge von 1024 Bit verwendet.

CM_ENC_LEVEL_4
Die Benutzerdaten werden verschlüsselt übertragen, zum Verschlüsseln wird der AES-Algorithmus benutzt. Für den Austausch des AES-Schlüssels wird ein RSA-Schlüssel mit einer Schlüssellänge von 2048 Bit verwendet.

CM_ENC_LEVEL_5

Die Benutzerdaten werden verschlüsselt und authentifiziert übertragen, zum Verschlüsseln wird der AES-Algorithmus benutzt. Für den Austausch des AES-Schlüssels wird das Diffie-Hellman-Verfahren mit RSA-Schlüssellänge 2048 Bit verwendet.

<-- return_code

Ergebnis des Funktionsaufrufs.

Ergebnis ( return_code )

CM_OK

Aufruf ok

CM_CALL_NOT_SUPPORTED

Dieser Returncode gilt nur für Unix-, Linux- und Windows-Systeme.
Die Funktion wird nicht unterstützt. Dieser Returncode tritt nur bei UPIC-L auf. Er zeigt dem Programm an, dass keine Verschlüsselung notwendig ist.

CM_PROGRAM_STATE_CHECK

Die Conversation ist nicht im Zustand "Initialize".

CM_PROGRAM_PARAMETER_CHECK

Der Wert der conversation_ID ist ungültig oder der Wert von encryption_level ist undefiniert.

CM_PRODUCT_SPECIFIC_ERROR

Die UPIC-Instanz konnte nicht gefunden werden.

CM_ENCRYPTION_NOT_SUPPORTED

Für diese Conversation ist keine Verschlüsselung möglich, weil entweder

  • die Softwarevoraussetzungen nicht erfüllt sind

  • auf Unix-, Linux- und Windows-Systemen die UTM-Partner-Anwendung keine Verschlüsselung will, da der UPIC-L-Client vertrauenswürdig (trusted) ist.

CM_ENCRYPTION_LEVEL_NOT_SUPPORTED

die Verschlüsselung mit der angegebenen Verschlüsselungsebene (encryption_level) wird von UPIC nicht unterstützt.

Zustandsänderung

Im fehlerfreien Fall liefert die Funktion das Ergebnis CM_OK zurück. Der Aufruf ändert den Zustand der Conversation nicht.

Hinweis

  • Falls der Returncode von CM_OK verschieden ist, bleibt die Characteristic ENCRYPTION_LEVEL unverändert.

  • Ist die Verschlüsselungsebene, die von der UTM-Anwendung gefordert wird, höher als die auf der UPIC-Client Seite, wird die höhere Verschlüsselungsebene wirksam. D.h. wenn die UTM-Anwendung eine bestimmte Verschlüsselungsebene fordert, so verschlüsselt der UPIC-Client die Daten mit dieser Stufe, ungeachtet der von der UPIC-Anwendung eingestellten Verschlüsselungsebene.

  • Wenn zum Zeitpunkt des Aufrufs keine Kommunikationsverbindung zu einer UTM-Partner-Anwendung besteht, beendet sich die Funktion immer mit dem Returncode CM_OK. Erst beim folgenden Allocate-Aufruf wird entschieden, ob die gewünschte Verschlüsselungsebene wirksam wird.

Verhalten im Fehlerfall

CM_CALL_NOT_SUPPORTED

Dieser Returncode gilt nur für Unix-, Linux- und Windows-Systeme.
Muss kein Fehler sein: Falls eine Anwendung sowohl für UPIC-L als auch für UPIC-R vorgesehen ist, bedeutet dieser Returncode lediglich, dass die Anwendung mit einer UPIC-L-Bibliothek gebunden ist. In diesem Fall ist Verschlüsselung nicht nötig. Das Programm kann sich diesen Returncode merken und auf weitere Aufrufe zur Verschlüsselung verzichten. Ggfs. im UPIC-Protokoll überprüfen, ob diese Sutuation vorliegt.

CM_PROGRAM_STATE_CHECK

Programm ändern.

CM_PROGRAM_PARAMETER_CHECK

Programm ändern.

CM_PRODUCT_SPECIFIC_ERROR

Das Betriebssystem kann nicht genügend Speicherplatz für interne Puffer bereitstellen. Überprüfen Sie Ihr Programm auf zu hohe Speicherplatzanforderung und starten Sie ggf. Ihr System neu.

CM_ENCRYPTION_NOT_SUPPORTED

Muss kein Fehler sein: Falls eine UPIC-R Anwendung mit verschiedenen UTM-Partnern kommuniziert, von denen einige verschlüsseln können und andere nicht, bedeutet dieser Returncode lediglich, dass die Anwendung mit einer UTM-Anwendung kommuniziert, die nicht verschlüsseln kann oder will. In diesem Fall ist Verschlüsselung nicht möglich. Das Programm kann sich diesen Returncode merken und auf weitere Aufrufe zur Verschlüsselung verzichten.

CM_ENCRYPTION_LEVEL_NOT_SUPPORTED

Die UPIC-Bibliothek hat eventuell eine alte Encryption-Bibliothek geladen. Stellen Sie sicher, dass die Encryption-Bibliothek der neuesten openUTM-Client Version installiert ist und auch geladen wird. Beachten Sie bitte die Suchreihenfolge für Bibliotheken in den verschiedenen Betriebssystemen.

Funktionsdeklaration: Set_Conversation_Encryption_Level
CM_ENTRY Set_Conversation_Encryption_Level 
                      unsigned char       CM_PTR  conversation_ID,
                      CM_ENCRYPTION_LEVEL CM_PTR  encryption_level,
                      CM_RETURN_CODE      CM_PTR  return_code )