DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Encapsula claves privadas asimétricas y proporciona la clave pública correspondiente.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: cbfbff2bb90c Procedencia Preguntas abiertas (3)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Encapsula claves privadas asimétricas y proporciona la clave pública correspondiente.

La interfaz ara::crypto::cryp::PrivateKey define la interfaz general para claves privadas asimétricas en AUTOSAR Adaptive y se gestiona principalmente a través del alias de puntero compartido PrivateKey::Sptr [SWS_CRYPT_22501]. Su función central GetPublicKey() permite obtener la clave pública asociada como PublicKey::Sptr para ponerla a disposición de operaciones asociadas criptográficas [SWS_CRYPT_22511]. Esta obtención está especificada como segura para hilos y segura frente a excepciones sin códigos de error estandarizados; es de suponer que los posibles errores se señalen de manera específica de la implementación a través del tipo de retorno ara::core::Result (interpretación). Pregunta (abierta)

Contexto

La interfaz ara::crypto::cryp::PrivateKey actúa en AUTOSAR Adaptive Platform como interfaz generalizada para claves privadas asimétricas dentro del módulo crypto. Está declarada en el archivo de cabecera ara/crypto/cryp/cryobj/private_key.h y deriva directamente de la interfaz base CryptoObject. Como componente central del sistema criptográfico asimétrico, PrivateKey encapsula el material de clave confidencial necesario para operaciones criptográficas tales como la generación de firmas digitales o procedimientos de descifrado asimétrico.

Entre los participantes de interacción primarios se encuentran, además de la clase base CryptoObject, en particular la correspondiente interfaz de clave pública PublicKey, así como servicios criptográficos consumidores y rutinas de aplicación. Mientras que la clave privada debe mantenerse siempre en secreto, la interfaz permite, mediante la función miembro GetPublicKey(), la puesta a disposición directa de la clave pública asociada [SWS_CRYPT_22511]. De este modo se hace realidad una relación fija vinculada al tipo entre la clave privada y su 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 proporciona a través de GetPublicKey()

Diagrama de contexto: incrustación de PrivateKey en el modelo de objetos criptográficos y relación con el PublicKey correspondiente. Fuentes: [SWS_CRYPT_22501], [SWS_CRYPT_22511]

Ciclo de vida

La gestión y transferencia de instancias de la interfaz PrivateKey se realiza a través del puntero inteligente tipificado PrivateKey::Sptr, definido como alias de tipo para std::shared_ptr<PrivateKey> [SWS_CRYPT_22501]. Este puntero compartido garantiza una propiedad compartida y una gestión automática de recursos mediante conteo de referencias, de modo que el material de clave protegido se libera en cuanto se extingue la última referencia.

Dado que PrivateKey representa una interfaz abstracta con métodos puramente virtuales como GetPublicKey() [SWS_CRYPT_22511], las aplicaciones no pueden instanciar la clase directamente. Es de suponer que la creación y provisión de instancias concretas de PrivateKey::Sptr se realice a través de fábricas especializadas, componentes de gestión de claves o proveedores criptográficos del sistema Adaptive (interpretación). Pregunta Q-f0f9fe2258fac168 (abierta) La propia interfaz no define estados internos discretos ni transiciones de estado.

En lo relativo a la concurrencia, la interfaz especifica explícitamente seguridad de hilos (thread-safe) para la función miembro central GetPublicKey() [SWS_CRYPT_22511]. Esto permite que múltiples hilos de ejecución tengan acceso de lectura concurrente y libre de sincronización a la misma instancia de clave para obtener la clave pública correspondiente.

Ruta de uso

