DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: keym Rolle: constitutive Konfidenz: 95%

SNIP_CLASSIC_KEYM_SECTION_8_3_2_4_KeyM_Finalize

Quelle: SWS_KeyManager.pdf (Seite 56) • Ziel-Anforderung: SWS_Std_00005

Wortlaut

8.3.2.4 KeyM_Finalize [SWS_KeyM_00053] Definition of API function KeyM_Finalize Upstream requirements: SRS_CryptoStack_00106, SRS_CryptoStack_00101, SRS_CryptoStack_00107, SRS_BSW_00310, SRS_BSW_00357, SRS_ BSW_00484, SRS_BSW_00486 ⌈ Service Name KeyM_Finalize Syntax Std_ReturnType KeyM_Finalize ( const uint8* RequestDataPtr, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16 ResponseMaxDataLength ) ▽ △ Service ID [hex] 0x07 Sync/Async Asynchronous Reentrancy Non Reentrant RequestDataPtr Information that comes along with the request RequestDataLength Length of data in the RequestData array Parameters (in) ResponseMaxDataLength Max number of bytes available in ResponseDataPtr Parameters (inout) None Parameters (out) ResponseDataPtr Data returned by the function. Return value Std_ReturnType E_OK: Operation has been accepted and will be processed internally. Results will be provided through a callback E_NOT_OK: Operation not accepted due to an internal error. KEYM_E_BUSY: Validation cannot be performed yet. KeyM is currently busy with other jobs. KEYM_E_PARAMETER_MISMATCH: Parameter do not match with expected value. KEYM_E_KEY_CERT_SIZE_MISMATCH: Parameter size doesn’t match Description The function is used to finalize key update operations. It is typically used in conjunction with the KeyM_Start operation and returns the key operation into the idle mode. Further key prepare or update operations are not accepted until a new KeyM_Start operation has been initialized. This function is only available if KeyMCryptoKeyStartFinalizeFunctionEnabled is set to TRUE. In addition, updated key material will be persisted and set into valid state (calling Csm_KeySet Valid). Available via KeyM.h ⌋ [SWS_KeyM_00103] Upstream requirements: SRS_CryptoStack_00107 ⌈If KeyMCryptoKeyStartFinalizeFunctionEnabled is set to TRUE, this function will conclude the key update operation. All keys that have flagged to be updated during the session shall be finalized by calling Csm_KeySetValid(). The validation shall be done for all keys that have been updated, even if Csm_KeySet Valid() returns a failure for one of the keys. This is to finalize as much keys as possible even if one key fails. If at least one key fails, then the overall result is a fail information in the callback result.⌋ [SWS_KeyM_00104] Upstream requirements: SRS_CryptoStack_00096, SRS_CryptoStack_00107 ⌈If KeyMCryptoKeyStartFinalizeFunctionEnabled and KeyMCryptoKeyHandlerStartFinalizeEnabled is set to TRUE this function will call KeyM_KH_Finalize() with the exact same parameter as provided with KeyM_Finalize(). The finalize key handler has to be called BEFORE the validation of the key (the call to Csm_KeySetValid()). If the key handler returns E_OK, then this function will continue its operation as specified. If the key handler finalization function returns E_NOT_OK, then no validation shall be done.⌋ [SWS_KeyM_00105] Upstream requirements: SRS_CryptoStack_00106 ⌈The callback function KeyM_CryptoKeyFinalizeCallbackNotification() will be called if the operation has finished. The parameter ’ResultDataPtr’ of this callback shall provide the buffer pointer ’ResponseDataPtr’ provided with the call to KeyM_Finalize(). The result information provides the residual result of the validation of all keys.⌋ Info: Since key validation can take considerable amount of time this function is used in asynchronous mode only. Since the key handler is called in synchronous mode it is recommended to call it not from within KeyM_Finalize() but delegate the call to the background task. The caller of KeyM_Finalize() shall provide a buffer that is large enough to store the response. This buffer shall not be touched by the caller if KeyM_Finalize() returns E_ OK until the callback notification has indicated the end of the finalize operation. [SWS_KeyM_00106] Upstream requirements: SRS_CryptoStack_00120 ⌈At the end of a key finalize operation, all flags for key validation have to be cleared and the session state shall be set to the init mode. Thus, no further key update operations are allowed anymore.⌋

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

Cited verbatim in the snippet (deterministic citation).

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument SWS_KeyManager.pdf
Dokumentseite Seite 56
Ziel-Modul keym (classic)
Ziel-Anforderung SWS_Std_00005
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95