Cryptographic Token Interface Standard

PKCS#11


Modifying objects

Objects may be modified with the Cryptoki function C_SetAttributeValue (see Section 11.7). The template supplied to C_SetAttributeValue can contain new values for attributes which the object already possesses; values for attributes which the object does not yet possess; or both.

Some attributes of an object may be modified after the object has been created, and some may not. In addition, attributes which Cryptoki specifies are modifiable may actually not be modifiable on some tokens. That is, if a Cryptoki attribute is described as being modifiable, that really means only that it is modifiable insofar as the Cryptoki specification is concerned. A particular token might not actually support modification of some such attributes. Furthermore, whether or not a particular attribute of an object on a particular token is modifiable might depend on the values of certain attributes of the object. For example, a secret key object's CKA_SENSITIVE attribute can be changed from FALSE to TRUE, but not the other way around.

All the scenarios in Section 10.1.1 "and the error codes they return" apply to modifying objects with C_SetAttributeValue, except for the possibility of a template being incomplete.


RSA Security Inc. Public-Key Cryptography Standards - PKCS#11 - v210