DEENESPTFRRUARHIKOZHNL

classe ara::crypto::cryp::SymmetricKeyWrapperCtx

[SWS_CRYPT_24000] Upstream: RS_CRYPTO_02104, RS_CRYPTO_02208

class SymmetricKeyWrapperCtx :               public CryptoContext {...};

Context of a symmetric key wrap algorithm.

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

Guia do utilizadorGERADO POR IA

Permite o empacotamento e desempacotamento seguro de chaves por meio de criptografia de chave simétrica.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 16126e8d9692 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Permite o empacotamento e desempacotamento seguro de chaves por meio de criptografia de chave simétrica.

O contexto SymmetricKeyWrapperCtx serve para o empacotamento e desempacotamento criptográfico de chaves mediante algoritmos simétricos. Antes da execução de Wrap ou UnwrapSymmetricKey, o contexto deve ser configurado por meio de SetKey com uma chave de criptografia de chave (KEK) compatível [SWS_CRYPT_24018]. Todas as operações pressupõem as permissões de uso correspondentes dos objetos de chave envolvidos e reportam erros via ara::core::Result com semântica de rollback [SWS_CRYPT_24014]. A interface é exception-safe e especificada como thread-safe para operação concorrente.

Contexto

A classe SymmetricKeyWrapperCtx define a interface padronizada para algoritmos de envelopamento simétrico de chaves (Key Wrapping) na AUTOSAR Adaptive Platform. Sua responsabilidade central consiste na proteção criptográfica de chaves durante a exportação e na recuperação de chaves empacotadas para uso interno. Nesse processo, a classe interage primariamente com chaves de criptografia de chave (Key Encryption Keys, KEK), fornecidas como objeto de chave volátil do tipo SymmetricKey ou de forma persistente através de um KeySlot [SWS_CRYPT_24018], [SWS_CRYPT_50034]. No empacotamento, o contexto recebe um CryptoObject genérico [SWS_CRYPT_24014], enquanto a operação de desempacotamento gera e retorna um novo objeto SymmetricKey pronto para uso [SWS_CRYPT_24016].

Ciclo de vida

Instâncias de SymmetricKeyWrapperCtx são gerenciadas pelo ponteiro inteligente tipado Sptr (um alias para std::shared_ptr<SymmetricKeyWrapperCtx>) [SWS_CRYPT_24001]. A criação efetiva do objeto deve ocorrer por meio de uma factory de provedor competente, pois a classe representa uma interface abstrata com métodos puramente virtuais. Pergunta Q-7b9a1007da43ddcd (aberta) Todas as funções-membro da interface são especificadas como exception-safe e thread-safe, permitindo o uso seguro em componentes de software concorrentes [SWS_CRYPT_24014], [SWS_CRYPT_24016].

Em seu ciclo de vida, o contexto passa por duas fases essenciais: imediatamente após a instanciação, ele se encontra em estado não inicializado. Nessa fase, operações criptográficas e cálculos de buffer falham com o erro kUninitializedContext [SWS_CRYPT_50035], [SWS_CRYPT_24014]. Somente através da chamada bem-sucedida de SetKey com uma KEK ou KeySlot compatível o contexto transita para o estado operacional, no qual chaves podem ser empacotadas ou desempacotadas com segurança [SWS_CRYPT_24018], [SWS_CRYPT_50034].

Caminho de utilização

O fluxo regular para o empacotamento de uma chave requer uma sequência coordenada de configuração, verificação de buffer e execução. Inicialmente, a aplicação configura o contexto via SetKey com o objeto KEK desejado [SWS_CRYPT_24018] ou vincula um KeySlot correspondente [SWS_CRYPT_50034]. Na segunda etapa, a aplicação determina por meio de GetRequiredWrappedKeyBufferSize o tamanho máximo de buffer de saída necessário para o objeto de destino a ser empacotado [SWS_CRYPT_50035]. Após a disponibilização de uma área de memória adequadamente dimensionada (ReadWriteMemRegion), ocorre a chamada de Wrap, que grava os dados serializados e criptografados da chave no buffer e retorna o número exato de bytes [SWS_CRYPT_24014].

Symmetrischer Key-Wrapping-AblaufAplicaçãoSymmetricKeyWrapperCtxSetKey(kek)ara::core::Result<void>GetRequiredWrappedKeyBufferSize(key)ara::core::Result<std::size_t>Wrap(key, wrappedKey)ara::core::Result<std::size_t>

Diagrama de sequência: sequência típica de chamadas para o empacotamento simétrico de chaves. Fontes: [SWS_CRYPT_24018], [SWS_CRYPT_50035], [SWS_CRYPT_24014]

