Verwaltet einen Speicherplatz für kryptografische Schlüssel und ermöglicht Metadatenabfragen sowie Änderungs-Callbacks.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 15ebff2d544cHerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Verwaltet einen Speicherplatz für kryptografische Schlüssel und ermöglicht Metadatenabfragen sowie Änderungs-Callbacks.
Die Schnittstelle kapselt einen persistenten oder flüchtigen Speicherplatz für kryptografische Schlüssel und ermöglicht die Abfrage von Schlüsselmetadaten sowie des zuständigen CryptoProvider[SWS_CRYPT_30403]. Anwendungen können Inhaltsänderungen über einen registrierbaren Beobachter-Callback überwachen [SWS_CRYPT_30404]. Bei leerem Slot schlagen Zugriffe auf den Schlüsseltyp oder dessen Algorithmus mit dem Fehlercode ara::crypto::CryptoErrc::kEmptyKeySlot fehl [SWS_CRYPT_50055]. Da Kopieren und Verschieben untersagt sind, erfolgt der Zugriff thread-safe über Shared-Pointer.
Kontext
Die Schnittstelle ara::crypto::cryp::KeySlot repräsentiert einen dedizierten Speicherplatz für kryptografische Schlüssel innerhalb der AUTOSAR Adaptive Platform. Als Kapselung eines logischen Schlüssel-Slots verwaltet sie Metadaten, Typinformationen und die Zuordnung unterstützter Algorithmen für den darin abgelegten Schlüssel. Eine Instanz interagiert typischerweise mit drei Parteien: der anwendenden Software, dem zugehörigen cryp::CryptoProvider, auf den eine geteilte Referenz über [SWS_CRYPT_30403] bezogen werden kann, sowie einem anwendungsspezifischen Callback zur Inhaltsüberwachung nach [SWS_CRYPT_30404].
Ein KeySlot ist fest an die von ihm repräsentierte Schlüsselablage gebunden. Dementsprechend unterbindet die Schnittstelle das Duplizieren und Verlagern der Instanz: Sowohl der Kopierkonstruktor [SWS_CRYPT_50149] als auch der Verschiebekonstruktor [SWS_CRYPT_50150] sind explizit gelöscht. Gleiches gilt für den Kopierzuweisungsoperator [SWS_CRYPT_50147] und den Verschiebezuweisungsoperator [SWS_CRYPT_50148].
Für die Verwaltung von Besitz- und Referenzverhältnissen definiert die Klasse den Smart-Pointer-Typalias Sptr als std::shared_ptr<KeySlot>[SWS_CRYPT_50151]. Die Freigabe erfolgt über einen virtuellen Standard-Destruktor [SWS_CRYPT_50146]. Interpretation: Da die Schnittstelle keine öffentlichen Konstruktoren definiert, dürften konkrete Instanzen durch den zuständigen CryptoProvider erzeugt und als Sptr bereitgestellt werden. Frage Q-baef4cb1493c96cd (offen) Sämtliche bereitgestellten Methoden sind als thread-safe deklariert, womit gleichzeitige Lese- und Überwachungszugriffe aus mehreren Ausführungskontexten zulässig sind.
Nutzungspfad
Die typische Interaktion mit einem KeySlot gliedert sich in die Konfiguration der Inhaltsüberwachung und die Abfrage gespeicherter Schlüsselmetadaten:
Beobachter registrieren: Die Anwendung registriert mittels RegisterUpdateObserver eine Callback-Funktion sowie einen anwendungsspezifischen Bezeichner keySlotIdentifier[SWS_CRYPT_30404]. Bei wiederholtem Aufruf wird stets nur der zuletzt übergebene Callback bei Aktualisierungen oder Löschungen des Slot-Inhalts aufgerufen.
Unterstützte Algorithmen abfragen: Über GetPossibleAlgIds ermittelt die Anwendung eine Liste aller vom Slot unterstützten Algorithmus-Bezeichner [SWS_CRYPT_50056].
Aktuellen Schlüssel prüfen: Befindet sich ein Schlüssel im Slot, liefert GetCryptoObjectType den Objekttyp des Schlüssels [SWS_CRYPT_50054] und GetAlgId dessen konkrete Algorithmus-Kennung [SWS_CRYPT_50055].
Zuständigen Provider ermitteln: Bei Bedarf kann über GetCryptoProvider der verwaltende CryptoProvider als Shared-Pointer abgefragt werden [SWS_CRYPT_30403].
Beobachter abmelden: Nach Abschluss der Überwachung wird die Registrierung über UnregisterUpdateObserver aufgehoben [SWS_CRYPT_30406].
Die abfragenden Methoden sichern Fehlerzustände über den Ergebnistyp ara::core::Result ab. Sofern ein KeySlot keinen Schlüssel enthält, liefern die Aufrufe GetCryptoObjectType[SWS_CRYPT_50054] und GetAlgId[SWS_CRYPT_50055] jeweils den standardisierten Fehlercode ara::crypto::CryptoErrc::kEmptyKeySlot mit Rollback-Semantik. Die Methoden GetPossibleAlgIds[SWS_CRYPT_50056] und GetCryptoProvider[SWS_CRYPT_30403] spezifizieren keine standardisierten Fehlercodes. Für die Observer-Verwaltung mittels RegisterUpdateObserver[SWS_CRYPT_30404] sowie UnregisterUpdateObserver[SWS_CRYPT_30406] sind im Fehlerfall implementierungsspezifische Fehler im Ergebnisobjekt vorgesehen.
Dieser Leitfaden wurde durch eine KI auf Basis der Spezifikation R25-11 erstellt.
The interface shall register an application callback function to be called when the content of the KeySlot is updated (i.e., modified or cleared). If this function is called multiple times, only the most recently registered callback of an application will be called.
The interface shall register an application callback function to be called when the content of the KeySlot is updated (i.e., modified or cleared). If this function is called multiple times, only the most recently registered callback of an application will be called.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 9361e576efa7HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode RegisterUpdateObserver der Klasse ara::crypto::cryp::KeySlot dient der Registrierung einer anwendungsspezifischen Callback-Funktion, die bei jeder Aktualisierung des Inhalts eines Schlüsselslots benachrichtigt wird [SWS_CRYPT_30404]. Als Aktualisierung gelten hierbei sowohl inhaltliche Modifikationen als auch das vollständige Leeren des Slots [SWS_CRYPT_30404].
Verwendung und Parameter
Die Funktion wird über den Header ara/crypto/cryp/keyslot.h eingebunden und nimmt den Callback callback sowie einen Bezeichner keySlotIdentifier entgegen [SWS_CRYPT_30404]. Das Funktionsobjekt callback erhält beim Aufruf die Zeichenkette keySlotIdentifier als Argument übergeben, um den betroffenen Slot in der Anwendungslogik eindeutig zuordnen zu können [SWS_CRYPT_30404]. Bei wiederholten Aufrufen von RegisterUpdateObserver durch dieselbe Anwendung wird ausschließlich die zuletzt registrierte Callback-Funktion beibehalten und ausgeführt [SWS_CRYPT_30404].
Nebenläufigkeit und Fehlerbehandlung
Die Schnittstelle ist threadsicher (thread-safe) und als noexcept ohne Auslösen von Exceptions spezifiziert [SWS_CRYPT_30404]. Sie gibt ein ara::core::Result<void> zurück [SWS_CRYPT_30404]. Standardisierte Fehler existieren nicht; im Fehlerfall wird ein implementationsspezifischer Fehlercode zurückgegeben [SWS_CRYPT_30404]. Interpretation: Der tatsächliche Aufruf der Callback-Funktion dürfte asynchron im Kontext des Krypto-Treibers erfolgen, sobald die Aktualisierung im Schlüsselspeicher wirksam ist. Frage Q-cfbcc1ddcbe88062 (offen)
Dieser Verwendungshinweis basiert auf der Spezifikation von AUTOSAR Adaptive R25-11.
Unregisters any previously UpdateObserver callback that has been registered previously by the application.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b5edba50839dHerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode UnregisterUpdateObserver der Klasse ara::crypto::cryp::KeySlot dient dazu, einen zuvor von der Anwendung registrierten Beobachter-Callback (UpdateObserver) wieder abzumelden [SWS_CRYPT_30406]. Die Funktion ist im Header ara/crypto/cryp/keyslot.h deklariert, als rein virtuelle Methode (=0) ausgelegt und erwartet keine Übergabeparameter [SWS_CRYPT_30406].
Hinsichtlich des Aufrufkontextes und der Nebenläufigkeit gelten folgende Randbedingungen:
Synchrone Semantik und Thread-Sicherheit: Die Deregistrierung erfolgt synchron und ist explizit als thread-safe spezifiziert [SWS_CRYPT_30406]. Aufrufe können somit threadsicher und nebenläufig zu anderen Operationen auf derselben KeySlot-Instanz ausgeführt werden.
Exception-Sicherheit: Die Methode besitzt die Spezifikation noexcept und gilt als exception-safe [SWS_CRYPT_30406]. Fehlerzustände führen daher keinesfalls zu C++-Exceptions, sondern werden geordnet über das Rückgabeobjekt abgewickelt.
Als Rückgabewert liefert die Funktion ein ara::core::Result<void>, das bei erfolgreicher Deregistrierung leer ist oder im Fehlerfall einen Fehlercode kapselt [SWS_CRYPT_30406]. Die Spezifikation definiert für diesen Aufruf bewusst keine standardisierten AUTOSAR-Fehlercodes; eventuelle Fehler sind daher hersteller- bzw. implementationsspezifisch [SWS_CRYPT_30406]. Aufrufer müssen das Ergebnis auf Fehlerhaftigkeit prüfen, können jedoch nicht auf standardisierte Fehlerkonstanten abprüfen.
Im Zusammenspiel mit der Schlüsselverwaltung unterbindet die Abmeldung zuverlässig, dass die Anwendung weitere Benachrichtigungen über Änderungen des Schlüsselinhalts erhält. Falls zum Aufrufzeitpunkt kein Callback registriert war, dürfte die Funktion interpretationsgemäß entweder wirkungslos erfolgreich zurückkehren oder einen implementationsspezifischen Fehler ausgeben. Frage Q-7a1e7e0db0691ce6 (offen)
Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation erstellt.
gemini-3.8-flash-medium· 2026-10-13