CLASSIC
Modul: cryif
Rolle: constitutive
Konfidenz: 95%
SNIP_CLASSIC_CRYIF_SECTION_8_3_4_4_Key_Copying_Interface
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 |