DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Define la interfaz para solicitudes de firma de certificados X.509 serializables y su gestión de propiedad compartida.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 3439f3ad3ffa Procedencia Preguntas abiertas (3)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Define la interfaz para solicitudes de firma de certificados X.509 serializables y su gestión de propiedad compartida.

La interfaz ara::crypto::x509::CertSignRequest sirve en AUTOSAR Adaptive como abstracción para Certificate Signing Requests (CSR) y hereda de ara::crypto::Serializable para hacer serializables las solicitudes de certificado para autoridades de certificación externas. El ciclo de vida y la propiedad compartida se controlan primordialmente mediante el alias de tipo Sptrc, que está definido como std::shared_ptr<const CertSignRequest> [SWS_CRYPT_40301]. Este smart pointer constante garantiza que las instancias de CSR permanezcan inmutables tras su creación y puedan ser leídas de forma segura y concurrente por múltiples componentes.

Contexto

La clase C++ ara::crypto::x509::CertSignRequest proporciona, dentro de la Adaptive Platform de AUTOSAR en el módulo crypto, la interfaz abstracta para objetos de Certificate Signing Request (CSR). Declarado en el espacio de nombres ara::crypto::x509 y puesto a disposición mediante la ruta de inclusión #include "ara/crypto/x509/cert_sign_request.h" [SWS_CRYPT_40301], este tipo de interfaz constituye el elemento fundamental para representar solicitudes de firma de certificados digitales. Conforme a su sintaxis de declaración, la clase hereda directamente de la interfaz base ara::crypto::Serializable. Mediante esta jerarquía de herencia se establece que los objetos concretos de CSR son serializables, lo que permite la exportación, el almacenamiento y la transmisión de los datos de solicitud estructurados a través de límites de módulos y de red.

En la arquitectura global, CertSignRequest asume el rol de contenedor de datos y asociado de interacción entre servicios criptográficos y el software de aplicación. Cuando una aplicación desea certificar nuevos pares de claves criptográficas para su uso en una infraestructura de clave pública, esta interfaz encapsula todos los datos relevantes de la solicitud. Presumiblemente, la interfaz sirve para la encapsulación independiente del fabricante de solicitudes de firma completas PKCS#10 o específicas del fabricante, implementándose la manifestación concreta mediante controladores criptográficos subyacentes. Pregunta (abierta) El desacoplamiento mediante una interfaz pura protege a los módulos llamadores frente a detalles de implementación y asegura la intercambiabilidad funcional de los backends criptográficos.

Ciclo de vida

La creación y la gestión del tiempo de vida de ara::crypto::x509::CertSignRequest siguen los principios de la gestión moderna de memoria en C++ para recursos compartidos. Para la referenciación y la propiedad, la especificación define el alias de tipo Sptrc como std::shared_ptr<const CertSignRequest> [SWS_CRYPT_40301]. Este smart pointer constituye el modelo determinante para la propiedad y la transferencia de instancias de CSR entre diferentes componentes de software.

Mediante la gestión a través de std::shared_ptr, el ciclo de vida de una instancia queda sujeto al recuento automático de referencias. El objeto existe exactamente mientras al menos un puntero Sptrc activo apunte a él, y se libera automáticamente al destruirse el último puntero que lo referencia. Una característica central de la interfaz es la vinculación explícita del smart pointer al tipo const CertSignRequest [SWS_CRYPT_40301]. Esta calificación de constancia impone la inmutabilidad semántica: tras la generación inicial de la solicitud, los consumidores ya no deben modificar los campos o firmas contenidos. Esto garantiza la integridad de la solicitud de firma durante todo su tiempo de vida.

En cuanto a la concurrencia, de la vinculación a un puntero constante resulta una ventaja sustancial de seguridad. Dado que el alias de tipo CertSignRequest::Sptrc [SWS_CRYPT_40301] otorga exclusivamente acceso de lectura, múltiples hilos y procesos del sistema pueden procesar la misma instancia de CSR en paralelo y sin sincronización adicional mediante mutex. Las carreras de datos en accesos de lectura concurrentes quedan estructuralmente excluidas por el diseño de la interfaz.

Ruta de uso

El flujo de uso típico se divide en la puesta a disposición, la entrega funcional y la serialización posterior de la solicitud. A falta de constructores públicos en la carga útil de la interfaz, la instanciación debería efectuarse típicamente mediante proveedores de X.509 especializados en la pila criptográfica. Pregunta Q-166e702484f51ee9 (abierta) Quien realiza la llamada recibe de vuelta la instancia terminada en forma del smart pointer constante CertSignRequest::Sptrc [SWS_CRYPT_40301].

En el curso posterior, el objeto CSR actúa como estructura de datos de entrada para procesos de validación o reenvío. Mediante la funcionalidad heredada de ara::crypto::Serializable, el software de aplicación puede serializar el objeto en un flujo de bytes independiente de la plataforma. Esta serialización debería desembocar típicamente en estructuras de datos estandarizadas codificadas en ASN.1 DER o PEM, que a continuación se transmiten a una entidad de certificación externa (Certificate Authority) o se persisten en el sistema de archivos. A lo largo de toda la cadena de llamadas, el tiempo de vida de la instancia permanece asegurado de manera fiable por el Sptrc [SWS_CRYPT_40301] retenido. Pregunta Q-b44960c0a712e65c (abierta)

Esta guía fue generada por una IA sobre la base de la especificación AUTOSAR Adaptive R25-11.

Diagrama de clases 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 tipo

Sptrc alias de tipo

Smart pointer of the constant interface.

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

Documentación de los alias de tipo

alias de tipo 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#aed435b7
Content hash
aed435b7
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