Der Makro COBJMGT umfasst folgende Funktionen der Objektverwaltung:
ein neues Objekt erzeugen
ein Objekt kopieren oder löschen
die Größe eines Objekts in Bytes ausgeben
den Wert eines oder mehrerer Attribute eines Objekts ausgeben
den Wert eines oder mehrerer Attribute eines Objekts verändern
eine Suche nach Token- und Sitzungs-Objekten, die einem Template entsprechen, initialisieren
eine Suche nach Token- und Sitzungs-Objekten, die einem Template entsprechen, fortsetzen, wobei zusätzliche Objekt-Handles ausgegeben werden
eine Suche nach Token- und Sitzungs-Objekten beenden
Die Funktionen C_FindObjectsInit und C_FindObjectsFinal werden immer synchron ausgeführt.
Alle anderen 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 COBJMGT finden Sie in PKCS#11 V2.20: Cryptographic Token Interface Standard im Abschnitt 11.7 „Object management functions“.
Makro | Operanden |
COBJMGT | MF=C / D / L / M / E ,VERSION=001 / 002 ,ACTION=*CREATEOBJECT / *COPYOBJECT / *DESTROYOBJECT / *GETOBJECTSIZE / *GETATTRIBUTEVALUE / *SETATTRIBUTEVALUE / *FINDOBJECTSINIT / *FINDOBJECTS / *FINDOBJECTSFINAL / <var: enum-of _action_set: 1> / default: _action_set.undefined ,SESSION=<var: int:4> / <integer 0 .. 2147483647> / 0 ,OBJECT=<var: int:4> / <integer 0 .. 2147483647> / 0 ,TEMPLAT=<var: pointer> / NULL ,COUNT=<var: int:4> / <integer 0 .. 2147483647> / 0 ,OBJLIST=<var: pointer> / NULL ,OBJSIZE=<var: int:4> / <integer 0 .. 2147483647> / 0 ,MAXOBJ=<var: int:4> / <integer 0 .. 2147483647> / 0 ,OBJCNT=<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.
=*CREATEOBJECT
entspricht der PKCS#11-Funktion C_CreateObject;
erzeugt ein neues Objekt.
=*COPYOBJECT
entspricht der PKCS#11-Funktion C_CopyObject;
kopiert ein Objekt.
=*DESTROYOBJECT
entspricht der PKCS#11-Funktion C_DestroyObject;
löscht ein Objekt.
=*GETOBJECTSIZE
entspricht der PKCS#11-Funktion C_GetObjectSize;
gibt die Größe eines Objekts in Bytes aus.
Diese Funktion wird nicht unterstützt.
=*GETATTRIBUTEVALUE
entspricht der PKCS#11-Funktion C_GetAttributeValue;
gibt den Wert eines oder mehrerer Attribute eines Objekts aus.
=*SETATTRIBUTEVALUE
entspricht der PKCS#11-Funktion C_SetAttributeValue;
verändert den Wert eines oder mehrerer Attribute eines Objekts.
=*FINDOBJECTSINIT
entspricht der PKCS#11-Funktion C_FindObjectsInit;
initialisiert eine Suche nach Token- und Sitzungs-Objekten, die einem Template entsprechen.
=*FINDOBJECTS
entspricht der PKCS#11-Funktion C_FindObjects;
setzt eine Suche nach Token- und Sitzungs-Objekten fort, die einem Template entsprechen, wobei zusätzliche Objekt-Handles ausgegeben werden.
=*FINDOBJECTSFINAL
entspricht der PKCS#11-Funktion C_FindObjectsFinal;
beendet eine Suche nach Token- und Sitzungs-Objekten.
SESSION
Identifier der Sitzung
OBJECT
Objekt-Handle
*CREATEOBJECT: OBJECT empfängt den neuen Objekt-Handle
*COPYOBJECT, *DESTROYOBJECT, *GETOBJECTSIZE, *GETATTRIBUTEVALUE, *SETATTRIBUTEVALUE: der Objekt-Handle
*FINDOBJECTSINIT, *FINDOBJECTS, *FINDOBJECTSFINAL: Objekt-Handle wird nicht benutzt
TEMPLAT
Objekt-Template
*CREATEOBJECT, *COPYOBJECT: das Template des Objektes
*GETATTRIBUTEVALUE: TEMPLAT zeigt auf ein Template, das festlegt, welche Attributwerte ausgegeben werden müssen und das die Attributwerte empfängt.
*SETATTRIBUTEVALUE: TEMPLAT zeigt auf ein Template, das festlegt, welche Attributwerte geändert werden müssen, und das deren neue Werte vorgibt.
*FINDOBJECTSINIT: TEMPLAT zeigt auf ein Such-Template, das die Attributwerte festlegt, denen entsprochen werden muss.
*DESTROYOBJECT, *GETOBJECTSIZE, *FINDOBJECTS, *FINDOBJECTSFINAL: TEMPLAT wird nicht benutzt.
COUNT
Anzahl der Attribute im Template
*DESTROYOBJECT, *GETOBJECTSIZE, *FINDOBJECTS, *FINDOBJECTSFINAL: COUNT wird nicht genutzt.
OBJLIST
zeigt auf den Speicherbereich, der die Liste (Array) von zusätzlichen Objekt-Handles empfängt;
wird nur von *FINDOBJECTS genutzt.
OBJSIZE
empfängt die Größe des Objekts in Bytes;
wird nur von *GETOBJECTSIZE genutzt.
MAXOBJ
maximale Anzahl von Objekt-Handles, die zurückgegeben werden;
wird nur von *FINDOBJECTS genutzt.
OBJCNT
empfängt die aktuelle Anzahl von Objekt-Handles, die zurückgegeben wird;wird nur von *FINDOBJECTS 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 Makro-Aufruf ausgibt (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).