Der Makro CCRYFIN umfasst folgende Funktionen:
eine mehrteilige Verschlüsselungsoperation beenden
eine mehrteilige Entschlüsselungsoperation beenden
eine mehrteilige message-digesting Operation beenden
eine mehrteilige Signatur-Operation mit der Rückgabe der Signatur beenden
eine mehrteilige Überprüfungsoperation mit der Überprüfung der Signatur beenden
Alle Funktionen 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 CCRYFIN finden Sie in PKCS#11 V2.20: Cryptographic Token Interface Standard in den Abschnitten 11.8 bis 11.12 unter „C_EncryptFinal“, „C_DecryptFinal“, „C_DigestFinal“, „C_SignFinal“ und „C_VerifyFinal“.
Makro | Operanden |
CCRYFIN | MF=C / D / L / M / E ,VERSION=001 / 002 ,ACTION=ENCRYPTFINAL / *DECRYPTFINAL / *DIGESTFINAL / *SIGNFINAL / *VERIFYFINAL / <var: enum-of _action_set: 1> / default: _action_set.undefined ,SESSION=<var: int:4> / <integer 0 .. 2147483647> / 0 ,DATA=<var: pointer> / NULL ,LEN=<var: int:4> / <integer 0 .. 2147483647> / 0 ,BOID=<var: int:4> / 0 ,RPOSTAD=<var: pointer> / NULL ,RPOSTL=<integer 1..2> / <var: int:4> / 0<integer 1..2> / <var: int:4> / 0 |
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 von CRYPT V1.1 unterstützt wird.
ACTION
Art der Aktion.
Die korrespondierende PKCS#11-Funktion ist bei jedem Aktionscode angegeben.
=*ENCRYPTFINAL
entspricht der PKCS#11-Funktion C_EncryptFinal;
beendet eine mehrteilige Verschlüsselungsoperation.
=*DECRYPTFINAL
entspricht der PKCS#11-Funktion C_DecryptFinal;
beendet eine mehrteilige Entschlüsselungsoperation.
=*DIGESTFINAL
entspricht der PKCS#11-Funktion C_DigestFinal;
beendet eine mehrteilige Operation, die einen Hash-Wert berechnet.
=*SIGNFINAL
entspricht der PKCS#11-Funktion C_SignFinal;
beendet eine mehrteilige Signatur-Operation mit der Rückgabe der Signatur.
=*VERIFYFINAL
entspricht der PKCS#11-Funktion C_VerifyFinal;
beendet eine mehrteilige Überprüfungsoperation mit der Überprüfung der Signatur.
SESSION
Identifier der Sitzung
DATA
zeigt auf Daten
*ENCRYPTFINAL, *DECRYPTFINAL, *DIGESTFINAL, *SIGNFINAL: DATA zeigt auf Ausgabedaten.
*VERIFYFINAL: DATA zeigt auf die Signatur.
LEN
Länge der Daten in Bytes
*ENCRYPTFINAL, *DECRYPTFINAL, *DIGESTFINAL, *SIGNFINAL: Länge der Ausgabedaten in Bytes
*VERIFYFINAL: Länge der Signatur in Bytes
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).