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

SNIP_CLASSIC_CRYIF_SECTION_8_3_4_4_Key_Copying_Interface

Quelle: SWS_CryptoInterface.pdf (Seite 35) • Ziel-Anforderung: SWS_Std_00005

Wortlaut

8.3.4.4 Key Copying Interface [SWS_CryIf_91015] Definition of API function CryIf_KeyElementCopy ⌈ Service Name CryIf_KeyElementCopy Syntax Std_ReturnType CryIf_KeyElementCopy ( uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId ) Service ID [hex] 0x0f Sync/Async Synchronous Reentrancy Reentrant, but not for the same cryIfKeyId cryIfKeyId Holds the identifier of the key whose key element shall be the source element. keyElementId Holds the identifier of the key element which shall be the source for the copy operation. targetCryIfKeyId Holds the identifier of the key whose key element shall be the destination element. Parameters (in) targetKeyElementId Holds the identifier of the key element which shall be the destination for the copy operation. Parameters (inout) None Parameters (out) None Return value Std_ReturnType E_OK: Request successful E_NOT_OK: Request failed CRYPTO_E_BUSY: Request failed, Crypto Driver Object is busy CRYPTO_E_KEY_NOT_AVAILABLE: Request failed, the requested key element is not available CRYPTO_E_KEY_READ_FAIL: Request failed, not allowed to extract key element CRYPTO_E_KEY_WRITE_FAIL: Request failed, not allowed to write key element CRYPTO_E_KEY_SIZE_MISMATCH: Request failed, key element sizes are not compatible CRYPTO_E_KEY_EMPTY: Request failed because of uninitialized source key element Description This function shall copy a key elements from one key to a target key. Available via CryIf.h ⌋ [SWS_CryIf_00110] CryIf_KeyElementCopy API: Report CRYIF_E_UNINIT error Upstream requirements: SRS_CryptoStack_00034, SRS_BSW_00369, SRS_BSW_00406 ⌈If development error detection for the CRYIF is enabled: The function CryIf_KeyElementCopy shall report CRYIF_E_UNINIT to the DET if the module is not yet initialized.⌋ [SWS_CryIf_00111] CryIf_KeyElementCopy API: Report CRYIF_E_PARAM_HANDLE error for cryIfKeyId parameter Upstream requirements: SRS_CryptoStack_00034, SRS_BSW_00369 ⌈If development error detection for the CRYIF is enabled: The function CryIf_KeyElementCopy shall report CRYIF_E_PARAM_HANDLE to the DET if the parameter cryIfKeyId is out of range.⌋ [SWS_CryIf_00112] CryIf_KeyElementCopy API: Report CRYIF_E_PARAM_HANDLE error for targetCryIfKeyId parameter Upstream requirements: SRS_CryptoStack_00034, SRS_BSW_00369 ⌈If development error detection for the CRYIF is enabled: The function CryIf_KeyElementCopy shall report CRYIF_E_PARAM_HANDLE to the DET if the parameter targetCryIfKeyId is out of range.⌋ [SWS_CryIf_00113] CryIf_KeyElementCopy API: Forward key job to the mapped driver in case of cryIfKeyId and targetCryIfKeyId are located in the same Crypto Driver Upstream requirements: SRS_CryptoStack_00104 ⌈If no errors are detected by CRYIF and the cryIfKeyId and targetCryIfKeyId are located in the same Crypto Driver, the service CryIf_KeyElementCopy shall call Crypto_<vi>_<ai>_KeyElementCopy for the driver configuration mapped to the service and pass on the return value.⌋ [SWS_CryIf_00114] CryIf_KeyElementCopy API: Forward key job to the mapped driver in case of cryIfKeyId and targetCryIfKeyId are located in the different Crypto Driver Upstream requirements: SRS_CryptoStack_00104 ⌈If no errors are detected by CRYIF and the cryIfKeyId and targetCryIfKeyId are located in different Crypto Drivers, the service CryIf_KeyElementCopy shall copy the provided key element by getting the element with Crypto_<vi>_<ai>_KeyElementGet and setting the target key element via Crypto_<vi>_<ai>_KeyElementSet.⌋ [SWS_CryIf_00115] CryIf_KeyElementCopy API: Report CRYIF_E_KEY_SIZE_MISMATCH error Upstream requirements: SRS_CryptoStack_00034, SRS_BSW_00369 ⌈If development error detection for the CRYIF is enabled: If requested key element of cryIfKeyId is available in targetCryIfKeyId, and if the source element size does not match the target key elements size, CryIf_KeyElementCopy shall report CRYIF_E_KEY_SIZE_MISMATCH to the DET.⌋ [SWS_CryIf_91018] Definition of API function CryIf_KeyElementCopyPartial ⌈ Service Name CryIf_KeyElementCopyPartial Syntax Std_ReturnType CryIf_KeyElementCopyPartial ( uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId ) Service ID [hex] 0x12 ▽ △ Sync/Async Synchronous Reentrancy Reentrant but not for the same cryIfKeyId cryIfKeyId Holds the identifier of the key whose key element shall be the source element. keyElementId Holds the identifier of the key element which shall be the source for the copy operation. keyElementSourceOffset This is the offset of the source key element indicating the start index of the copy operation. keyElementTargetOffset This is the offset of the target key element indicating the start index of the copy operation. keyElementCopyLength Specifies the number of bytes that shall be copied. targetCryIfKeyId Holds the identifier of the key whose key element shall be the destination element. Parameters (in) targetKeyElementId Holds the identifier of the key element which shall be the destination for the copy operation. Parameters (inout) None Parameters (out) None Return value Std_ReturnType E_OK: Request successful E_NOT_OK: Request failed CRYPTO_E_BUSY: Request failed, Crypto Driver Object is busy CRYPTO_E_KEY_NOT_AVAILABLE: Request failed, the requested key element is not available CRYPTO_E_KEY_READ_FAIL: Request failed, not allowed to extract key element CRYPTO_E_KEY_WRITE_FAIL: Request failed, not allowed to write key element CRYPTO_E_KEY_SIZE_MISMATCH: Request failed, key element sizes are not compatible CRYPTO_E_KEY_EMPTY: Request failed because of uninitialized source key element Description Copies a key element to another key element. The keyElementOffsets and keyElementCopy Length allows to copy just parts of the source key element into the destination key element. Available via CryIf.h ⌋ [SWS_CryIf_00137] CryIf_KeyElementCopyPartial API: Report CRYIF_E_UNINIT error Upstream requirements: SRS_BSW_00369, SRS_BSW_00406 ⌈If the Crypto Interface is not yet initialized and if development error detection for the Crypto Interface is enabled, the function CryIf_KeyElementCopyPartial shall report CRYIF_E_UNINIT to the DET.⌋ [SWS_CryIf_00138] CryIf_KeyElementCopyPartial API: Report CRYIF_E_PARAM_HANDLE error Upstream requirements: SRS_CryptoStack_00034 ⌈If cryIfKeyId or targetCryIfKeyId is out of range and if development error detection for the Crypto Interface is enabled, the function CryIf_KeyElementCopyPartial shall report CRYIF_E_PARAM_HANDLE to the DET.⌋ [SWS_CryIf_00139] CryIf_KeyElementCopyPartial API: Forward key job to the mapped driver in case of cryIfKeyId and targetCryIfKeyId are located in the same Crypto Driver Upstream requirements: SRS_CryptoStack_00104 ⌈If no errors are detected by CRYIF and the cryIfKeyId and targetCryIfKeyId are located in the same Crypto Driver, the service CryIf_KeyElementCopyPartial shall call Crypto_<vi>_<ai>_KeyElementCopyPartial for the driver configuration mapped to the service and pass on the return value.⌋ [SWS_CryIf_00140] CryIf_KeyElementCopyPartial API: Forward key job to the mapped driver in case of cryIfKeyId and targetCryIfKeyId are located in the different Crypto Driver Upstream requirements: SRS_CryptoStack_00104 ⌈If no errors are detected by CRYIF and the cryIfKeyId and targetCryIfKeyId are located in different Crypto Drivers, the service CryIf_KeyElementCopyPartial shall copy the provided key element by getting the element with Crypto_<vi>_<ai>_KeyElementGet, copy the partial data to its destination and setting the target key element via Crypto_<vi>_<ai>_KeyElementSet.⌋ [SWS_CryIf_91016] Definition of API function CryIf_KeyCopy ⌈ Service Name CryIf_KeyCopy Syntax Std_ReturnType CryIf_KeyCopy ( uint32 cryIfKeyId, uint32 targetCryIfKeyId ) Service ID [hex] 0x10 Sync/Async Synchronous Reentrancy Reentrant but not for the same cryIfKeyId cryIfKeyId Holds the identifier of the key whose key element shall be the source element. Parameters (in) targetCryIfKeyId Holds the identifier of the key whose key element shall be the destination element. Parameters (inout) None Parameters (out) None Return value Std_ReturnType E_OK: Request successful E_NOT_OK: Request failed CRYPTO_E_BUSY: Request failed, Crypto Driver Object is busy CRYPTO_E_KEY_NOT_AVAILABLE: Request failed, the requested key element is not available CRYPTO_E_KEY_READ_FAIL: Request failed, not allowed to extract key element CRYPTO_E_KEY_WRITE_FAIL: Request failed, not allowed to write key element CRYPTO_E_KEY_SIZE_MISMATCH: Request failed, key element sizes are not compatible CRYPTO_E_KEY_EMPTY: Request failed because of uninitialized source key element Description This function shall copy all key elements from the source key to a target key. Available via CryIf.h ⌋

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_CryptoInterface.pdf
Dokumentseite Seite 35
Ziel-Modul cryif (classic)
Ziel-Anforderung SWS_Std_00005
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95