|
pure virtual |
Request the server to sign data passed in the signParams parameter with a selected key (a KMIP 1.2 function).
If a non-NULL P6KMIP_CRYPTOSTREAM is passed into this function, then the caller is requesting the streaming version of the operation (added to KMIP 1.3). A NULL value for the P6KMIP_CRYPTOSTREAM parameter results in the non-streaming sign operation.
The streaming operation signs a data stream passed in the signParams parameter over several successful calls to this same function. Chunks of the signature stream can be returned from each call via the pCipherText parameter.
Note, that the streaming version of this operation, by definition, is only synchronous. For the streaming operation, if a value is returned in the P6KMIP_RESULT.pAsynchCorrelation field, then that handle identifies the crypto stream and needs to be passed in subsequent calls to this function in the P6KMIP_CRYPTOSTREAM.correlationValue field.
signParams | [ in ] all the parameters required by a sign operation |
pStreamState | [ in ] optional can be NULL, the current state of the crypto stream operation (i.e., initial, update, final) |
pCipherText | [ out ] contains the signed data |
pResult | [ out ] Server returned status indicators |
Failure | P6R::eNotInitialized | A successful call to initialize() is required. |
P6R::eNotConn | A successful call to open() is required before this function is called. | |
P6R::eInvalidArg | One of the pointers is NULL. | |
P6R::eFormatError | Parsing error occurred while parsing a KMIP server response. | |
P6R::eTooBig | Message returned by server is too big to fit in configured buffers. | |
P6R::eTooSmall | The configured buffer size in P6KMIP_PREF.maxBufferSize is too small to hold the request message. | |
P6R::eInvalidArg | Invalid streamState parameter settings. | |
P6R::eExists | if pStreamState != NULL, then encryptParams.cipherOp.pParams and encryptParams.cipherOp.IV.pString should only be set for KMIP_STREAM_INITIAL |