DEENESPTFRRUARHIKOZHNL

classe ara::crypto::cryp::DecryptorPrivateCtx

[SWS_CRYPT_50155] Upstream: RS_CRYPTO_02201

class DecryptorPrivateCtx :             public CryptoContext {...};

Interface for asymmetric decryption.

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

Guia do utilizadorGERADO POR IA

Permite a descriptografia assimétrica de dados por meio de chaves privadas como chamada única ou fluxo de dados.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 80609e0a7ac2 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Permite a descriptografia assimétrica de dados por meio de chaves privadas como chamada única ou fluxo de dados.

A interface ara::crypto::cryp::DecryptorPrivateCtx serve para a descriptografia assimétrica de criptogramas na AUTOSAR Adaptive Platform ([SWS_CRYPT_50070]). Antes da execução, uma chave privada que possua a permissão de uso para descriptografia deve ser obrigatoriamente passada ao contexto ([SWS_CRYPT_50157]). O processamento pode ocorrer opcionalmente em uma única chamada ou como um fluxo de dados em várias partes através das fases Start, Update e Finish. Todos os métodos da interface são implementados de forma thread-safe e segura contra exceções.

Contexto

A interface ara::crypto::cryp::DecryptorPrivateCtx serve para a descriptografia assimétrica de criptogramas no módulo de criptografia da AUTOSAR Adaptive Platform. Como especialização de CryptoContext, ela disponibiliza as funções de transformação criptográfica com as quais os criptogramas são convertidos novamente em texto simples utilizando chaves privadas. Entre os principais parceiros de interação estão a aplicação chamadora e objetos de chave disponibilizados como PrivateKey ou por meio de um KeySlot. Instâncias desta interface são normalmente gerenciadas por meio do smart pointer tipado Sptr ([SWS_CRYPT_50156]).

Ciclo de vida

O gerenciamento de DecryptorPrivateCtx ocorre por meio do alias ara::crypto::cryp::DecryptorPrivateCtx::Sptr, que está mapeado para std::shared_ptr<DecryptorPrivateCtx> ([SWS_CRYPT_50156]). Interpretação: Como se trata de uma interface com métodos puramente virtuais, a criação concreta provavelmente é realizada por uma factory do driver de criptografia. Pergunta Q-6130603fcaf29ef9 (aberta)

Imediatamente após a instanciação, o contexto encontra-se em um estado não inicializado. Nesse estado, chamadas operacionais de transformação resultam em erros. Para a ativação, deve ser atribuída uma chave privada. Isso ocorre por meio da passagem de um PrivateKey::Sptr usando SetKey() ([SWS_CRYPT_50157]) ou por meio de um KeySlot::Sptr ([SWS_CRYPT_50066]), que encapsula a chave.

Assim que o contexto é configurado com uma chave válida, ele transita para o estado Initialized. Nesse estado, o contexto pode ser utilizado diretamente para a descriptografia em etapa única ou ser transicionado para o estado de processamento Streaming por meio de Start() ([SWS_CRYPT_50067]). Durante o streaming, Update() ([SWS_CRYPT_50158]) recebe fragmentos de criptograma. A sequência é concluída por Finish() ([SWS_CRYPT_50068]) ou cancelada via Cancel() ([SWS_CRYPT_50069]), após o que o contexto fica novamente pronto para novas operações. Todos os métodos da interface são especificados como thread-safe e seguros contra exceções ([SWS_CRYPT_50066], [SWS_CRYPT_50067], [SWS_CRYPT_50070]).

StateMachine Uninitialized Uninitialized Initialized Initialized Uninitialized->Initialized SetKey() Initialized->Initialized SetKey() / Decrypt() Streaming Streaming Initialized->Streaming Start() Streaming->Initialized Finish() / Cancel() Streaming->Streaming Update()

Diagrama de estados: Estados do ciclo de vida do contexto, desde a vinculação da chave passando pelo streaming até a conclusão. Fontes: [SWS_CRYPT_50066], [SWS_CRYPT_50157], [SWS_CRYPT_50067], [SWS_CRYPT_50158], [SWS_CRYPT_50068], [SWS_CRYPT_50069], [SWS_CRYPT_50070].