Para o processo complementar de desempacotamento, a aplicação, após a configuração mediante SetKey, passa o buffer de entrada com os dados empacotados para UnwrapSymmetricKey [SWS_CRYPT_24016]. Nesse procedimento, o identificador do algoritmo de destino (targetAlgId) e as flags de uso permitidas (allowedUsage) para a nova chave simétrica a ser gerada devem ser definidos explicitamente [SWS_CRYPT_24016].

Cenários de erro

Métodos da classe sinalizam erros por meio do tipo de retorno ara::core::Result com semântica de rollback. Os cenários centrais de erro incluem:

  • Inicialização ausente: se GetRequiredWrappedKeyBufferSize, Wrap ou UnwrapSymmetricKey forem chamados antes de uma atribuição de chave bem-sucedida, eles retornam ara::crypto::CryptoErrc::kUninitializedContext [SWS_CRYPT_50035], [SWS_CRYPT_24014], [SWS_CRYPT_24016].
  • Violação de direitos de uso: ao definir a KEK, ela deve possuir pelo menos a permissão kAllowKeyWrapping ou kAllowKeyUnwrapping; caso contrário, SetKey falha com ara::crypto::CryptoErrc::kUsageViolation [SWS_CRYPT_24018]. Em Wrap, a ausência de kAllowKeyWrapping na KEK ou a ausência de kAllowSecuredExport no objeto a ser empacotado também resulta em kUsageViolation [SWS_CRYPT_24014]. No desempacotamento, verifica-se se a KEK permite kAllowKeyUnwrapping [SWS_CRYPT_24016].
  • Incompatibilidades e erros de buffer: se o buffer de destino para Wrap for muito pequeno, ara::crypto::CryptoErrc::kInsufficientCapacity é reportado [SWS_CRYPT_24014]. Formatos de chave incorretos ou tipos incompatíveis resultam em ara::crypto::CryptoErrc::kInvalidArgument [SWS_CRYPT_24014], [SWS_CRYPT_24016]. Se o contexto suportar apenas slots ou apenas objetos de chave, SetKey reporta o erro kUnsupported [SWS_CRYPT_24018], [SWS_CRYPT_50034].
  • Conflitos de recursos e slots vazios: se a operação acessar um recurso ocupado, ara::crypto::CryptoErrc::kBusyResource é retornado; se o KeySlot referenciado estiver vazio, isso resulta em ara::crypto::CryptoErrc::kEmptyKeySlot [SWS_CRYPT_24014], [SWS_CRYPT_24016].

Este guia foi elaborado por uma IA e baseia-se exclusivamente na especificação AUTOSAR.

Mapa de membros

Diagrama de classes

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

G nara__crypto__cryp__SymmetricKeyWrapperCtx465 SymmetricKeyWrapperCtx + GetRequiredWrappedKeyBufferSize() + SetKey() + UnwrapSymmetricKey() + Wrap() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__SymmetricKeyWrapperCtx465->nara__crypto__cryp__CryptoContext85

Vista de detalhes

Selecione uma entrada no índice.

Métodos

Calculate the maximum required size of the wrapped key output buffer depending on the key to be wrapped.

virtual ara::core::Result< std::size_t > GetRequiredWrappedKeyBuffer Size (const CryptoObject &key) const noexcept;
SetKey função 2

Configure the context to use the provided key as key encryption key.

Sobrecargas SetKey 2
virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0; SWS_CRYPT_24018
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50034

Unwrap a wrapped key using the previously set key encryption key and return an SymmetricKey.

virtual ara::core::Result< SymmetricKey::Sptr > UnwrapSymmetricKey (ReadOnlyMemRegion wrappedKey, AlgId targetAlgId, AllowedUsageFlags allowedUsage) const noexcept=0;
Wrap função

Wrap the provided key using the previously set key encryption key.

virtual ara::core::Result< std::size_t > Wrap (CryptoObject::Sptr key, ReadWriteMemRegion wrappedKey) const noexcept=0;

Aliases de tipo

Sptr alias de tipo

Smart pointer of the interface.

Documentação dos métodos

função GetRequiredWrappedKeyBufferSize [SWS_CRYPT_50035] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > GetRequiredWrappedKeyBuffer Size (const CryptoObject &key) const noexcept;

Calculate the maximum required size of the wrapped key output buffer depending on the key to be wrapped.

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keykey to be wrapped

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the required capacity of the output buffer in bytes or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50035
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50035@rel:R25-11#3b1a1e0f
Content hash
3b1a1e0f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50035
Status: valid/unmigrated Version: rel:R25-11#79bcf3cd Versionshistorie & Revisions (1 transition)
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_50035@rel:R25-11#79bcf3cd
Point-in-Time History:
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

