DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_CryptoServiceManager FIG-8d1f4e5c2e81d382 929 × 564 px 4 Release(s)

Figure 7: 3 Structure of Crypto_JobType (Job) and its dependencies

SHA-256 Inhalts-Fingerabdruck: 8d1f4e5c2e81d382e8a6fb744ed0309689cb431fb96af13162fbf02bbd347e2f
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08

1. Diagrammtyp & Architektur-Kontext

UML-Klassendiagramm / Datenstruktur-Diagramm aus der AUTOSAR Classic Platform (SWS Crypto Service Manager / CSM). Das Diagramm spezifiziert die strukturelle Zusammensetzung des C-Datentyps Crypto_JobType sowie dessen hierarchische Abhängigkeiten zu Substrukturen, Konfigurationstypen und Enumerationen zur Ausführung und Steuerung kryptografischer Jobs über den CSM, das Crypto Interface (CryIf) und die zugrunde liegenden Krypto-Treiber.

2. Komponenten, Entitäten & Schnittstellen

Das Diagramm definiert folgende Entitäten und Relationen:

Strukturen (struct):

  • Crypto_JobType: Zentraler Steuerungskontext eines Krypto-Jobs.
    • Attribute: cryptoKeyId: uint32, jobId: uint32, jobInfoType: const Crypto_JobInfoType *, jobPrimitiveInfoType: const Crypto_JobPrimitiveInfoType *, jobPrimitiveInputOutput: Crypto_JobPrimitiveInputOutputType, jobRedirectionInfoRef: Crypto_JobRedirectionInfoType *, jobState: Crypto_JobStateType, targetCryptoKeyId: uint32.
  • Crypto_JobPrimitiveInputOutputType: Enthält Ein- und Ausgabepuffer sowie Laufzeitparameter des Jobs.
    • Attribute: cryIfKeyId: uint32, inputLength: uint32, inputPtr: char *, mode: Crypto_OperationModeType, outputLengthPtr: char *, outputPtr: char *, secondaryInputLength: uint32, secondaryInputPtr: char *, secondaryOutputLengthPtr: char *, secondaryOutputPtr: char *, targetCryIfKeyId: uint32, tertiaryInputLength: uint32, tertiaryInputPtr: char *, verifyPtr: char *.
    • Relation: Komposition von Crypto_JobType (per Wert eingebettet).
  • Crypto_JobInfoType: Metadaten zur Job-Identifikation und Priorisierung.
    • Attribute: jobId: uint32, jobPriority: uint32.
    • Relation: Aggregation / Zeigerreferenz von Crypto_JobType.
  • Crypto_JobRedirectionInfoType: Konfiguration zur Ein-/Ausgabeschlüssel-Umleitung.
    • Attribute: inputKeyElementId: uint32, inputKeyId: uint32, outputKeyElementId: uint32, outputKeyId: uint32, redirectionConfig: uint8, secondaryInputKeyElementId: uint32, secondaryInputKeyId: uint32, secondaryOutputKeyElementId: uint32, secondaryOutputKeyId: uint32, tertiaryInputKeyElementId: uint32, tertiaryInputKeyId: uint32.
    • Relation: Optionale Assoziation / Zeigerreferenz (0..1) von Crypto_JobType.
  • Crypto_JobPrimitiveInfoType: Beschreibt die Ausführungseigenschaften der kryptografischen Primitivfunktion.
    • Attribute: callbackId: uint32, cryIfKeyId: uint32, primitiveInfo: const Crypto_PrimitiveInfoType *, processingType: Crypto_ProcessingType.
    • Relation: Aggregation / Zeigerreferenz von Crypto_JobType.
  • Crypto_PrimitiveInfoType: Spezifiziert den Dienst und Algorithmus.
    • Attribute: algorithm: const Crypto_AlgorithmInfoType, resultLength: uint32, service: const Crypto_ServiceInfoType.
    • Relation: Aggregation / Zeigerreferenz von Crypto_JobPrimitiveInfoType.
  • Crypto_AlgorithmInfoType: Detaillierte Algorithmen-Eigenschaften.
    • Attribute: family: Crypto_AlgorithmFamilyType, keyLength: uint32, mode: CryptoAlgorithmModeType, secondaryFamily: Crypto_AlgorithmFamilyType.
    • Relation: Komposition von Crypto_PrimitiveInfoType.