Caminho de utilização

Para a descriptografia, estão disponíveis dois fluxos distintos: a descriptografia única sem estado e o processamento de streaming em várias etapas. Antes de passar os dados, a aplicação chamadora pode consultar os limites de entrada permitidos para criptogramas com GetMinimumChunkSize() ([SWS_CRYPT_50160]) e GetMaximumChunkSize() ([SWS_CRYPT_50071]). Por meio de GetRequiredOutputBufferSize() ([SWS_CRYPT_50159]), é possível determinar previamente o tamanho necessário do buffer de saída para Update(), Finish() ou Decrypt().

Para volumes de dados compactos, a descriptografia ocorre diretamente via Decrypt() ([SWS_CRYPT_50070]) após a configuração da chave. O criptograma é transformado em uma única etapa e a quantidade real de bytes descriptografados é retornada.

Criptogramas maiores ou recebidos de forma fragmentada são processados pelo caminho de streaming:

  1. Atribuição de chave: Configuração do contexto via SetKey() com um PrivateKey ([SWS_CRYPT_50157]) ou KeySlot ([SWS_CRYPT_50066]).
  2. Inicialização: Chamada de Start() ([SWS_CRYPT_50067]) para preparar o estado interno de processamento.
  3. Processamento em blocos: Chamada repetida de Update() ([SWS_CRYPT_50158]) para blocos de criptograma sucessivos.
  4. Finalização: Chamada de Finish() ([SWS_CRYPT_50068]) para o processamento do bloco final e conclusão do fluxo. Alternativamente, a operação pode ser abortada prematuramente por meio de Cancel() ([SWS_CRYPT_50069]).
Fluxo de uma descriptografia em streamingAplicaçãoDecryptorPrivateCtxSetKey(key)Result<void>Start()Result<void>loopSolange Chunks vorhandenUpdate(in, out)Result<std::size_t>Finish(in, out)Result<std::size_t>

Diagrama de sequência: Sequência típica de chamadas de uma descriptografia de streaming em várias partes. Fontes: [SWS_CRYPT_50157], [SWS_CRYPT_50067], [SWS_CRYPT_50158], [SWS_CRYPT_50068].

Cenários de erro

Os métodos de DecryptorPrivateCtx retornam erros por meio de ara::core::Result com códigos de ara::crypto::CryptoErrc e seguem uma semântica de rollback:

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

Mapa de membros

Diagrama de classes

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

G nara__crypto__cryp__DecryptorPrivateCtx616 DecryptorPrivateCtx + Cancel() + Decrypt() + Finish() + GetMaximumChunkSize() + GetMinimumChunkSize() + GetRequiredOutputBufferSize() + SetKey() + Start() + Update() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__DecryptorPrivateCtx616->nara__crypto__cryp__CryptoContext85

Vista de detalhes

Selecione uma entrada no índice.

Métodos

Cancel função

Cancel the ongoing streaming operation that has been initiated by Start() and has not yet been finished.

virtual ara::core::Result< void > Cancel () noexcept=0;
Decrypt função

Decrypt data in a single-call.

