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

Guia do utilizadorGERADO POR IA

Define a interface para solicitações serializáveis de assinatura de certificados X.509 e seu gerenciamento de propriedade compartilhada.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 3439f3ad3ffa Procedência Perguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Define a interface para solicitações serializáveis de assinatura de certificados X.509 e seu gerenciamento de propriedade compartilhada.

A interface ara::crypto::x509::CertSignRequest serve no AUTOSAR Adaptive como abstração para Certificate Signing Requests (CSR) e herda de ara::crypto::Serializable para viabilizar a serialização de solicitações de certificado para autoridades certificadoras externas. O ciclo de vida e a propriedade compartilhada são controlados primariamente pelo alias de tipo Sptrc, que é definido como std::shared_ptr<const CertSignRequest> [SWS_CRYPT_40301]. Esse smart pointer constante assegura que instâncias de CSR permaneçam imutáveis após sua criação e possam ser lidas com segurança e de forma concorrente por múltiplos componentes.

Contexto

A classe C++ ara::crypto::x509::CertSignRequest disponibiliza a interface abstrata para objetos de Certificate Signing Request (CSR) dentro da Adaptive Platform da AUTOSAR no módulo crypto. Declarada no namespace ara::crypto::x509 e disponibilizada por meio do caminho de inclusão #include "ara/crypto/x509/cert_sign_request.h" [SWS_CRYPT_40301], este tipo de interface constitui o elemento fundamental para a representação de solicitações de assinatura para certificados digitais. De acordo com sua sintaxe de declaração, a classe herda diretamente da interface base ara::crypto::Serializable. Essa hierarquia de herança estabelece que objetos CSR concretos sejam serializáveis, o que possibilita a exportação, o armazenamento e a transmissão dos dados estruturados da solicitação além dos limites de módulos e de rede.

Na arquitetura geral, CertSignRequest assume o papel de um contêiner de dados e parceiro de interação entre serviços criptográficos e o software de aplicação. Quando uma aplicação deseja certificar novos pares de chaves criptográficas para uso em uma infraestrutura de chave pública (PKI), essa interface encapsula todas as informações relevantes da solicitação. Presume-se que a interface sirva para o encapsulamento independente de fornecedor de solicitações de assinatura completas de PKCS#10 ou específicas de fabricante, sendo a implementação concreta realizada pelos drivers criptográficos subjacentes. O desacoplamento por meio de uma interface pura protege os módulos chamadores contra detalhes de implementação e garante a intercambialidade funcional dos back-ends criptográficos. Pergunta (aberta)

Ciclo de vida

A criação e o gerenciamento de tempo de vida de ara::crypto::x509::CertSignRequest seguem os princípios do gerenciamento moderno de memória C++ para recursos compartilhados. Para o referenciamento e a propriedade, a especificação define o alias de tipo Sptrc como std::shared_ptr<const CertSignRequest> [SWS_CRYPT_40301]. Esse smart pointer forma o modelo determinante para a propriedade e o repasse de instâncias de CSR entre diferentes componentes de software.

Graças ao gerenciamento por meio de std::shared_ptr, o ciclo de vida de uma instância fica sujeito à contagem de referências automatizada. O objeto existe exatamente enquanto pelo menos um ponteiro Sptrc ativo apontar para ele, e é liberado automaticamente quando o último ponteiro referenciador é destruído. Uma característica central da interface é a vinculação explícita do smart pointer ao tipo const CertSignRequest [SWS_CRYPT_40301]. Essa qualificação constante impõe a imutabilidade semântica: após a geração original da solicitação, os consumidores não podem mais modificar os campos ou as assinaturas contidas. Isso assegura a integridade da solicitação de assinatura durante toda a sua vida útil.

Em termos de concorrência, a vinculação a ponteiro constante resulta em uma vantagem substancial de segurança. Como o alias de tipo CertSignRequest::Sptrc [SWS_CRYPT_40301] concede acesso exclusivamente de leitura, múltiplos threads e processos de sistema podem processar a mesma instância de CSR em paralelo e sem sincronização adicional por mutex. Condições de corrida em acessos concorrentes de leitura são estruturalmente excluídas pelo design da interface.

Caminho de utilização

O fluxo de uso típico divide-se na disponibilização, no repasse funcional e na serialização subsequente da solicitação. Na ausência de construtores públicos na payload da interface, a instanciação deve ocorrer tipicamente por meio de provedores X.509 especializados na pilha criptográfica. O chamador recebe de volta a instância pronta na forma do smart pointer constante CertSignRequest::Sptrc [SWS_CRYPT_40301]. Pergunta Q-166e702484f51ee9 (aberta)

Na sequência, o objeto CSR atua como estrutura de dados de entrada para processos de validação ou de encaminhamento. Por meio da funcionalidade herdada de ara::crypto::Serializable, o software de aplicação pode serializar o objeto em um fluxo de bytes independente de plataforma. Essa serialização deve normalmente resultar em estruturas de dados codificadas em ASN.1 DER ou PEM padronizadas, que são posteriormente transmitidas a uma autoridade certificadora externa (Certificate Authority) ou persistidas no sistema de arquivos. Pergunta Q-b44960c0a712e65c (aberta) Ao longo de toda a cadeia de chamadas, a vida útil da instância permanece mantida de forma confiável pelo Sptrc [SWS_CRYPT_40301] retido.

Este guia foi gerado por uma IA com base na especificação AUTOSAR Adaptive R25-11.

Diagrama 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

Aliases de tipo

Sptrc alias de tipo

Smart pointer of the constant interface.

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

Documentação dos aliases 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