função SetKey [SWS_CRYPT_24018] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0;

Configure the context to use the provided key as key encryption key.

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

Utilização e semântica

A função-membro síncrona SetKey configura uma instância de ara::crypto::cryp::SymmetricKeyWrapperCtx de modo que o objeto SymmetricKey::Sptr passado seja utilizado como Key Encryption Key (KEK) para operações de chave subsequentes [SWS_CRYPT_24018]. A função é especificada como um método virtual puro com noexcept e retorna um ara::core::Result<void> vazio, desde que a atribuição tenha sido bem-sucedida [SWS_CRYPT_24018].

Tratamento de erros e rollback

Se ocorrer um erro durante a configuração, aplica-se uma semântica de rollback obrigatória, de modo que o estado do contexto permaneça inalterado [SWS_CRYPT_24018]. As possíveis causas de erro são mapeadas por meio de códigos de erro de ara::crypto::CryptoErrc:

  • kIncompatibleObject: o objeto de chave fornecido é incompatível com o contexto simétrico [SWS_CRYPT_24018].
  • kUsageViolation: o uso permitido da chave não inclui nem kAllowKeyWrapping nem kAllowKeyUnwrapping [SWS_CRYPT_24018].
  • kUnsupported: a implementação do contexto suporta exclusivamente a definição de uma chave por meio de um KeySlot [SWS_CRYPT_24018].

Concorrência e interação

O método é especificado como thread-safe e seguro contra exceções (exception safe) [SWS_CRYPT_24018]. Caso as chaves sejam gerenciadas por meio de slots ou o contexto suporte exclusivamente KeySlots, existe para o mesmo contexto de wrapper a sobrecarga alternativa SetKey com KeySlot::Sptr [SWS_CRYPT_50034]. Esta configura o contexto para carregar a chave armazenada no slot no momento da execução do key wrapping [SWS_CRYPT_50034].

Esta nota de uso baseia-se na especificação AUTOSAR Adaptive Platform Release R25-11.

Guia do implementador em breve (complexidade I2)

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keythe the key encryption key (KEK) object

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided key object is incompatible with this symmetric key context
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowKey Wrapping or kAllowKeyUnwrapping
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a KeySlot

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

Record
AUTOSAR/AP/record/SWS_CRYPT_24018
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_24018@rel:R25-11#8228b843
Content hash
8228b843
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_24018
Status: valid/unmigrated Version: rel:R25-11#5ba8abd5 Versionshistorie & Revisions (1 transition, 7 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_24018@rel:R25-11#5ba8abd5
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#07e640252026-09-30
  • R20-11rel:R20-11#dc67c1dc2026-10-14
  • R21-11rel:R21-11#34c85a1a2026-10-14
  • R22-11rel:R22-11#4ead34ac2026-10-14
  • R23-11rel:R23-11#9ca31f482026-10-14
  • R24-11rel:R24-11#bb17e6102026-10-14
  • R25-11rel:R25-11#5ba8abd52026-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

função SetKey [SWS_CRYPT_50034] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0;

Configure the context to use the key stored in the provided KeySlot at the time the key wrapping is performed.

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

usar

O método virtual SetKey configura o contexto ara::crypto::cryp::SymmetricKeyWrapperCtx de modo a que a chave armazenada no KeySlot fornecido seja utilizada assim que o key wrapping for executado [SWS_CRYPT_50034]. A chamada espera como parâmetro keySlot um KeySlot::Sptr que contém uma chave simétrica [SWS_CRYPT_50034]. A função é chamada de forma síncrona, está declarada com noexcept e retorna um ara::core::Result<void> [SWS_CRYPT_50034].

Tratamento de erros

Em caso de erro, o método assegura uma semântica de reversão e retorna um dos seguintes resultados de erro [SWS_CRYPT_50034]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: o keySlot fornecido é incompatível com este contexto [SWS_CRYPT_50034].
  • ara::crypto::CryptoErrc::kUnsupported: o contexto suporta exclusivamente a definição de um SymmetricKey direto [SWS_CRYPT_50034].

simultaneidade

A operação é segura para threads (thread-safe) e oferece segurança garantida contra exceções (exception safe) [SWS_CRYPT_50034].

Interação