La ruta de uso típica de PrivateKey comprende la recepción de la clave privada y la posterior extracción de la clave pública correspondiente para fines de validación, registro o comunicación:

  1. Obtención de la clave: el componente de software consumidor recibe una instancia válida de una clave privada asimétrica en forma de un PrivateKey::Sptr [SWS_CRYPT_22501].
  2. Obtención de la clave asociada: cuando se necesita la clave pública correspondiente para un flujo de trabajo posterior, el componente invoca la función miembro GetPublicKey() en la instancia [SWS_CRYPT_22511].
  3. Procesamiento del resultado: la invocación devuelve un ara::core::Result<PublicKey::Sptr> [SWS_CRYPT_22511]. La aplicación comprueba el éxito del objeto de resultado y, en caso de ejecución satisfactoria, desempaqueta el puntero PublicKey::Sptr.
  4. Uso posterior: la clave pública obtenida puede transmitirse a continuación a interlocutores de comunicación externos o transferirse a rutinas de verificación locales. Es de suponer que internamente la derivación de la clave pública se realice directamente a partir de los parámetros matemáticos de la clave privada (interpretación). Pregunta Q-464000dc5d638649 (abierta)

Escenarios de error

Para una integración libre de errores, las propiedades de error y las condiciones de contorno de GetPublicKey() son determinantes:

  • Errores estandarizados: según la especificación, la función GetPublicKey() no define códigos de error estandarizados [SWS_CRYPT_22511].
  • Canal de error: aunque no se definen errores estandarizados, el tipo de retorno ara::core::Result transporta fallos potenciales. En caso de que se produzca un error durante la derivación interna de la clave o la creación del objeto, es de suponer que el objeto de resultado contenga códigos de error específicos de la implementación de los controladores criptográficos subyacentes (interpretación). Pregunta Q-4af6390594d9c5e1 (abierta)
  • Seguridad frente a excepciones: la función está clasificada explícitamente como segura frente a excepciones (exception safe) y provista del identificador noexcept [SWS_CRYPT_22511]. Por lo tanto, los invocadores no necesitan capturar excepciones de C++.
  • Precondiciones y poscondiciones: la precondición para una invocación satisfactoria es una instancia válida y no liberada de PrivateKey. Como poscondición, la interfaz garantiza en caso de éxito la devolución de un PublicKey::Sptr que se corresponde matemáticamente de forma exacta con la clave privada [SWS_CRYPT_22511].

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

Diagrama de clases 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 función

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

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

Alias de tipo

Sptr alias de tipo

shared smart pointer of the interface.

Documentación de los métodos

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 9b62fab60fc4 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El método GetPublicKey de la clase ara::crypto::cryp::PrivateKey sirve para obtener de forma síncrona la clave pública correspondiente a la clave privada [SWS_CRYPT_22511]. La llamada se realiza sin parámetros sobre una instancia existente de PrivateKey. Como valor de retorno, la interfaz proporciona un ara::core::Result<PublicKey::Sptr> que, en caso de ejecución correcta, suministra un puntero compartido al objeto PublicKey correspondiente [SWS_CRYPT_22511].

Tratamiento de errores y concurrencia

Para este método no se definen códigos de error estandarizados en la especificación [SWS_CRYPT_22511]. El tratamiento de errores se realiza mediante el objeto de retorno del tipo ara::core::Result. Dado que la operación está declarada como noexcept, se considera segura ante excepciones (exception safe) [SWS_CRYPT_22511]. Además, el método está cualificado como const y especificado como seguro para subprocesos (thread-safe), lo que permite accesos de lectura paralelos a través de múltiples subprocesos [SWS_CRYPT_22511].

Interacción

En los flujos de trabajo criptográficos habituales, GetPublicKey se utiliza tras la generación de un par de claves asimétricas mediante GeneratePrivateKey [SWS_CRYPT_20722]. En este proceso, los indicadores de uso permitidos de la clave privada generada se transfieren a la clave pública correspondiente (por ejemplo, la autorización para la verificación de firmas a partir de la generación de firmas) [SWS_CRYPT_20722]. Debe distinguirse la función de la interfaz homónima en ProtectedKeyImportCtx, que sirve para desempaquetar claves públicas importadas [SWS_CRYPT_50211].

Esta nota de uso se generó de forma automatizada sobre la base de AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#ff90b951
Content hash
ff90b951
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

Documentación de los alias 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