Der Makro CSESION umfasst folgende Funktionen der Sitzungsverwaltung:
eine Sitzung zwischen einer Anwendung und einem Token in einem bestimmten Slot eröffnen
eine Sitzung zwischen einer Anwendung und einem Token schließen
alle Sitzungen einer Anwendung mit einem Token schließen
Information über eine Sitzung ausgeben
Die Funktionen C_OpenSession, C_CloseSession und C_CloseAllSessions werden asynchron ausgeführt, falls für die Task mit C_Initialize asynchrone Funktionsausführung festgelegt wurde.
Eine detaillierte Beschreibung zu den Funktionen des Makros CSESION finden Sie in PKCS#11 V2.20: Cryptographic Token Interface Standard, Abschnitt 11.6 „Session management functions“ unter „C_OpenSession“, „C_CloseSession“, „C_CloseAllSessions“ und „C_GetSessionInfo“.
Makro | Operanden |
CSESION | MF=C / D / L / M / E ,VERSION=001 / 002 ,ACTION=*OPENSESSION / *CLOSESESSION / *CLOSEALLSESSIONS / *GETSESSIONINFO / <var: enum-of _action_set: 1> / default: _action_set.undefined ,SESSION=<var: int:4> / <integer 0..2147483647> / 0 ,SLOTID=<var: int:4> / 0 ,RWSESS=<var: bit:1> / *NO / *YES ,SERIAL=<var: bit:1> / *NO / *YES ,INFO=<var: pointer> / NULL ,NOTIFY=<var: pointer> / NULL ,BOID=<var: int:4> / 0 ,RPOSTAD=<var: pointer> / NULL ,RPOSTL=<integer 1..2> / <var: int:4> / 0 ,GENKPR=<var: bit:1> / *ALLOWED / *NOTALLOWED |
VERSION
gibt an, welche Version des Parameterbereichs generiert werden soll. Es empfiehlt sich, immer die neueste Version zu verwenden.
=001
Es wird das Format generiert, das von CRYPT V1.0 unterstützt wurde. Dieses Format unterstützt nur die bereits in CRYPT V1.0 bekannten Parameter.VERSION=001 ist Voreinstellung.
=002
Es wird das Format generiert, das ab CRYPT V1.1 unterstützt wird.
ACTION
Art der Aktion.
Die korrespondierende PKCS#11-Funktion ist bei jedem Aktionscode angegeben.
=*OPENSESSION
entspricht der PKCS#11-Funktion C_OpenSession;
eröffnet eine Sitzung zwischen einer Anwendung und einem Token in einem bestimmten Slot.
=*CLOSESESSION
entspricht der PKCS#11-Funktion C_CloseSession;
schließt eine Sitzung zwischen einer Anwendung und einem Token.
=*CLOSEALLSESSIONS
entspricht der PKCS#11-Funktion C_CloseAllSessions;
schließt alle Sitzungen zwischen einer Anwendung und einem Token.
=*GETSESSIONINFO
entspricht der PKCS#11-Funktion C_GetSessionInfo;
gibt Information über eine Sitzung aus.
Diese Funktion wird nicht unterstützt!
SESSION
Identifier der Sitzung
SLOTID
ID des Slots
RWSESS
kennzeichnet Read-/Write- bzw. Read-only-Sitzungen
=*NO
Read-only-Sitzung
=*YES
Read-/Write-Sitzung
SERIAL
serielle Sitzung
*OPENSESSION: SERIAL sollte immer auf *YES gesetzt werden.
*GETSESSIONINFO / *CLOSESESSION / *CLOSEALLSESSIONS: SERIAL wird nicht genutzt.
INFO
Art der Information in Abhängigkeit von der Aktion:
*OPENSESSION: INFO ist ein in der Anwendung definierter Pointer, der an den Notification-Callback übergeben wird; wird nicht unterstützt.
*GETSESSIONINFO: INFO zeigt auf den Speicherbereich, der Sitzungsinformationen empfängt.
*CLOSESESSION / *CLOSEALLSESSIONS: INFO wird nicht genutzt.
NOTIFY
Callback-Funktion
*OPENSESSION: Adresse der Notification-Callback-Funktion; wird nicht unterstützt
*CLOSESESSION / *CLOSEALLSESSIONS / *GETSESSIONINFO: Die Callback-Funktion wird nicht genutzt.
BOID
Ereigniskennung
bei synchroner Ausführung: BOID wird nicht genutzt.
bei asynchroner Ausführung: Ereigniskennung, an die das Ende der Funktionsbearbeitung signalisiert wird.
RPOSTAD
Adresse des Postcodes
bei synchroner Ausführung: RPOSTAD wird nicht genutzt.
bei asynchroner Ausführung: spezifiziert ein Feld, das Postcode-Information enthält, die zum korrespondierenden Programm übertragen werden soll, das den SOLSIG-Aufruf absetzt (siehe auch Benutzerhandbuch „Makroaufrufe an den Ablaufteil“ [3]).
Länge des Postcodes: 4 oder 8 bytes
RPOSTL
Länge des Postcodes
bei synchroner Ausführung: RPOSTL wird nicht genutzt.
bei asynchroner Ausführung: gibt die Länge der Postcode-Information in Worten an (1 oder 2).
GENKPR
Dieser Operand ist wirkungslos.