Enumerationen («enumeration»):

  • Crypto_JobStateType: CRYPTO_JOBSTATE_IDLE, CRPTO_JOBSTATE_ACTIVE (Typfehler im Literal im Diagramm).
  • Crypto_OperationModeType: CRYPTO_OPERATIONMODE_START, CRYPTO_OPERATIONMODE_UPDATE, CRYPTO_OPERATIONMODE_FINISH, CRYPTO_OPERATIONMODE_SINGLECALL.
  • Crypto_ProcessingType: CRYPTO_PROCESSING_ASNC (Typfehler im Literal im Diagramm), CRYPTO_PROCESSING_SYNC.
  • Crypto_ServiceInfoType, Crypto_AlgorithmFamilyType, Crypto_AlgorithmModeType: Als Enumerationen typisiert (ohne explizit gelistete Literale dargestellt).

3. Dynamisches Verhalten & Sequenzablauf

Als statisches Klassen-/Strukturdiagramm zeigt die Abbildung keinen zeitlichen Ablauf. Sie bildet das Datenmodell für den dynamischen Lebenszyklus eines Jobs ab:

  1. Vorbereitung / Initialisierung: Ein Job wird im Zustand CRYPTO_JOBSTATE_IDLE mit den statischen Konfigurationszeigern (Crypto_JobInfoType, Crypto_JobPrimitiveInfoType) sowie den Puffer- und Modusparametern in Crypto_JobPrimitiveInputOutputType instanziiert.
  2. Verarbeitung: Der Job wechselt bei Übergabe an den Treiber in CRPTO_JOBSTATE_ACTIVE. Über processingType (CRYPTO_PROCESSING_SYNC bzw. CRYPTO_PROCESSING_ASNC) wird festgelegt, ob der Aufruf blockierend ausgeführt wird oder nach asynchroner Abarbeitung über callbackId benachrichtigt.
  3. Schrittweise Ausführung: Mittels mode in Crypto_JobPrimitiveInputOutputType steuert der Aufrufer den Ablauf über CRYPTO_OPERATIONMODE_START, CRYPTO_OPERATIONMODE_UPDATE, CRYPTO_OPERATIONMODE_FINISH oder direkt CRYPTO_OPERATIONMODE_SINGLECALL.
  4. Schlüsselumleitung: Ist jobRedirectionInfoRef gesetzt, werden Schlüsseldaten gemäß redirectionConfig zwischen den spezifizierten Key- und Key-Element-IDs umgeleitet.

4. Normative Relevanz & Entwickler-Hinweise

