DEENESPTFRRUARHIKOZHNL

classe ara::crypto::cryp::PrivateKey

[SWS_CRYPT_22500] Upstream: RS_CRYPTO_02002, RS_CRYPTO_02403

class PrivateKey :         public CryptoObject {...};

Generalized Asymmetric Private Key interface.

Header-Datei#include "ara/crypto/cryp/cryobj/private_key.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::cryp
Basisklasse(n)CryptoObject

Guia do utilizadorGERADO POR IA

Encapsula chaves privadas assimétricas e disponibiliza a chave pública correspondente.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: cbfbff2bb90c Procedência Perguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Encapsula chaves privadas assimétricas e disponibiliza a chave pública correspondente.

A interface ara::crypto::cryp::PrivateKey define a interface geral para chaves privadas assimétricas no AUTOSAR Adaptive e é gerenciada primariamente por meio do alias de ponteiro compartilhado PrivateKey::Sptr [SWS_CRYPT_22501]. Sua função central GetPublicKey() permite obter a chave pública correspondente como PublicKey::Sptr para disponibilizá-la a operações criptográficas parceiras [SWS_CRYPT_22511]. Essa obtenção é especificada como thread-safe, bem como segura contra exceções sem códigos de erro padronizados, sendo que eventuais erros provavelmente devem ser sinalizados de forma específica da implementação por meio do tipo de retorno ara::core::Result (interpretação). Pergunta (aberta)

Contexto

A interface ara::crypto::cryp::PrivateKey atua na AUTOSAR Adaptive Platform como uma interface generalizada para chaves privadas assimétricas dentro do módulo crypto. Ela é declarada no arquivo de cabeçalho ara/crypto/cryp/cryobj/private_key.h e deriva diretamente da interface base CryptoObject. Como componente central do sistema de criptografia assimétrica, PrivateKey encapsula o material de chave confidencial, necessário para operações criptográficas como a geração de assinaturas digitais ou processos de decifração assimétrica.

Entre os parceiros de interação primários estão, além da classe base CryptoObject, especialmente a interface correspondente de chave pública PublicKey, bem como serviços criptográficos consumidores e rotinas de aplicação. Enquanto a chave privada deve sempre ser mantida em segredo, a interface possibilita a disponibilização direta da chave pública associada por meio da função-membro GetPublicKey() [SWS_CRYPT_22511]. Dessa forma, realiza-se uma relação fixa relacionada ao tipo entre a chave privada e sua contraparte matemática.

PrivateKeyContext Anwendung Anwendung PrivateKey PrivateKey Anwendung->PrivateKey nutzt Sptr PublicKey PublicKey Anwendung->PublicKey empfaengt Sptr CryptoObject CryptoObject PrivateKey->CryptoObject erbt von PrivateKey->PublicKey fornece via GetPublicKey()

Diagrama de contexto: incorporação de PrivateKey no modelo de objetos criptográficos e relação com a PublicKey correspondente. Fontes: [SWS_CRYPT_22501], [SWS_CRYPT_22511]

Ciclo de vida

O gerenciamento e a passagem de instâncias da interface PrivateKey ocorrem por meio do smart pointer tipado PrivateKey::Sptr, definido como alias de tipo para std::shared_ptr<PrivateKey> [SWS_CRYPT_22501]. Esse shared pointer assegura propriedade compartilhada e gerenciamento automático de recursos por contagem de referências, de modo que o material de chave protegido é liberado assim que a última referência expira.

Como PrivateKey representa uma interface abstrata com métodos puramente virtuais como GetPublicKey() [SWS_CRYPT_22511], as aplicações não podem instanciar a classe diretamente. A criação e disponibilização de instâncias concretas de PrivateKey::Sptr presumivelmente devem ocorrer por meio de fábricas especializadas, componentes de gerenciamento de chaves ou provedores criptográficos do sistema Adaptive (interpretação). Pergunta Q-f0f9fe2258fac168 (aberta) A interface em si não define estados discretos internos ou transições de estado.

Em relação à concorrência, a interface especifica explicitamente segurança de threads (thread-safe) para a função-membro central GetPublicKey() [SWS_CRYPT_22511]. Isso permite a múltiplos fluxos de execução o acesso simultâneo de leitura, livre de sincronização, à mesma instância de chave para a obtenção da chave pública correspondente.

Caminho de utilização

O caminho de uso típico de PrivateKey compreende o recebimento da chave privada e a subsequente extração da chave pública correspondente para fins de validação, registro ou comunicação:

  1. Obtenção da chave: O componente de software consumidor recebe uma instância válida de uma chave privada assimétrica na forma de um PrivateKey::Sptr [SWS_CRYPT_22501].
  2. Consulta da chave parceira: Quando a chave pública correspondente é necessária para um fluxo de trabalho posterior, o componente chama a função-membro GetPublicKey() na instância [SWS_CRYPT_22511].
  3. Processamento do resultado: A chamada retorna um ara::core::Result<PublicKey::Sptr> [SWS_CRYPT_22511]. A aplicação verifica o objeto de resultado quanto ao sucesso e, em caso de execução bem-sucedida, desempacota o ponteiro PublicKey::Sptr.
  4. Reutilização: A chave pública obtida pode ser subsequentemente transmitida a parceiros de comunicação externos ou repassada a rotinas de verificação locais. A derivação da chave pública internamente deve ocorrer, presumivelmente, de forma direta a partir dos parâmetros matemáticos de chave da chave privada (interpretação). Pergunta Q-464000dc5d638649 (aberta)

Cenários de erro