A interface representa, dentro de SymmetricKeyWrapperCtx, o equivalente baseado em slot à sobrecarga SetKey com SymmetricKey::Sptr, que vincula diretamente uma chave como Key Encryption Key (KEK) [SWS_CRYPT_24018]. Funções de configuração análogas baseadas em slot também são utilizadas em contextos criptográficos relacionados, como KeyDerivationFunctionCtx [SWS_CRYPT_50010], KeyEncapsulatorPublicCtx [SWS_CRYPT_50012], VerifierPublicCtx [SWS_CRYPT_50018], MessageAuthnCodeCtx [SWS_CRYPT_50026] e SignerPrivateCtx [SWS_CRYPT_50036].

Esta nota de uso foi gerada automaticamente com base na especificação do AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade I2)

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a symmetric key

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided keySlot is incompatible with this context
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a SymmetricKey

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50034
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50034@rel:R25-11#8facbf98
Content hash
8facbf98
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50034
Status: valid/unmigrated Version: rel:R25-11#c06f6729 Versionshistorie & Revisions (1 transition)
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_50034@rel:R25-11#c06f6729
Point-in-Time History:
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

função UnwrapSymmetricKey [SWS_CRYPT_24016] Upstream: RS_CRYPTO_02115

virtual ara::core::Result< SymmetricKey::Sptr > UnwrapSymmetricKey (ReadOnlyMemRegion wrappedKey, AlgId targetAlgId, AllowedUsageFlags allowedUsage) const noexcept=0;

Unwrap a wrapped key using the previously set key encryption key and return an SymmetricKey.

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

O método UnwrapSymmetricKey da interface ara::crypto::cryp::SymmetricKeyWrapperCtx descriptografa uma chave empacotada utilizando a Key Encryption Key (KEK) previamente definida e retorna um novo objeto SymmetricKey [SWS_CRYPT_24016]. Como parâmetros, a função síncrona recebe o buffer de entrada com os dados protegidos da chave (wrappedKey), o identificador de algoritmo para a chave de destino (targetAlgId), bem como sinalizadores de bits para os tipos de transformação permitidos desta (allowedUsage) [SWS_CRYPT_24016].