virtual ara::core::Result< std::size_t > Decrypt (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;
Finish função

Finalize the decryption.

virtual ara::core::Result< std::size_t > Finish (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Get the maximum input buffer size supported for processing in single calls to Update(), Finish(), or Decrypt() by this context.

virtual ara::core::Result< std::size_t > GetMaximumChunkSize () const noexcept=0;

Get the minimum input buffer size supported for processing in single calls to Update(), Finish(), or Decrypt() by this context.

virtual ara::core::Result< std::size_t > GetMinimumChunkSize () const noexcept=0;

Calculate the maximum required size of the output buffer depending on the input size in the current state of the context.

virtual ara::core::Result< std::size_t > GetRequiredOutputBufferSize (std::size_t inputSize, bool isFinal) const noexcept;
SetKey função 2

Configure the context to use the key stored in the provided KeySlot at the time the decryption is started.

Sobrecargas SetKey 2
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50066
virtual ara::core::Result< void > SetKey (PrivateKey::Sptr key) noexcept=0; SWS_CRYPT_50157
Start função

Initialize the context for a new decryption.

virtual ara::core::Result< void > Start () noexcept=0;
Update função

Decrypt a data buffer.

virtual ara::core::Result< std::size_t > Update (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Aliases de tipo

Sptr alias de tipo

Smart pointer of the interface.

Documentação dos métodos

função Cancel [SWS_CRYPT_50069] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< void > Cancel () noexcept=0;

Cancel the ongoing streaming operation that has been initiated by Start() and has not yet been finished.

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

O método Cancel da classe ara::crypto::cryp::DecryptorPrivateCtx, definido em ara/crypto/cryp/decryptor_private_ctx.h, cancela uma operação de streaming em andamento que foi previamente iniciada por meio de Start() e ainda não concluída [SWS_CRYPT_50069]. A chamada não recebe parâmetros de entrada e fornece como valor de retorno um ara::core::Result<void> [SWS_CRYPT_50069]. Se o cancelamento do processamento de streaming tiver sido bem-sucedido, o objeto conterá um resultado vazio; caso contrário, transportará um erro ocorrido [SWS_CRYPT_50069]. A interface puramente virtual é declarada como noexcept, apresenta total segurança contra exceções e é indicada como thread-safe para acesso concorrente [SWS_CRYPT_50069].

No tratamento de erros e nas condições de fluxo, deve-se observar a ordem exata: se o processamento de dados não tiver sido previamente iniciado pela chamada do método Start(), a operação falha e retorna o código de erro específico ara::crypto::CryptoErrc::kProcessingNotStarted com semântica de rollback [SWS_CRYPT_50069]. O chamador deve, portanto, assegurar que já exista uma operação ativa antes do cancelamento, a fim de evitar esse estado de erro [SWS_CRYPT_50069].

Na interação com toda a arquitetura de módulos de crypt, Cancel segue um padrão de projeto padronizado para procedimentos de streaming com estado. A mesma assinatura, semântica de retorno e tratamento de erros são compartilhados pelos contextos criptográficos correlatos ara::crypto::cryp::VerifierPublicCtx [SWS_CRYPT_50023], ara::crypto::cryp::MessageAuthnCodeCtx [SWS_CRYPT_50027], ara::crypto::cryp::SignerPrivateCtx [SWS_CRYPT_50041], ara::crypto::cryp::SymmetricCipherCtx [SWS_CRYPT_50046], ara::crypto::cryp::HashFunctionCtx [SWS_CRYPT_50058], ara::crypto::cryp::AuthCipherCtx [SWS_CRYPT_50077] bem como ara::crypto::cryp::EncryptorPublicCtx [SWS_CRYPT_50089].

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

Guia do implementador em breve (complexidade I1)

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

Rückgabewert

TypBeschreibung
ara::core::Result< void >an empty result if the ongoing streaming operation was cancelled successfully, or a result containing an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if data processing was not started by a call of the Start() method

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50069
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50069@rel:R25-11#a14d5e4b
Content hash
a14d5e4b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50069
Status: valid/unmigrated Version: rel:R25-11#2a0972af 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_50069@rel:R25-11#2a0972af
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 Decrypt [SWS_CRYPT_50070] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > Decrypt (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Decrypt data in a single-call.

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

O método síncrono Decrypt desencripta dados de texto cifrado num único passo ([SWS_CRYPT_50070]). O buffer de entrada in passa o texto cifrado como ReadOnlyMemRegion, enquanto o buffer de saída out do tipo ReadWriteMemRegion recebe o texto simples ([SWS_CRYPT_50070]). Em caso de desencriptação bem-sucedida, a função fornece através de ara::core::Result<std::size_t> o número efetivo de bytes gravados, o qual pode ser inferior à capacidade total de out ([SWS_CRYPT_50070]).

A interface está especificada como thread-safe bem como exception safe ([SWS_CRYPT_50070]). Antes da chamada, o contexto tem de ter sido inicializado mediante atribuição de uma chave; caso contrário, a função falha com UninitializedContext ou, no caso de um KeySlot vazio, com ara::crypto::CryptoErrc::kEmptyKeySlot ([SWS_CRYPT_50070]). A chave tem de ser compatível com o algoritmo de transformação (caso contrário, kIncompatibleObject) e incluir a permissão kAllowDataDecryption (caso contrário, kUsageViolation) ([SWS_CRYPT_50070]).

Para prevenir transbordamentos de buffer, a capacidade máxima necessária do buffer de saída pode ser consultada previamente com GetRequiredOutputBufferSize indicando isFinal = true ([SWS_CRYPT_50159]). Se a capacidade de out não for suficiente, o método aborta com ara::crypto::CryptoErrc::kInsufficientCapacity ([SWS_CRYPT_50070]). O tamanho do buffer de entrada in também tem de estar no intervalo entre GetMinimumChunkSize ([SWS_CRYPT_50160]) e GetMaximumChunkSize ([SWS_CRYPT_50071]), caso contrário é retornado ara::crypto::CryptoErrc::kInvalidInputSize ([SWS_CRYPT_50070]). Outros erros especificados com semântica de rollback são kUnsupported, kInvalidArgument bem como kBusyResource ([SWS_CRYPT_50070]).

Esta nota de utilização foi gerada automaticamente com base na especificação.

Guia do implementador em breve (complexidade I1)

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing the ciphertext

Parameter (out)

ParameterBeschreibung
outan output data buffer that the decrypted data is written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call decryption is not supported
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
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 key does not include kAllowData Decryption
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50070
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50070@rel:R25-11#9c83638a
Content hash
9c83638a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50070
Status: valid/unmigrated Version: rel:R25-11#42aea752 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_50070@rel:R25-11#42aea752
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 Finish [SWS_CRYPT_50068] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > Finish (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Finalize the decryption.

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

O método Finish conclui um processo de decifragem no contexto de ara::crypto::cryp::DecryptorPrivateCtx de forma síncrona [SWS_CRYPT_50068]. Ele processa através do buffer de entrada in (ReadOnlyMemRegion) o último segmento de criptograma e escreve os dados de texto em claro resultantes no buffer de saída out (ReadWriteMemRegion) [SWS_CRYPT_50068]. O número de bytes realmente escritos é retornado como ara::core::Result<std::size_t> e pode revelar-se menor do que a capacidade total do buffer de destino out [SWS_CRYPT_50068].

Antes da chamada, o processamento de dados tem de ter sido obrigatoriamente iniciado com Start(); caso contrário, é reportado o erro CryptoErrc::kProcessingNotStarted [SWS_CRYPT_50068]. O tamanho de bloco máximo permitido para in pode ser determinado através de GetMaximumChunkSize() [SWS_CRYPT_50071]; em caso de comprimento de entrada inadequado, a chamada falha com CryptoErrc::kInvalidInputSize [SWS_CRYPT_50068]. Se out for demasiado pequeno, resulta CryptoErrc::kInsufficientCapacity, podendo o tamanho de buffer necessário ser consultado mediante GetRequiredOutputBufferSize() [SWS_CRYPT_50068]. Outros erros possíveis são CryptoErrc::kInvalidArgument em caso de dados de criptograma inválidos, bem como CryptoErrc::kUnsupported caso o processamento de stream não seja suportado no contexto [SWS_CRYPT_50068].

A operação está especificada como thread-safe e exception safe [SWS_CRYPT_50068]. Graças à semântica de rollback indicada, o estado de processamento deve permanecer inalterado em caso de erros de buffer, de modo que uma repetição deve ser possível após o aumento do buffer. Pergunta Q-e2562509449aa32c (aberta)

Esta nota de utilização foi gerada automaticamente com base na especificação ara::crypto (AUTOSAR R25-11).

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing a part of the ciphertext

Parameter (out)

ParameterBeschreibung
outan output data buffer that contains decrypted data. The required size of this buffer can be queried using GetRequiredOutputBuffer Size()

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ProcessingNotStartedif data processing was not started by a call of the Start() method
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if stream processing is not supported by the context

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50068
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50068@rel:R25-11#be8be26c
Content hash
be8be26c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50068
Status: valid/unmigrated Version: rel:R25-11#4e88e7ba 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_50068@rel:R25-11#4e88e7ba
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 GetMaximumChunkSize [SWS_CRYPT_50071] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GetMaximumChunkSize () const noexcept=0;

Get the maximum input buffer size supported for processing in single calls to Update(), Finish(), or Decrypt() by this context.

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >the maximum buffer size in bytes

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_50071
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50071@rel:R25-11#324fadcf
Content hash
324fadcf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50071
Status: valid/unmigrated Version: rel:R25-11#363f8dce 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_50071@rel:R25-11#363f8dce
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 GetMinimumChunkSize [SWS_CRYPT_50160] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GetMinimumChunkSize () const noexcept=0;

Get the minimum input buffer size supported for processing in single calls to Update(), Finish(), or Decrypt() by this context.

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >the minimum buffer size in bytes

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_50160
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50160@rel:R25-11#f30c1c09
Content hash
f30c1c09
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50160
Status: valid/unmigrated Version: rel:R25-11#840ff3d7 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_50160@rel:R25-11#840ff3d7
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 GetRequiredOutputBufferSize [SWS_CRYPT_50159] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > GetRequiredOutputBufferSize (std::size_t inputSize, bool isFinal) const noexcept;

Calculate the maximum required size of the output buffer depending on the input size in the current state of the context.

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

Parameter (in)

ParameterBeschreibung
inputSizesize of input data
isFinalif true, calculate maximum required output buffer size for Finish() or Decrypt(), otherwise for Update()

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 and setting the transformation direction

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50159
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50159@rel:R25-11#8d259060
Content hash
8d259060
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50159
Status: valid/unmigrated Version: rel:R25-11#34d4f358 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_50159@rel:R25-11#34d4f358
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_50066] 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 decryption is started.

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

usar

O método SetKey configura uma instância de ara::crypto::cryp::DecryptorPrivateCtx para o uso de uma chave armazenada em um KeySlot transmitido [SWS_CRYPT_50066]. Como parâmetro, é transmitido um KeySlot::Sptr, que deve conter um PrivateKey [SWS_CRYPT_50066]. A própria chave só é consultada no momento em que a operação de descriptografia é iniciada [SWS_CRYPT_50066]. A função opera de forma síncrona e reporta o resultado através de ara::core::Result<void> [SWS_CRYPT_50066].

Tratamento de erros

Em caso de erro, um código de erro correspondente é retornado em ara::core::Result, aplicando-se uma semântica de rollback [SWS_CRYPT_50066]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: O KeySlot fornecido não é compatível com o contexto [SWS_CRYPT_50066].
  • ara::crypto::CryptoErrc::kUnsupported: O contexto suporta apenas a definição direta de um PrivateKey e não KeySlots [SWS_CRYPT_50066].

Concorrência e interação

A interface está declarada como segura para threads (thread-safe) e segura contra exceções (exception safe) [SWS_CRYPT_50066]. Como a avaliação da chave só ocorre no início da desencriptação, uma atualização do conteúdo do slot antes desse momento de início deverá ter efeito. Pergunta Q-ec258ea8b5a1d1c2 (aberta) Enquanto outros contextos criptográficos aceitam chaves parcialmente de forma direta como instância (por exemplo SignerPrivateCtx [SWS_CRYPT_23515]), este método segue o padrão de vinculação tardia via slots de chave, tal como também é utilizado, entre outros, em VerifierPublicCtx [SWS_CRYPT_50018] e KeyDerivationFunctionCtx [SWS_CRYPT_50010].

Este texto foi gerado por uma IA e serve como orientação no padrão AUTOSAR.

Guia do implementador em breve (complexidade I2)

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

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a PrivateKey.

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 PrivateKey

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50066
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50066@rel:R25-11#5c31814c
Content hash
5c31814c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50066
Status: valid/unmigrated Version: rel:R25-11#a48ca2e4 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_50066@rel:R25-11#a48ca2e4
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_50157] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

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

Configure the context to use the provided key.

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

usar

O método SetKey configura uma instância de ara::crypto::cryp::DecryptorPrivateCtx para o uso de uma chave privada concreta para decodificação de dados [SWS_CRYPT_50157]. Como parâmetro, é passada uma instância via PrivateKey::Sptr key. O valor de retorno é ara::core::Result<void>, confirmando a atribuição bem-sucedida ou retornando um erro. A chamada deve ser executada de forma síncrona (interpretação: a interface bloqueia até a aceitação da chave e não retorna um objeto Future assíncrono). Pergunta Q-b8e9b5cb4174e2b2 (aberta)

Tratamento de erros

Em caso de erro, a implementação assegura uma semântica de rollback, de modo que o estado do contexto permaneça inalterado em caso de falha [SWS_CRYPT_50157]. Os seguintes códigos de erro podem ocorrer:

  • ara::crypto::CryptoErrc::kIncompatibleObject: O objeto de chave passado não é compatível com este contexto [SWS_CRYPT_50157].
  • ara::crypto::CryptoErrc::kUsageViolation: O uso permitido da chave não abrange a decodificação de dados (kAllowData Decryption) [SWS_CRYPT_50157].
  • ara::crypto::CryptoErrc::kUnsupported: O contexto não suporta a definição direta de um objeto de chave quando este for projetado exclusivamente para ocupação por meio de um KeySlot [SWS_CRYPT_50157].

Simultaneidade e restrições

A interface é especificada explicitamente como thread-safe e exception safe [SWS_CRYPT_50157]. Ela garante a execução segura em ambientes concorrentes e não lança exceções C++ (noexcept=0).

Interação

O procedimento para atribuição de chaves via SetKey é aplicado uniformemente em diferentes contextos criptográficos na Adaptive Platform: enquanto contextos assimétricos relacionados, como KeyAgreementPrivateCtx [SWS_CRYPT_21313], KeyDecapsulatorPrivateCtx [SWS_CRYPT_21413] e SignerPrivateCtx [SWS_CRYPT_23515], também utilizam PrivateKey::Sptr, existem variantes alternativas com KeySlot::Sptr em outros contextos, como KeyDerivationFunctionCtx [SWS_CRYPT_50010] ou VerifierPublicCtx [SWS_CRYPT_50018].

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

Guia do implementador em breve (complexidade I2)

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

Parameter (in)

ParameterBeschreibung
keythe PrivateKey to be used for decryption

Rückgabewert

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

Fehler

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

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50157
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50157@rel:R25-11#36d3e681
Content hash
36d3e681
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50157
Status: valid/unmigrated Version: rel:R25-11#05a94de8 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_50157@rel:R25-11#05a94de8
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 Start [SWS_CRYPT_50067] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< void > Start () noexcept=0;

Initialize the context for a new decryption.

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

A função-membro Start da classe ara::crypto::cryp::DecryptorPrivateCtx ([SWS_CRYPT_50067]) inicializa o contexto de forma síncrona para uma nova desencriptação. A chamada não recebe parâmetros, não lança exceções (noexcept) e retorna um ara::core::Result<void>, que em caso de sucesso está vazio ([SWS_CRYPT_50067]). Para acessos concorrentes, o método está especificado como thread-safe ([SWS_CRYPT_50067]).

Antes da execução, tem de estar armazenada uma chave compatível, uma vez que o Start verifica o seu estado e permissões ([SWS_CRYPT_50067]). Se a operação falhar, aplica-se uma semântica de rollback ([SWS_CRYPT_50067]). Os códigos de erro relevantes são:

  • ara::crypto::CryptoErrc::kUninitializedContext: Ainda não foi atribuída nenhuma chave ao contexto ([SWS_CRYPT_50067]).
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Um KeySlot configurado está atualmente vazio ([SWS_CRYPT_50067]).
  • ara::crypto::CryptoErrc::kUsageViolation: As permissões da chave não permitem a desencriptação de dados ([SWS_CRYPT_50067]).
  • ara::crypto::CryptoErrc::kIncompatibleObject: O tipo de chave é incompatível com a transformação ([SWS_CRYPT_50067]).
  • ara::crypto::CryptoErrc::kBusyResource: Um recurso necessário está ocupado ([SWS_CRYPT_50067]).
  • ara::crypto::CryptoErrc::kUnsupported: O processamento de stream não é suportado pelo contexto ([SWS_CRYPT_50067]).

No sistema global, o método corresponde ao ciclo de vida padronizado de contextos criptográficos adaptativos, tal como é utilizado de forma comparável na verificação de assinaturas ([SWS_CRYPT_50019]), na geração de assinaturas ([SWS_CRYPT_50037]) ou no cálculo de MAC ([SWS_CRYPT_22111]). Interpretação: Uma chamada a Start deverá ser obrigatoriamente necessária antes de passos de processamento adicionais, a fim de colocar o desencriptador num estado inicial definido. Pergunta Q-7d5a95305eb4626a (aberta)

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

Guia do implementador em breve (complexidade I1)

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key
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 key does not include kAllowData Decryption
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if stream processing is not supported by the context

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50067
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50067@rel:R25-11#f2314c00
Content hash
f2314c00
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50067
Status: valid/unmigrated Version: rel:R25-11#0df0233a 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_50067@rel:R25-11#0df0233a
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 Update [SWS_CRYPT_50158] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > Update (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Decrypt a data buffer.

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

usar

O método Update serve para decodificar um buffer de dados no contexto de ara::crypto::cryp::DecryptorPrivateCtx [SWS_CRYPT_50158]. A chamada síncrona recebe um segmento parcial de texto cifrado no parâmetro in (ReadOnlyMemRegion) e escreve os dados decodificados no buffer out (ReadWriteMemRegion) [SWS_CRYPT_50158]. Como resultado, é retornado um ara::core::Result<std::size_t> contendo a quantidade real de bytes gravados; esse valor pode ser menor do que a capacidade total de out [SWS_CRYPT_50158].

Interação e dimensionamento de buffer

Antes da execução de Update, o processamento de dados deve obrigatoriamente ter sido iniciado pela chamada de Start() [SWS_CRYPT_50158]. O tamanho mínimo necessário para out pode ser consultado via GetRequiredOutputBufferSize() [SWS_CRYPT_50158]. Além disso, o tamanho máximo de entrada processável para chamadas individuais de Update pode ser determinado via GetMaximumChunkSize() [SWS_CRYPT_50071].

Tratamento de erros e simultaneidade

A interface é especificada como segura para threads e segura para exceções [SWS_CRYPT_50158]. Todos os casos de erro possuem semântica de rollback e retornam códigos de erro específicos em ara::core::Result [SWS_CRYPT_50158]:

  • ara::crypto::CryptoErrc::kProcessingNotStarted: O processamento não foi iniciado anteriormente por meio de Start() [SWS_CRYPT_50158].
  • ara::crypto::CryptoErrc::kInsufficientCapacity: O buffer de saída out é dimensionado pequeno demais [SWS_CRYPT_50158].
  • ara::crypto::CryptoErrc::kInvalidInputSize: O tamanho do buffer de entrada passado é inválido [SWS_CRYPT_50158].
  • ara::crypto::CryptoErrc::kUnsupported: O processamento de stream não é suportado pelo contexto [SWS_CRYPT_50158].

Esta nota de utilização foi gerada automaticamente com base na especificação.

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing a part of the ciphertext

Parameter (out)

ParameterBeschreibung
outan output data buffer that the decrypted data will be written into. The required size of this buffer can be queried using GetRequired OutputBufferSize()

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if data processing was not started by a call of the Start() method
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer is invalid
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if stream processing is not supported by the context

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50158
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50158@rel:R25-11#4a32856e
Content hash
4a32856e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50158
Status: valid/unmigrated Version: rel:R25-11#ad98aa1d 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_50158@rel:R25-11#ad98aa1d
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

Documentação dos aliases de tipo

alias de tipo Sptr [SWS_CRYPT_50156] Upstream: RS_CRYPTO_02201

using Sptr = std::shared_ptr<DecryptorPrivateCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/decryptor_private_ctx.h"
Scopeclass ara::crypto::cryp::DecryptorPrivateCtx
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50156
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50156@rel:R25-11#4a9f5ae5
Content hash
4a9f5ae5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50156
Status: valid/unmigrated Version: rel:R25-11#8ad9c2a0 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_50156@rel:R25-11#8ad9c2a0
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