Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

CCRY - Kryptographische Operation ausführen

&pagelevel(4)&pagelevel

Der Makro CCRY umfasst folgende Funktionen:

  • ein Datenpaket verschlüsseln

  • eine mehrteilige Verschlüsselungsoperation fortsetzen

  • verschlüsselte Daten in einem Teil entschlüsseln

  • eine mehrteilige Entschlüsselungsoperation fortsetzen

  • aus Daten einen Hash-Wert (Message-Digest) berechnen

  • eine mehrteilige message-digesting Operation fortsetzen

  • Daten in einem Teil signieren, wobei die Signatur ein Anhang der Daten ist

  • eine mehrteilige Signatur-Operation fortsetzen, wobei die Signatur ein Anhang der Daten ist

  • Daten in einer einzelnen Operation signieren, wobei die Daten von der Signatur zurückgewonnen werden können

  • eine Signatur in einer einteiligen Operation überprüfen, wobei die Signatur ein Anhang der Daten ist

  • eine mehrteilige Überprüfungsoperation fortsetzen, bei der die Signatur ein Anhang der Daten ist

  • eine Signatur in einer einteiligen Operation überprüfen, wobei die Daten von der Signatur zurückgewonnen werden

  • eine mehrteilige Hash-Wert-Berechnungs- und Verschlüsselungsoperation fortsetzen

  • eine mehrteilige Entschlüsselungs- und Hash-Wert-Berechnungsoperation fortsetzen

  • eine mehrteilige Signatur- und Verschlüsselungsoperation fortsetzen

  • eine mehrteilige Entschlüsselungs- und Überprüfungsoperation fortsetzen

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 CCRY finden Sie in PKCS#11 V2.20: Cryptographic Token Interface Standard in den Abschnitten 11.8 bis 11.13 unter „C_Encrypt“, „C_EncryptUpdate“, „C_Decrypt“, „C_DecryptUpdate“, „C_Digest“, „C_DigestUpdate“, „C_DigestKey“, „C_Sign“, „C_SignUpdate“, „C_SignRecover“, „C_Verify“, „C_VerifyUpdate“, „C_VerifyRecover“, „C_DigestEncryptUpdate“, „C_DecryptDigestUpdate“, „C_SignEncryptUpdate“ und „C_DecryptVerifyUpdate“.

 

Makro

Operanden

CCRY

MF=C / D / L / M / E

,VERSION=001 / 002

,ACTION=ENCRYPT / *ENCRYPTUPDATE / *DECRYPT / *DECRYPTUPDATE /

*DIGEST / *DIGESTUPDATE / *SIGN / *SIGNUPDATE / *SIGNRECOVER /

*VERIFY / *VERIFYUPDATE / *VERIFYRECOVER / *DIGESTENCRYPTUPDATE /

*DECRYPTDIGESTUPDATE / *SIGNENCRYPTUPDATE /

*DECRYPTVERIFYUPDATE / <var: enum-of _action_set: 1> /

default: _action_set.undefined

,SESSION=<var: int:4> / <integer 0 .. 2147483647> / 0

,DATAIN=<var: pointer> / NULL

,INLEN=<var: int:4> / <integer 0 .. 2147483647> / 0

,DATAOUT=<var: pointer> / NULL

,OUTLEN=<var: int:4> / <integer 0 .. 2147483647> / 0

,BOID=<var: int:4> / 0

,RPOSTAD=<var: pointer> / NULL

,RPOSTL=<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 ab CRYPT V1.1 unterstützt wird.

 

ACTION

Art der Aktion.
Die korrespondierende PKCS#11-Funktion ist bei jedem Aktionscode angegeben.

=*ENCRYPT

entspricht der PKCS#11-Funktion C_Encrypt;
verschlüsselt ein Datenpaket.

=*ENCRYPTUPDATE

entspricht der PKCS#11-Funktion C_EncryptUpdate;
setzt eine mehrteilige Verschlüsselungsoperation fort.

=*DECRYPT

entspricht der PKCS#11-Funktion C_Decrypt;
entschlüsselt verschlüsselte Daten in einem Teil.

=*DECRYPTUPDATE

entspricht der PKCS#11-Funktion C_DecryptUpdate;
setzt eine mehrteilige Entschlüsselungsoperation fort.

=*DIGEST

entspricht der PKCS#11-Funktion C_Digest;
fasst Daten zu einem Hash-Wert zusammen.

=*DIGESTUPDATE

entspricht der PKCS#11-Funktion C_DigestUpdate;
setzt eine mehrteilige message-digesting Operation fort.

=*SIGN

entspricht der PKCS#11-Funktion C_Sign;
signiert Daten in einem Teil, in dem die Signatur ein Anhang der Daten ist.

=*SIGNUPDATE

entspricht der PKCS#11-Funktion C_SignUpdate;
setzt eine mehrteilige Signatur-Operation fort, bei der die Signatur ein Anhang der Daten ist.

=*SIGNRECOVER

entspricht der PKCS#11-Funktion C_SignRecover;
signiert Daten in einer einzelnen Operation, bei der die Daten von der Signatur zurückgewonnen werden können.
Diese Funktion wird nicht unterstützt.

=*VERIFY

entspricht der PKCS#11-Funktion C_Verify;
überprüft die Signatur in einer einteiligen Operation, wo die Signatur ein Anhang der Daten ist.

=*VERIFYUPDATE

entspricht der PKCS#11-Funktion C_VerifyUpdate;
setzt eine mehrteilige Überprüfungsoperation fort, wo die Signatur ein Anhang der Daten ist.

=*VERIFYRECOVER

entspricht der PKCS#11-Funktion C_VerifyRecover;
überprüft eine Signatur in einer einteiligen Operation, bei der die Daten von der Signatur zurückgewonnen werden.

=*DIGESTENCRYPTUPDATE

entspricht der PKCS#11-Funktion C_DigestEncryptUpdate;
setzt eine mehrteilige Hash-Wert-Berechnungs- und Verschlüsselungsoperation fort.
Diese Funktion wird nicht unterstützt.

=*DECRYPTDIGESTUPDATE

entspricht der PKCS#11-Funktion C_DecryptDigestUpdate;
setzt eine mehrteilige Entschlüsselungs- und Hash-Wert-Berechnungsoperation fort.
Diese Funktion wird nicht unterstützt.

=*SIGNENCRYPTUPDATE

entspricht der PKCS#11-Funktion C_SignEncryptUpdate;
setzt eine mehrteilige Signatur- und Verschlüsselungsoperation fort.
Diese Funktion wird nicht unterstützt.

=*DECRYPTVERIFYUPDATE

entspricht der PKCS#11-Funktion C_DecryptVerifyUpdate;
setzt eine mehrteilige Entschlüsselungs- und Überprüfungsoperation fort.
Diese Funktion wird nicht unterstützt.

SESSION

Identifier der Sitzung

DATAIN

zeigt auf Eingabedaten

INLEN

Länge der Eingabedaten in Bytes

DATAOUT

zeigt auf Ausgabedaten

  • *VERIFY: Zeiger auf die Signatur

  • *DIGESTUPDATE, *SIGNUPDATE, *VERIFYUPDATE: wird nicht genutzt

OUTLEN

Länge der Ausgabedaten in Bytes

  • *VERIFY: Länge der Signatur

  • *DIGESTUPDATE, *SIGNUPDATE, *VERIFYUPDATE: 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).