DEENESPTFRRUARHIKOZHNL

classe ara::crypto::x509::CertSignRequest

[SWS_CRYPT_40300] Upstream: RS_CRYPTO_02306

class CertSignRequest :           public ara::crypto::Serializable {...};

Certificate Signing Request (CSR) object interface.

Header-Datei#include "ara/crypto/x509/cert_sign_request.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::x509
Basisklasse(n)ara::crypto::Serializable

Guide utilisateurGÉNÉRÉ PAR IA

Définit l'interface pour les demandes de signature de certificat X.509 sérialisables et leur gestion en propriété partagée.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 3439f3ad3ffa Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Définit l'interface pour les demandes de signature de certificat X.509 sérialisables et leur gestion en propriété partagée.

L'interface ara::crypto::x509::CertSignRequest sert dans AUTOSAR Adaptive d'abstraction pour les demandes de signature de certificat (CSR) et hérite de ara::crypto::Serializable afin de rendre les demandes de certificat sérialisables pour des autorités de certification externes. Le cycle de vie et la propriété partagée sont principalement contrôlés via l'alias de type Sptrc, défini comme std::shared_ptr<const CertSignRequest> [SWS_CRYPT_40301]. Ce pointeur intelligent constant garantit que les instances de CSR restent immuables après leur création et peuvent être lues en toute sécurité de manière concurrente par plusieurs composants.

Contexte

La classe C++ ara::crypto::x509::CertSignRequest fournit, au sein de l'Adaptive Platform d'AUTOSAR dans le module crypto, l'interface abstraite pour les objets de demande de signature de certificat (CSR). Déclaré dans l'espace de noms ara::crypto::x509 et fourni via le chemin d'inclusion #include "ara/crypto/x509/cert_sign_request.h" [SWS_CRYPT_40301], ce type d'interface constitue l'élément fondamental pour représenter les demandes de signature de certificats numériques. Conformément à sa syntaxe de déclaration, la classe hérite directement de l'interface de base ara::crypto::Serializable. Grâce à cette hiérarchie d'héritage, il est établi que les objets CSR concrets sont sérialisables, ce qui permet l'exportation, le stockage et la transmission des données structurées de la demande au-delà des limites de modules et de réseaux.

Dans l'architecture globale, CertSignRequest assume le rôle de conteneur de données et de partenaire d'interaction entre les services cryptographiques et le logiciel applicatif. Lorsqu'une application souhaite faire certifier de nouvelles paires de clés cryptographiques pour une utilisation dans une infrastructure à clés publiques, cette interface encapsule toutes les informations pertinentes de la demande. L'interface sert vraisemblablement à encapsuler, de manière indépendante des fournisseurs, des demandes de signature complètes PKCS#10 ou spécifiques à un fournisseur, la forme concrète étant implémentée par les pilotes crypto sous-jacents. Question (ouverte) Le découplage via une simple interface protège les modules appelants des détails d'implémentation et assure l'interchangeabilité fonctionnelle des moteurs d'exécution cryptographiques.

Cycle de vie

La création et la gestion de la durée de vie de ara::crypto::x509::CertSignRequest suivent les principes de la gestion moderne de la mémoire C++ pour les ressources partagées. Pour le référencement et la propriété, la spécification définit l'alias de type Sptrc comme std::shared_ptr<const CertSignRequest> [SWS_CRYPT_40301]. Ce pointeur intelligent constitue le modèle déterminant pour la propriété et la transmission des instances de CSR entre différents composants logiciels.

Grâce à la gestion au moyen de std::shared_ptr, le cycle de vie d'une instance est soumis au comptage automatique de références. L'objet existe aussi longtemps qu'au moins un pointeur Sptrc actif le référence, et il est automatiquement libéré lors de la destruction du dernier pointeur le référençant. Une caractéristique centrale de l'interface réside dans la liaison explicite du pointeur intelligent au type const CertSignRequest [SWS_CRYPT_40301]. Cette qualification de constance impose une immuabilité sémantique : après la génération initiale de la demande, les consommateurs ne doivent plus modifier les champs ou signatures contenus. Cela garantit l'intégrité de la demande de signature pendant toute sa durée de vie.

Concernant la concurrence, la liaison constante du pointeur procure un avantage de sécurité essentiel. Comme l'alias de type CertSignRequest::Sptrc [SWS_CRYPT_40301] accorde exclusivement un accès en lecture, plusieurs threads et processus système peuvent traiter la même instance de CSR en parallèle et sans synchronisation supplémentaire par mutex. Les situations de compétition lors d'accès concurrents en lecture sont structurellement exclues par la conception de l'interface.

Parcours d'utilisation

Le déroulement d'utilisation typique s'articule autour de la mise à disposition, de la transmission fonctionnelle et de la sérialisation ultérieure de la demande. En l'absence de constructeurs publics dans la charge utile de l'interface, l'instanciation devrait généralement être effectuée par des fournisseurs X.509 spécialisés dans la pile crypto. Question Q-166e702484f51ee9 (ouverte) L'appelant reçoit l'instance prête sous la forme du pointeur intelligent constant CertSignRequest::Sptrc [SWS_CRYPT_40301].

Par la suite, l'objet CSR sert de structure de données d'entrée pour des processus de validation ou de retransmission. Grâce aux fonctionnalités héritées de ara::crypto::Serializable, le logiciel applicatif peut sérialiser l'objet dans un flux d'octets indépendant de la plateforme. Cette sérialisation devrait typiquement aboutir à des structures de données standardisées encodées en ASN.1 DER ou PEM, qui sont ensuite transmises à une autorité de certification externe (Certificate Authority) ou persistées dans le système de fichiers. Question Q-b44960c0a712e65c (ouverte) Tout au long de la chaîne d'appels, la durée de vie de l'instance reste assurée de manière fiable par le Sptrc [SWS_CRYPT_40301] maintenu.

Ce guide a été généré par une IA sur la base de la spécification AUTOSAR Adaptive R25-11.

Diagramme de classes UML

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__crypto__x509__CertSignRequest934 CertSignRequest nara__crypto__Serializable855 Serializable nara__crypto__x509__CertSignRequest934->nara__crypto__Serializable855

Alias de type

Sptrc alias de type

Smart pointer of the constant interface.

using Sptrc = std::shared_ptr<const CertSignRequest>;

Documentation des alias de type

alias de type Sptrc [SWS_CRYPT_40301] Upstream: RS_CRYPTO_02306

using Sptrc = std::shared_ptr<const CertSignRequest>;

Smart pointer of the constant interface.

Header-Datei#include "ara/crypto/x509/cert_sign_request.h"
Scopeclass ara::crypto::x509::CertSignRequest
SymbolSptrc

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_40301
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_40301@rel:R25-11#2abcdf06
Content hash
2abcdf06
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_40301
Status: valid/unmigrated Version: rel:R25-11#aa84db48 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_40301@rel:R25-11#aa84db48
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#76e481f82026-09-30
  • R19-11rel:R19-11#429783692026-10-14
  • R20-11rel:R20-11#f279f00d2026-10-14
  • R21-11rel:R21-11#f279f00d2026-10-14
  • R22-11rel:R22-11#ba0930b52026-10-14
  • R23-11rel:R23-11#c98782022026-10-14
  • R24-11rel:R24-11#c98782022026-10-14
  • R25-11rel:R25-11#aa84db482026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill