Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
virtual P6R::P6ERR P6R::p6IKMIPRequest::addRegisterX509KeyRequest ( P6KMIP_RAWKEY  rawKey,
P6KMIP_TEMPLATEATTRIBUTE  attributes,
P6KMIP_MSGEXTENSION pExtension 
)
pure virtual

Add the register batch item for a key in the X.509 DER format, which is not represeted by a p6ICryptoKey object.

A successful startRequestMsg function must be called first.

Register (Section 4.3 KMIP spec), allows the KMIP client to send one of several objects to the server for storage. This call is used to send an X.509 Public Key. Note that this function cannot be used for wrapped keys (see addRegisterWrappedKeyRequest()).

Parameters
rawkey[ in ] all the key information needed to compose a Key Block structure
attrbutes[ in ] The required attribues {Cryptographic Algorithm, Cryptographic Length, Cryptographic Usage}, and any other attributes to be associated with the new key object (e.g., Object Group)
pExtension[ in ] optional can be NULL, vendor defined extension to the operation
Returns
SuccessP6R::eOk 
FailureP6R::eNotInitializedA successful call to intialize() must be made before calling this funciton.
P6R::eTooSmallThe configured buffer size in pPool is too small to hold the generated message.
P6R::eInvalidStateA successful call to startRequestMsg() must be made before calling this function.
P6R::eRangepExtension->encodedExtension.length must be a multiple of 8, since encoded as the Vendor Extension Structure
P6R::eRangepKey->keyMaterial.length must be a multiple of 8, since encoded as Key Material field
P6R::eFormatErrorrawKey.objectType does not indicate a key object