Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

COBJMGT - object management

&pagelevel(4)&pagelevel

The COBJMGT macro covers the following object management functions

  • generating a new object

  • copying or deleting an object

  • outputting the size of an object in bytes

  • outputting the value of one or more attributes of an object

  • modifying the value of one or more attributes of an object

  • initializing a search for token and session objects that correspond to a template

  • continuing a search for token and session objects that correspond to a template, where additional object handles are output

  • terminating a search for token and session objects

The functions C_FindObjectsInit and C_FindObjectsFinal are always performed synchronously.

All other functions are performed asynchronously if asynchronous function execution has been specified for the task with C_Initialize.

A detailed description of the functions of the COBJMGT macro can be found in PKCS#11 V2.20: Cryptographic Token Interface Standard in section 11.7 “Object management functions”.

Macro

Operands

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

specifies which version of the parameter area is to be generated. It is always advisable to use the latest version.

=001

This generates the format that was supported by CRYPT V1.0. This format only supports the parameters already known in CRYPT V1.0.
VERSION=001 is the default.

=002

This generates the format which is supported as of CRYPT V1.1.


ACTION

Type of action.
The corresponding PKCS#11 function is specified for each action code.

=*CREATEOBJECT

corresponds to the PKCS#11 function C_CreateObject;
creates a new object.

=*COPYOBJECT

corresponds to the PKCS#11 function C_CopyObject;
copies an object.

=*DESTROYOBJECT

corresponds to the PKCS#11 function C_DestroyObject;
deletes an object.

=*GETOBJECTSIZE

corresponds to the PKCS#11 function C_GetObjectSize;
outputs the size of an object in bytes.
This function is not supported.

=*GETATTRIBUTEVALUE

corresponds to the PKCS#11 function C_GetAttributeValue;
outputs the value of one or more attributes of an object.

=*SETATTRIBUTEVALUE

corresponds to the PKCS#11 function C_SetAttributeValue;
modifies the value of one or more attributes of an object.

=*FINDOBJECTSINIT

corresponds to the PKCS#11 function C_FindObjectsInit;
initializes a search for token and session objects that correspond to a template.

=*FINDOBJECTS

corresponds to the PKCS#11 function C_FindObjects;
continues a search for token and session objects that correspond to a template, where additional object handles are output.

=*FINDOBJECTSFINAL

corresponds to the PKCS#11 function C_FindObjectsFinal;
terminates a search for token and session objects.

SESSION

Session identifier

OBJECT

Object handle

  • *CREATEOBJECT: OBJECT receives the new object handle

  • *COPYOBJECT, *DESTROYOBJECT, *GETOBJECTSIZE, *GETATTRIBUTEVALUE,*SETATTRIBUTEVALUE: The object handle

  • *FINDOBJECTSINIT, *FINDOBJECTS, *FINDOBJECTSFINAL: Object handle is not used

TEMPLAT

Object template

  • *CREATEOBJECT, *COPYOBJECT: The template of the object

  • *GETATTRIBUTEVALUE: TEMPLAT points to a template which specifies which attribute values must be output and which receives attribute values.

  • *SETATTRIBUTEVALUE: TEMPLAT points to a template which specifies which attribute values must be modified and specifies the new values.

  • *FINDOBJECTSINIT: TEMPLAT points to a search template which specifies the attribute values that are to be matched.

  • *DESTROYOBJECT, *GETOBJECTSIZE, *FINDOBJECTS, *FINDOBJECTSFINAL: TEMPLAT is not used.

COUNT

Number of attributes in the template
*DESTROYOBJECT, *GETOBJECTSIZE, *FINDOBJECTS, *FINDOBJECTSFINAL: COUNT is not used.

OBJLIST

points to the memory location which receives the list (array) of additional object handles;
is only used by *FINDOBJECTS.

OBJSIZE

outputs the size of an object in bytes;
is only used by *GETOBJECTSIZE.

MAXOBJ

Maximum number of object handles that are returned.
is only used by *FINDOBJECTS.

OBJCNT

receives the current number of object handles that are returned;
is only used by *FINDOBJECTS.

BOID

Event identification

  • in the case of synchronous execution: BOID is not used.

  • in the case of asynchronous execution:
    event identification to which the end of the function processing is signalled.

RPOSTAD

Postcode address

  • in the case of synchronous execution: RPOSTAD is not used.

  • in the case of asynchronous execution: specifies a field containing postcode information which is to be transferred to the corresponding program that outputs the SOLSIG macro call (see also “Executive Macros” user guide [3]).
    Length of postcode: 4 or 8 bytes

RPOSTL

Length of postcode

  • in the case of synchronous execution: RPOSTL is not used.

  • in the case of asynchronous execution: specifies the length of the postcode information in words (1 or 2).