|
pure virtual |
Add the put batch item for an unwrapped p6ICryptoKey (i.e., not encrypted nor signed).
A successful startRequestMsg function must be called first.
Note, in Put requests the following fields defined in the startRequestMsg( P6KMIP_REQUESTPARAMS params ) call are not allowed: { pMaxResponseSize, pAsynchIndicator, pBatchErrorOption, pBatchOrderOption }. Simply set these fields to NULL in the "params" parameter in the startRequestMsg call.
Put (Section 5.2 KMIP spec), allows the KMIP server to push one of several objects to the client. This call is used to send one of the following objects: {Symmetric Key, Private Key, Public Key}. This function selects a default encoding for the pKey parameter, but the caller can request to override the default (e.g., selecting "KMIP_KEYFORMAT_PKCS1" which is PKCS#1 instead of "KMIP_KEYFORMAT_TRANRSAPUBKEY" which is Transparent RSA Public Key).
params | [ in ] group of parameters specific to the put request |
pKey | [ in ] key material to be sent to a KMIP server for storage |
pKeyFormatType | [ in ] optional can be NULL, see Section 9.1.3.2.3 in p6kmip.h, Key Format Type Enumeration, if the caller wants to override default key encoding |
pExtension | [ in ] optional can be NULL, vendor defined extension to the operation |
Success | P6R::eOk | |
Failure | P6R::eNotInitialized | A successful call to intialize() must be made before calling this funciton. |
P6R::eTooSmall | The configured buffer size in pPool is too small to hold the generated message. | |
P6R::eInvalidState | A successful call to startRequestMsg() must be made before calling this function. | |
P6R::eNotSupported | Value for pKeyFormatType is not supported. | |
P6R::eWrongKeyClass | Value for pKeyFormatType is not appropriate for the pKey class (e.g., for PKCS key must be asymmetric). | |
P6R::eRange | pExtension->encodedExtension.length must be a multiple of 8, since encoded as the Vendor Extension Structure |