Die dargestellte Struktur Crypto_JobType bildet die zentrale Schnittstellendateneinheit für APIs des CSM und CryIf (z. B. Csm_JobProcess, CryIf_ProcessJob, Crypto_ProcessJob). Implementierer von Krypto-Treibern und CSM müssen sicherstellen:

  • Die Lebensdauer und Gültigkeit von Puffern (inputPtr, outputPtr, secondaryInputPtr, etc.) und konstanten Referenzstrukturen (jobInfoType, jobPrimitiveInfoType, primitiveInfo) muss über die gesamte Ausführungsdauer garantiert sein.
  • jobRedirectionInfoRef ist optional (0..1) und kann ein NULL_PTR sein, sofern keine Schlüsselumleitung konfiguriert oder aktiv ist.
  • Im Diagramm enthaltene Literal-Schreibweisen weisen Schreibfehler auf (CRPTO_JOBSTATE_ACTIVE statt CRYPTO_JOBSTATE_ACTIVE, CRYPTO_PROCESSING_ASNC statt CRYPTO_PROCESSING_ASYNC), welche in standardkonformen Implementierungen typischerweise gemäß SWS-Typdefinition korrigiert sind.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Crypto_JobType | - cryptoKeyId: uint32 - jobId: uint32 - jobInfoType: const Crypto_JobInfoType * - jobPrimitiveInfoType: const Crypto_JobPrimitiveInfoType * - jobPrimitiveInputOutput: Crypto_JobPrimitiveInputOutputType - jobRedirectionInfoRef: Crypto_JobRedirectionInfoType * - jobState: Crypto_JobStateType - targetCryptoKeyId: uint32 | Crypto_JobPrimitiveInputOutputType | - cryIfKeyId: uint32 - inputLength: uint32 - inputPtr: char * - mode: Crypto_OperationModeType - outputLengthPtr: char * - outputPtr: char * - secondaryInputLength: uint32 - secondaryInputPtr: char * - secondaryOutputLengthPtr: char * - secondaryOutputPtr: char * - targetCryIfKeyId: uint32 - tertiaryInputLength: uint32 - tertiaryInputPtr: char * - verifyPtr: char * | «enumeration» Crypto_JobStateType | CRYPTO_JOBSTATE_IDLE CRPTO_JOBSTATE_ACTIVE | Crypto_JobInfoType | - jobId: uint32 - jobPriority: uint32 | Crypto_JobPrimitiveInfoType | - callbackId: uint32 - cryIfKeyId: uint32 - primitiveInfo: const Crypto_PrimitiveInfoType * - processingType: Crypto_ProcessingType | «enumeration» Crypto_ProcessingType | CRYPTO_PROCESSING_ASNC CRYPTO_PROCESSING_SYNC | Crypto_PrimitiveInfoType | - algorithm: const Crypto_AlgorithmInfoType - resultLength: uint32 - service: const Crypto_ServiceInfoType | Crypto_AlgorithmInfoType | - family: Crypto_AlgorithmFamilyType - keyLength: uint32 - mode: CryptoAlgorithmModeType - secondaryFamily: Crypto_AlgorithmFamilyType | «enumeration» Crypto_ServiceInfoType | «enumeration» Crypto_AlgorithmFamilyType | «enumeration» Crypto_AlgorithmModeType | Crypto_JobRedirectionInfoType | - inputKeyElementId: uint32 - inputKeyId: uint32 - outputKeyElementId: uint32 - outputKeyId: uint32 - redirectionConfig: uint8 - secondaryInputKeyElementId: uint32 - secondaryInputKeyId: uint32 - secondaryOutputKeyElementId: uint32 - secondaryOutputKeyId: uint32 - tertiaryInputKeyElementId: uint32 - tertiaryInputKeyId: uint32 | «enumeration» Crypto_OperationModeType | CRYPTO_OPERATIONMODE_START CRYPTO_OPERATIONMODE_UPDATE CRYPTO_OPERATIONMODE_FINISH CRYPTO_OPERATIONMODE_SINGLECALL | 0..1

Vorkommen in AUTOSAR-Releases (4)

Release Dokument Seite Nr. Bildunterschrift im Dokument
EXTERN AUTOSAR_SWS_CryptoServiceManager S. 20 7 Figure 7: 3 Structure of Crypto_JobType (Job) and its dependencies
R20-11 AUTOSAR_SWS_CryptoServiceManager S. 20 7 Figure 7: 3 Structure of Crypto_JobType (Job) and its dependencies
R21-11 AUTOSAR_SWS_CryptoServiceManager S. 20 7 Figure 7: 3 Structure of Crypto_JobType (Job) and its dependencies
R22-11 AUTOSAR_SWS_CryptoServiceManager S. 20 7 Figure 7: 3 Structure of Crypto_JobType (Job) and its dependencies