O valor de retorno ara::core::Result<SymmetricKey::Sptr> contém, em caso de execução bem-sucedida, um smart pointer para a chave gerada ou sinaliza um erro com semântica de rollback [SWS_CRYPT_24016]. Possíveis causas de erro são:

  • InvalidArgument: os dados de chave passados em wrappedKey não podem ser desempacotados, por exemplo, devido a um formato inválido ou a um tamanho incorreto de buffer [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kUninitializedContext: o contexto de empacotamento ainda não foi inicializado com uma KEK compatível [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kUsageViolation: as restrições de uso da KEK proíbem o desempacotamento (ausência de kAllowKeyUnwrapping) [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kUnknownIdentifier: o valor passado para targetAlgId não é conhecido ou não é suportado [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kIncompatibleArguments: os sinalizadores allowedUsage especificados são incompatíveis com targetAlgId ou com o tipo de chave [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kBusyResource: um recurso do sistema necessário para a operação está ocupado no momento [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: um KeySlot configurado para a operação está vazio [SWS_CRYPT_24016].

O método é declarado como const bem como noexcept, garante segurança de exceções e, de acordo com a especificação, é thread-safe para chamadas simultâneas [SWS_CRYPT_24016].

Este texto foi criado por uma IA e serve como orientação. O documento determinante é a especificação.

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe ara::crypto::CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
wrappedKeyan input buffer that contains the wrapped key
targetAlgIdthe algId of the to be created unwrapped key
allowedUsagebit-flags that define a list of allowed transformations’ types in which the unwrapped key can be used

Rückgabewert

TypBeschreibung
ara::core::Result<SymmetricKey::Sptr >a result containing the unwrapped SymmetricKey object or an error

Fehler

FehlercodeBeschreibung
InvalidArgumentif the wrapped key data cannot be unwrapped (e.g., invalid format or size)
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by a key value
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the KEK does not include kAllowKey Unwrapping
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if targetAlgId has an unsupported value
ara::crypto::CryptoErrc::kIncompatibleArgumentsrollback_semantics if the allowedUsage is incompatible with the targetAlgId or the key type
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the KEK does not include kAllowKey Unwrapping

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

Record
AUTOSAR/AP/record/SWS_CRYPT_24016
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_24016@rel:R25-11#e6479a53
Content hash
e6479a53
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_24016
Status: valid/unmigrated Version: rel:R25-11#7d151daa 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_24016@rel:R25-11#7d151daa
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#74bd38af2026-09-30
  • R19-11rel:R19-11#8ec5b1a02026-10-14
  • R20-11rel:R20-11#496f81ad2026-10-14
  • R21-11rel:R21-11#354b26632026-10-14
  • R22-11rel:R22-11#767017ac2026-10-14
  • R23-11rel:R23-11#624822262026-10-14
  • R24-11rel:R24-11#9c4b80db2026-10-14
  • R25-11rel:R25-11#7d151daa2026-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

função Wrap [SWS_CRYPT_24014] Upstream: RS_CRYPTO_02201

virtual ara::core::Result< std::size_t > Wrap (CryptoObject::Sptr key, ReadWriteMemRegion wrappedKey) const noexcept=0;

Wrap the provided key using the previously set key encryption key.

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

usar

O método Wrap da classe ara::crypto::cryp::SymmetricKeyWrapperCtx (arquivo de cabeçalho ara/crypto/cryp/symmetric_key_wrapper_ctx.h) empacota uma chave fornecida utilizando a chave de criptografia de chave (Key Encryption Key) previamente definida [SWS_CRYPT_24014].

A função síncrona espera os seguintes parâmetros [SWS_CRYPT_24014]:

  • key (CryptoObject::Sptr): a chave a ser empacotada.
  • wrappedKey (ReadWriteMemRegion): um buffer de saída no qual a chave empacotada é gravada.

Como valor de retorno, a operação fornece um ara::core::Result<std::size_t> que, em caso de sucesso, contém o número de bytes da chave empacotada gravados no buffer [SWS_CRYPT_24014].

Tratamento de erros e semântica

O método é definido como exception safe e implementa uma semântica de rollback estrita para casos de erro [SWS_CRYPT_24014]. Os seguintes estados de erro podem ser reportados [SWS_CRYPT_24014]:

  • InvalidArgument: o objeto de chave não pode ser empacotado (por ex., devido a tamanho inválido ou tipo incorreto).
  • ara::crypto::CryptoErrc::kUninitializedContext: o contexto ainda não foi inicializado com um valor de chave.
  • ara::crypto::CryptoErrc::kUsageViolation: o uso permitido da KEK não abrange kAllowKeyWrapping ou o do objeto não abrange kAllowSecuredExport.
  • ara::crypto::CryptoErrc::kInsufficientCapacity: o buffer de saída wrappedKey é pequeno demais.
  • ara::crypto::CryptoErrc::kBusyResource: um recurso necessário está ocupado.
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Um KeySlot configurado está atualmente vazio.

Simultaneidade e restrições

A interface é especificada como thread-safe [SWS_CRYPT_24014]. Pré-requisito para a execução é um contexto previamente inicializado, bem como atributos de uso compatíveis das chaves envolvidas [SWS_CRYPT_24014].

Esta nota de utilização foi gerada automaticamente com base na especificação da AUTOSAR Adaptive R25-11.

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe ara::crypto::CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
keythe key to be wrapped

Parameter (out)

ParameterBeschreibung
wrappedKeyan output buffer that the wrapped key will be written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing either a the number of bytes of the wrapped key or an error

Fehler

FehlercodeBeschreibung
InvalidArgumentif the key object cannot be wrapped (e.g., invalid size or type)
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by a key value
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the KEK does not include kAllowKey Wrapping or the allowed usage of the object does not include k AllowSecuredExport
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty

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

Record
AUTOSAR/AP/record/SWS_CRYPT_24014
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_24014@rel:R25-11#6b021920
Content hash
6b021920
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_24014
Status: valid/unmigrated Version: rel:R25-11#d59df6cf 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_24014@rel:R25-11#d59df6cf
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ac935a362026-09-30
  • R19-11rel:R19-11#b94a246e2026-10-14
  • R20-11rel:R20-11#999104362026-10-14
  • R21-11rel:R21-11#d51795ed2026-10-14
  • R22-11rel:R22-11#f7dabf992026-10-14
  • R23-11rel:R23-11#5c3c2d942026-10-14
  • R24-11rel:R24-11#90cde3442026-10-14
  • R25-11rel:R25-11#d59df6cf2026-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_24001] Upstream: RS_CRYPTO_02201

using Sptr = std::shared_ptr<SymmetricKeyWrapperCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_24001
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_24001@rel:R25-11#3d218a9b
Content hash
3d218a9b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_24001
Status: valid/unmigrated Version: rel:R25-11#aef6197c 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_24001@rel:R25-11#aef6197c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#10e154c52026-09-30
  • R19-11rel:R19-11#521f46bb2026-10-14
  • R20-11rel:R20-11#0ab69c592026-10-14
  • R21-11rel:R21-11#8d463cfa2026-10-14
  • R22-11rel:R22-11#7a7fa6972026-10-14
  • R23-11rel:R23-11#4b170d372026-10-14
  • R24-11rel:R24-11#4b170d372026-10-14
  • R25-11rel:R25-11#aef6197c2026-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