Para uma integração livre de erros, as propriedades de erro e as condições de contorno de GetPublicKey() são determinantes:

  • Erros padronizados: De acordo com a especificação, a função GetPublicKey() não define códigos de erro padronizados [SWS_CRYPT_22511].
  • Canal de erro: Embora nenhum erro padronizado esteja definido, o tipo de retorno ara::core::Result transporta falhas potenciais. Caso ocorra um erro durante a derivação interna de chave ou na criação de objeto, o objeto de resultado provavelmente deve conter códigos de erro específicos da implementação provenientes dos drivers criptográficos subjacentes (interpretação). Pergunta Q-4af6390594d9c5e1 (aberta)
  • Segurança contra exceções: A função é explicitamente classificada como segura contra exceções (exception safe) e acompanhada pelo identificador noexcept [SWS_CRYPT_22511]. Os chamadores, portanto, não precisam capturar exceções de C++.
  • Pré- e pós-condições: A pré-condição para a chamada bem-sucedida é uma instância válida e não liberada de PrivateKey. Como pós-condição, a interface garante, em caso de sucesso, o retorno de um PublicKey::Sptr que corresponde matematicamente com exatidão à chave privada [SWS_CRYPT_22511].

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

Diagrama de classes UML

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

G nara__crypto__cryp__PrivateKey762 PrivateKey + GetPublicKey() nara__crypto__cryp__CryptoObject679 CryptoObject nara__crypto__cryp__PrivateKey762->nara__crypto__cryp__CryptoObject679 nara__crypto__Serializable855 Serializable nara__crypto__cryp__CryptoObject679->nara__crypto__Serializable855

Métodos

GetPublicKey função

The interface shall return the public key correspondent to this private key.

virtual ara::core::Result< PublicKey::Sptr > GetPublicKey () const noexcept=0;

Aliases de tipo

Sptr alias de tipo

shared smart pointer of the interface.

Documentação dos métodos

função GetPublicKey [SWS_CRYPT_22511] Upstream: RS_CRYPTO_02108, RS_CRYPTO_02115

virtual ara::core::Result< PublicKey::Sptr > GetPublicKey () const noexcept=0;

The interface shall return the public key correspondent to this private key.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 9b62fab60fc4 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

O método GetPublicKey da classe ara::crypto::cryp::PrivateKey serve para obter sincronicamente a chave pública correspondente à chave privada [SWS_CRYPT_22511]. A chamada é realizada sem parâmetros em uma instância existente de PrivateKey. Como valor de retorno, a interface fornece um ara::core::Result<PublicKey::Sptr>, o qual, em caso de execução bem-sucedida, disponibiliza um shared pointer para o respectivo objeto PublicKey [SWS_CRYPT_22511].

Tratamento de erros e simultaneidade

Para este método, não há códigos de erro padronizados definidos na especificação [SWS_CRYPT_22511]. O tratamento de erros é feito por meio do objeto de retorno do tipo ara::core::Result. Como a operação está declarada como noexcept, ela é considerada segura contra exceções (exception safe) [SWS_CRYPT_22511]. Além disso, o método é qualificado como const e especificado como seguro para threads (thread-safe), permitindo assim acessos de leitura concorrentes através de múltiplas threads [SWS_CRYPT_22511].

Interação

Em fluxos criptográficos típicos, GetPublicKey é utilizado após a geração de um par de chaves assimétricas por meio de GeneratePrivateKey [SWS_CRYPT_20722]. Nesse processo, os sinalizadores de uso permitidos da chave privada gerada são transferidos para a chave pública correspondente (por exemplo, a permissão para verificação de assinatura a partir da geração de assinatura) [SWS_CRYPT_20722]. Deve-se distinguir esta função da interface de mesmo nome em ProtectedKeyImportCtx, que serve para desempacotar chaves públicas importadas [SWS_CRYPT_50211].

Esta nota de uso foi gerada automaticamente com base no AUTOSAR R25-11.

Guia do implementador em breve (complexidade I1)

Header-Datei#include "ara/crypto/cryp/cryobj/private_key.h"
Scopeclass ara::crypto::cryp::PrivateKey
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< PublicKey::Sptr >A result containing a shared pointer to the public key correspondent to this private key

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_22511
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22511@rel:R25-11#f9abbbcc
Content hash
f9abbbcc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22511
Status: valid/unmigrated Version: rel:R25-11#e5f0457b 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_22511@rel:R25-11#e5f0457b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f0d041e72026-09-30
  • R19-11rel:R19-11#bb931c232026-10-14
  • R20-11rel:R20-11#85846a1e2026-10-14
  • R21-11rel:R21-11#85846a1e2026-10-14
  • R22-11rel:R22-11#99b114f02026-10-14
  • R23-11rel:R23-11#6fdc19552026-10-14
  • R24-11rel:R24-11#a752dbfc2026-10-14
  • R25-11rel:R25-11#e5f0457b2026-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

Documentação dos aliases de tipo

alias de tipo Sptr [SWS_CRYPT_22501] Upstream: RS_CRYPTO_02306

using Sptr = std::shared_ptr<PrivateKey>;

shared smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/cryobj/private_key.h"
Scopeclass ara::crypto::cryp::PrivateKey
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_22501
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22501@rel:R25-11#e849f7b4
Content hash
e849f7b4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22501
Status: valid/unmigrated Version: rel:R25-11#48b56da1 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_22501@rel:R25-11#48b56da1
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#568a064f2026-09-30
  • R19-11rel:R19-11#c428ba2c2026-10-14
  • R20-11rel:R20-11#fb4c3bbd2026-10-14
  • R21-11rel:R21-11#fb4c3bbd2026-10-14
  • R22-11rel:R22-11#6e7979fe2026-10-14
  • R23-11rel:R23-11#d106cca42026-10-14
  • R24-11rel:R24-11#5eb65ced2026-10-14
  • R25-11rel:R25-11#48b56da12026-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