CLASSIC
Modul: keym
Rolle: constitutive
Konfidenz: 95%
SNIP_CLASSIC_KEYM_SECTION_8_3_3_5_KeyM_VerifyCertificate
Wortlaut
8.3.3.5 KeyM_VerifyCertificate
[SWS_KeyM_00060] Definition of API function KeyM_VerifyCertificate
Upstream requirements: SRS_CryptoStack_00106,
SRS_CryptoStack_00101,
SRS_CryptoStack_00031,
SRS_CryptoStack_00111,
SRS_BSW_00310,
SRS_BSW_00357, SRS_BSW_00484
⌈
Service Name
KeyM_VerifyCertificate
Syntax
Std_ReturnType KeyM_VerifyCertificate (
KeyM_CertificateIdType CertId
)
Service ID [hex]
0x0d
Sync/Async
Asynchronous
Reentrancy
Non Reentrant
Parameters (in)
CertId
Holds the identifier of the certificate
Parameters (inout)
None
Parameters (out)
None
Return value
Std_ReturnType
E_OK: Certificate verification request accepted. Operation will be
performed in the background and response is given 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: Certificate ID invalid.
KEYM_E_KEY_CERT_EMPTY: One of the certificate slots are
empty.
KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: An upper
certificate is not valid.
Description
This function verifies a certificate that was previously provided with KeyM_SetCertificate()
against already stored and provided certificates stored with other certificate IDs.
Available via
KeyM.h
⌋
The intention of KeyM_VerifyCertificate() is to autonomously identify the certificates
referenced by CertID and the associated certificates in the chain. The certificate that
shall be validated is expected to be set prior to this function call with KeyM_SetCertificate(). If a certificate in the chain is not yet verified, it will be parsed and verified
automatically until the complete chain of trust has been parsed and verified up to the
root certificate. The verification shall be done from the top of the certificate hierarchy
to the bottom. Thus, the function shall first identify the chain of trust and check if the
root certificate has been validated. If this is valid, the next intermediate certificate shall
be checked until the certificate referenced by CertID is to be verified. The order of the
validation is important to meet security requirements.
[SWS_KeyM_00120]
Upstream requirements: SRS_CryptoStack_00106, SRS_CryptoStack_00101
⌈The verification of the certificate(s) shall be done asynchronously. All certificates that
are involved in the chain of trust shall be verified, from top to bottom. The callback
function KeyM_CertificateVerifyCallbackNotification() shall be called if the verification
has been finished and provide the result of the operation in the callback.⌋
[SWS_KeyM_00121]
Upstream requirements: SRS_CryptoStack_00096
⌈The function returns E_OK if the operation has been accepted and can be performed.
Any other return value will indicate the appropriate error and the verification will not be
started.⌋
[SWS_KeyM_00135]
Upstream requirements: SRS_CryptoStack_00031, SRS_CryptoStack_00111
⌈Elements of the certificate associated and defined in KeyMCertificateElement and
subcontainers shall be used to verify elements of the certificate according to the configuration. This shall be done for every certificate that has to be verified.⌋
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 68 |
| Ziel-Modul | keym (classic) |
| Ziel-Anforderung | SWS_Std_00005 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.95 |