DEENESPTFRRUARHIKOZHNL

Crypto Service Manager (CSM)

ModulCSM (Crypto Service Manager)
BSW-Modul-ID110
Standard-Header#include "Csm.h"
SWS-SpezifikationAUTOSAR_SWS_CryptoServiceManager.pdf
ClusterCrypto Services

Guia do móduloGERADO POR IA

Agrupa serviços criptográficos e gerenciamento de chaves para aplicações e BSW e encaminha jobs para drivers criptográficos.
GERADO POR IA não revisado Modelo: claude-opus-5-5 · Esforço: high · Temperatura: não controlável · Prompt: 2c7126f56428 Procedência Perguntas em aberto (3)
Âncora causal: R20-11 Válido a partir de R20-11 Sintetizado para esta versão de especificação.
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Agrupa serviços criptográficos e gerenciamento de chaves para aplicações e BSW e encaminha jobs para drivers criptográficos.

O CSM disponibiliza serviços criptográficos e gerenciamento de chaves para aplicações e módulos BSW por meio de uma interface uniforme. Cada serviço atua sobre um job, ou seja, uma instância de uma primitiva configurada [SWS_Csm_00941]. Dependendo da configuração, o job é executado de forma síncrona ou assíncrona. O CSM enfileira jobs assíncronos por prioridade, repassa-os na cíclica Csm_MainFunction via CryIf para os drivers criptográficos e reporta o resultado por callback [SWS_Csm_00479]. Principal condição de contorno: as chaves devem estar configuradas como válidas, e uma fila cheia resulta em rejeição com CRYPTO_E_BUSY.

O Crypto Service Manager (CSM) é a camada de serviço da pilha de criptografia Classic. Ele oferece serviços criptográficos e gerenciamento de chaves SWS CSM p. 25. Aplicações e módulos BSW como SecOC, DCM ou KeyM o utilizam. Ele próprio encaminha as requisições por meio do CryIf para Crypto Driver Objects em hardware ou software SWS CSM p. 29.

kontext swc Aplicação (SW-C) através de portas RTE csm Csm Jobs, filas, chaves swc->csm CsmJob_{Job}, CsmKey_{Key} bsw BSW-Nutzer z. B. SecOC, Dcm, KeyM bsw->csm Csm_<Service>() schm Basic Software Scheduler schm->csm Csm_MainFunction() csm->swc CallbackNotification_{Job} csm->bsw <Csm_ApplicationCallbackNotification>() det Det (optional) csm->det Det_ReportError() cryif CryIf Canais csm->cryif CryIf_ProcessJob(), CryIf_Key…(), CryIf_CancelJob() cryif->csm Csm_CallbackNotification() drv Crypto Driver Objects HW (por ex., HSM) ou SW cryif->drv Crypto_ProcessJob()

Diagrama de contexto: O CSM fica entre seus usuários e o CryIf com os drivers. O scheduler conduz o processamento assíncrono. Fontes: [SWS_Csm_00479], [SWS_Csm_00970]

A unidade central é o job, uma instância de uma primitiva configurada [SWS_Csm_00941]. Sua configuração define se um serviço como Csm_Hash é executado de forma síncrona ou assíncrona [SWS_Csm_00980]. O CSM enfileira jobs assíncronos em filas de acordo com a prioridade [SWS_Csm_00944]. A Csm_MainFunction cíclica os transfere para o CryIf [SWS_Csm_00479]. A camada inferior reporta o resultado por meio de Csm_CallbackNotification. Se o bit FINISH estiver definido, o CSM chama em seguida o callback de aplicação configurado [SWS_Csm_01044] [SWS_Csm_00971].

Chamada de serviço assíncrona com callbackAplicaçãoCsmCryIfCrypto DriverCsm_<Service>(jobId, mode, …)Job por prioridadein Queue einreihenreturn (Auftrag angenommen)Use Case: Zyklische AbarbeitungCsm_MainFunction():Verificar filasCryIf_ProcessJob(…, job)Crypto_ProcessJob(…, job)returnreturnProcessamento nodriver ou HSMCallback com resultadoCsm_CallbackNotification(job, result)optFINISH-Bit in mode gesetzt<Csm_ApplicationCallbackNotification>(jobId, result)

Diagrama de sequência: A requisição é inicialmente apenas aceita e processada posteriormente na MainFunction. O resultado retorna por meio de uma cadeia de callbacks. Fontes: SWS CSM p. 164, [SWS_Csm_00970]

O parâmetro mode combina START, UPDATE e FINISH. Com isso, streaming e single call são possíveis, e o job alterna entre IDLE e ACTIVE [SWS_Csm_01029] [SWS_Csm_01028]. Jobs em execução podem ser salvos, restaurados ou cancelados com Csm_CancelJob [SWS_Csm_91063] [SWS_Csm_00968].

As chaves consistem em elementos padronizados [SWS_Csm_00954] [SWS_Csm_01022]. Elas podem ser definidas, marcadas como válidas ou inválidas, copiadas, geradas, derivadas e trocadas via Diffie-Hellman. Apenas chaves válidas podem ser usadas para jobs [SWS_Csm_91075] [SWS_Csm_00966].

Em caso de erro, os serviços retornam códigos como CRYPTO_E_BUSY ou CRYPTO_E_KEY_NOT_VALID [SWS_Csm_91044]. Opcionalmente, o CSM reporta erros de desenvolvimento como CSM_E_UNINIT ao DET [SWS_Csm_91004]. Um estouro de fila é indicado pelo erro de tempo de execução CSM_E_QUEUE_FULL [SWS_Csm_01089]; presume-se que ele seja reportado adicionalmente ao retorno CRYPTO_E_BUSY. Pergunta (aberta)

Papel do CSM entre os usuários de criptografia e a camada de drivers

O Crypto Service Manager (CSM) é a camada de serviço da pilha de criptografia Classic. Ele disponibiliza dois tipos de serviços: os próprios serviços criptográficos e o gerenciamento de chaves SWS CSM p. 25. As operações criptográficas são solicitadas por meio de funções relacionadas a jobs. Exemplos são Csm_Hash [SWS_Csm_00980], Csm_MacGenerate [SWS_Csm_00982], Csm_Encrypt [SWS_Csm_00984], Csm_AEADEncrypt [SWS_Csm_01023], Csm_SignatureVerify [SWS_Csm_00996] e Csm_RandomGenerate [SWS_Csm_01543].

Para baixo, o CSM encaminha requisições por meio da Crypto Interface (CryIf) para Crypto Driver Objects. O caminho de uma fila do CSM via CryIf até um Crypto Driver Object é denominado canal pela especificação. Um Crypto Driver Object pode ser hardware (como um acelerador AES no HSM) ou software SWS CSM p. 29. Para cima, aplicações utilizam o CSM como AUTOSAR-Service por meio de portas RTE SWS CSM p. 85. Módulos BSW também o acessam:

O tratamento de certificados não pertence mais ao CSM desde o R19-11, mas sim ao Key Manager Release Overview p. 32.

kontext swc Aplicação (SW-C) através de portas RTE csm Csm Jobs, filas, chaves swc->csm CsmJob_{Job}, CsmKey_{Key} bsw BSW-Nutzer z. B. SecOC, Dcm, KeyM bsw->csm Csm_<Service>() schm Basic Software Scheduler schm->csm Csm_MainFunction() csm->swc CallbackNotification_{Job} csm->bsw <Csm_ApplicationCallbackNotification>() det Det (optional) csm->det Det_ReportError() cryif CryIf Canais csm->cryif CryIf_ProcessJob(), CryIf_Key…(), CryIf_CancelJob() cryif->csm Csm_CallbackNotification() drv Crypto Driver Objects HW (por ex., HSM) ou SW cryif->drv Crypto_ProcessJob()

Diagrama de contexto: O CSM faz a mediação entre aplicações e usuários BSW, por um lado, e o CryIf com os Crypto Driver Objects, por outro. O scheduler conduz o processamento assíncrono, o DET é opcional. Fontes: SWS CSM p. 29, [SWS_Csm_00479], [SWS_Csm_00970], [SWS_Csm_91101], [SWS_Csm_91100]

Jobs, primitivas, chaves e filas como objetos de configuração

A unidade central é o job, ou seja, uma instância de uma primitiva criptográfica configurada [SWS_Csm_00941]. Em tempo de execução, Crypto_JobType o descreve. A estrutura contém, entre outros, jobId, jobState, a estrutura de entrada e saída Crypto_JobPrimitiveInputOutputType e um ponteiro para a constante Crypto_JobPrimitiveInfoType [SWS_Csm_01013] [SWS_Csm_01009] SWS CSM p. 20. Crypto_JobPrimitiveInfoType contém o identificador de callback, a chave CryIf e o tipo de processamento Crypto_ProcessingType [SWS_Csm_01012] [SWS_Csm_01049]. A própria primitiva define Crypto_PrimitiveInfoType, composto por serviço e algoritmo. O algoritmo abrange família, família secundária, tamanho da chave e modo [SWS_Csm_01011] [SWS_Csm_01031] [SWS_Csm_01008]. Opcionalmente, Crypto_JobRedirectionInfoType redireciona entradas e saídas para elementos de chave [SWS_Csm_91026] [SWS_Csm_91024].

Na configuração da ECU, cada job recebe as seguintes informações SWS CSM p. 173:

  • um CsmJobId e um CsmJobPriority,
  • uma referência a uma primitiva,
  • por meio de CsmJobInterfaceUsePort, a definição se ele é utilizado como função ou via portas.

Um CsmKey com CsmKeyId referencia um CryIfKey SWS CSM p. 171. Uma CsmQueue com CsmQueueSize referencia um CryIfChannel e uma instância de MainFunction SWS CSM p. 173. Para cada CsmMainFunction configurada, é criada uma própria Csm_MainFunction_<shortName> [SWS_Csm_00479].

Csm_Init inicializa o módulo. Se o CSM estiver atribuído a múltiplas partições, pode haver uma função Init por partição [SWS_Csm_00646]. O conteúdo de Csm_ConfigType é específico da implementação [SWS_Csm_01085]. De acordo com a versão R24-11, configPtr é sempre um ponteiro nulo SWS CSM p. 48.

Da chamada de serviço ao processamento no driver

A configuração do job determina se um serviço é executado de forma síncrona ou assíncrona. As funções de serviço são, portanto, especificadas como «Synchronous or Async, depending on the job configuration» [SWS_Csm_00980] [SWS_Csm_00982]. O capítulo 7.2 (citado conforme R24-11) estabelece as seguintes regras SWS CSM p. 21:

  • Por job, apenas uma instância é processada por vez; jobs diferentes podem ser executados em paralelo.
  • Se um job já estiver ACTIVE, o CSM chama diretamente CryIf_ProcessJob e repassa seu valor de retorno.
  • Se um job precisar ser enfileirado e a fila estiver cheia, o CSM o rejeita com CRYPTO_E_BUSY.

As filas ordenam os jobs de acordo com sua prioridade configurada [SWS_Csm_00940] [SWS_Csm_00944].

entscheidung start Csm_<Service>() aufgerufen active Job ACTIVE? start->active sync Job synchron? active->sync não proc retVal = CryIf_ProcessJob() active->proc sim qempty CSM-Queue leer? sync->qempty sim qfull CSM-Queue voll? sync->qfull não prio Prioridade mais alta do que a mais alta na fila? qempty->prio não qempty->proc sim prio->proc sim busysync retVal = BUSY prio->busysync não busyasync return CRYPTO_E_BUSY qfull->busyasync sim enq Job in CSM-Queue einreihen (Abarbeitung in Csm_MainFunction) qfull->enq não ret return retVal proc->ret busysync->ret

Diagrama de atividades: A entrada do serviço decide entre o encaminhamento direto ao CryIf, o enfileiramento na fila e a rejeição com BUSY. Interpretação: A lógica provém do diagrama de releases posteriores e deve aplicar-se analogamente ao R20-11. Fontes: SWS CSM p. 30, SWS CSM p. 21, [SWS_Csm_00944]

No uso assíncrono, as funções de interface transferem apenas as informações necessárias para as camadas inferiores SWS CSM p. 25. O fluxo subsequente:

  1. O Basic Software Scheduler chama Csm_MainFunction ciclicamente. Ela verifica as filas e repassa os jobs ao CryIf [SWS_Csm_00479] SWS CSM p. 84.
  2. A camada inferior notifica a conclusão por meio de Csm_CallbackNotification [SWS_Csm_00970].
  3. O CSM chama a função configurada <Csm_ApplicationCallbackNotification>(jobId, result) [SWS_Csm_00971], porém apenas se o bit FINISH estiver definido no modo [SWS_Csm_01044].

Usuários RTE recebem para isso a porta CallbackNotification_{Job}, desde que o job esteja configurado como assíncrono e não como função pura [SWS_Csm_00934] [SWS_Csm_00928].

Chamada de serviço assíncrona com callbackAplicaçãoCsmCryIfCrypto DriverCsm_<Service>(jobId, mode, …)Job por prioridadein Queue einreihenreturn (Auftrag angenommen)Use Case: Zyklische AbarbeitungCsm_MainFunction():Verificar filasCryIf_ProcessJob(…, job)Crypto_ProcessJob(…, job)returnreturnProcessamento nodriver ou HSMCallback com resultadoCsm_CallbackNotification(job, result)optFINISH-Bit in mode gesetzt<Csm_ApplicationCallbackNotification>(jobId, result)

Diagrama de sequência: Uma requisição assíncrona é aceita e repassada posteriormente na MainFunction ao CryIf. O resultado retorna por meio de uma cadeia de callbacks. Fontes: SWS CSM p. 164, [SWS_Csm_00479], [SWS_Csm_00970], [SWS_Csm_01044], [SWS_Csm_00971]

Streaming, Single Call e estado do job

O parâmetro mode do tipo Crypto_OperationModeType é um campo de bits composto por START (0x01), UPDATE (0x02) e FINISH (0x04). Valores combinados são CRYPTO_OPERATIONMODE_STREAMSTART (0x03) e CRYPTO_OPERATIONMODE_SINGLECALL (0x07) [SWS_Csm_01029] [SWS_Csm_01039]. Os modos atuam da seguinte forma:

  • START reinicia o job e descarta entradas e resultados intermediários anteriores [SWS_Csm_01029].
  • UPDATE repetido processa grandes volumes de dados na abordagem de streaming. O single call, por outro lado, economiza overhead de chamada em dados pequenos EXP Krypto-Dienste p. 12.
  • START e FINISH sem UPDATE são rejeitados com E_NOT_OK [SWS_Csm_01045].
  • FINISH conclui o cálculo [SWS_Csm_01046].

Crypto_JobStateType conhece dois estados [SWS_Csm_01028]:

  • CRYPTO_JOBSTATE_IDLE: após Csm_Init ou após FINISH concluído,
  • CRYPTO_JOBSTATE_ACTIVE: após START ou UPDATE.

De acordo com a nota da especificação, as transições de estado propriamente ditas são executadas pelo Crypto Driver SWS CSM p. 22.

jobzustand init Csm_Init() idle CRYPTO_JOBSTATE_IDLE init->idle idle->idle SINGLECALL (START|UPDATE|FINISH) active CRYPTO_JOBSTATE_ACTIVE idle->active START / STREAMSTART active->idle FINISH abgeschlossen active->active UPDATE: Zwischenergebnisse active->active START: Reset, Daten verworfen

Diagrama de estados: Um job transita para ACTIVE com START, permanece lá com UPDATE e retorna para IDLE após FINISH. O SINGLECALL passa por todas as etapas em uma única chamada. Fontes: [SWS_Csm_01028], [SWS_Csm_01029], [SWS_Csm_01039]

Jobs em execução podem ser interrompidos e retomados. Csm_SaveContextJob armazena o contexto de trabalho em um buffer da aplicação, Csm_RestoreContextJob o restaura [SWS_Csm_91063] [SWS_Csm_91064]. Elementos de chave não pertencem a esse contexto SWS CSM p. 35. Csm_CancelJob cancela jobs assíncronos ou de streaming [SWS_Csm_00968]. Para isso, o CSM remove o job de sua fila ou chama CryIf_CancelJob SWS CSM p. 80.

Gerenciamento de chaves: elementos, validade, geração e troca

Uma chave consiste em um ou mais elementos de chave [SWS_Csm_00954]. Seus IDs são padronizados, como CRYPTO_KE_MAC_KEY (1), CRYPTO_KE_CIPHER_IV (5) e CRYPTO_KE_KEYGENERATE_SEED (16) [SWS_Csm_01022]. Serviços de chave existem apenas como função Csm_<Service> [SWS_Csm_00950]. Os serviços básicos são síncronos, incluindo Csm_KeyElementSet, Csm_KeySetValid e Csm_KeyElementGet [SWS_Csm_00957] [SWS_Csm_00958] [SWS_Csm_00959]. Se os elementos estiverem diretamente na flash, essas chamadas podem demorar mais. Enquanto uma função de chave estiver em execução, o CSM não retira novos jobs da fila até a próxima chamada da MainFunction SWS CSM p. 60.

O status da chave (CRYPTO_KEYSTATUS_INVALID ou CRYPTO_KEYSTATUS_VALID) é retornado por Csm_KeyGetStatus [SWS_Csm_91102] [SWS_Csm_91047]. Csm_KeySetValid define a chave como válida. Csm_KeySetInvalid a bloqueia para operações criptográficas até que ela seja novamente definida como válida [SWS_Csm_00958] [SWS_Csm_91075]. Além disso, existem variantes baseadas em jobs como Csm_JobKeySetValid, Csm_JobKeyGenerate e Csm_JobKeyDerive. Elas são executadas de forma síncrona ou assíncrona, dependendo da configuração do job [SWS_Csm_91027] [SWS_Csm_91029] [SWS_Csm_91030].

keystatus invalid CRYPTO_KEYSTATUS_INVALID invalid->invalid Csm_KeyElementSet(); Job-Anfragen: CRYPTO_E_KEY_NOT_VALID valid CRYPTO_KEYSTATUS_VALID invalid->valid Csm_KeySetValid() / Csm_JobKeySetValid() valid->invalid Csm_KeySetInvalid() / Csm_JobKeySetInvalid() valid->invalid Csm_KeyElementSet() (vermutlich) valid->valid Nutzung in Jobs, Csm_KeyGetStatus()

Diagrama de estados: Apenas uma chave válida pode ser utilizada para jobs; definir e invalidar controlam a transição. Interpretação: A transição para INVALID por meio de Csm_KeyElementSet é derivada de um exemplo. Fontes: [SWS_Csm_91102], [SWS_Csm_00958], [SWS_Csm_91075], [SWS_Csm_91043]

Outros serviços de chave:

  • Copiar: elemento por elemento com Csm_KeyElementCopy, parcialmente com Csm_KeyElementCopyPartial ou como uma chave inteira com Csm_KeyCopy [SWS_Csm_00969] [SWS_Csm_91025] [SWS_Csm_01034].
  • Gerar: Antes de Csm_KeyGenerate, um valor aleatório deve estar em CRYPTO_KE_KEYGENERATE_SEED, por exemplo proveniente de Csm_RandomGenerate. O algoritmo é determinado por CRYPTO_KE_KEYGENERATE_ALGORITHM [SWS_Csm_00955] SWS CSM p. 67.
  • Derivar: Csm_KeyDerive grava em uma chave de destino e chama CryIf_KeyDerive [SWS_Csm_00956] [SWS_Csm_01018].
  • Trocar: Para Diffie-Hellman, dois parceiros determinam um segredo compartilhado com Csm_KeyExchangeCalcPubVal e Csm_KeyExchangeCalcSecret sem revelar suas partes privadas [SWS_Csm_00966] [SWS_Csm_00967] SWS CSM p. 70.
Troca de chaves Diffie-Hellman através do CSMAnwendung (Partner A)CsmPartner BChave keyId com BASE, PRIVKEY, OWNPUBKEYpreparada (definida e válida ou gerada)Csm_KeyExchangeCalcPubVal(keyId,publicValuePtr, publicValueLengthPtr)E_OK, próprio valor públicotransmitir o valor público(transporte fora do CSM)valor público de BCsm_KeyExchangeCalcSecret(keyId,partnerPublicValuePtr, partnerPublicValueLength)E_OKBeide besitzen dasselbe Geheimnis,por ex., para criptografia ou MAC

Diagrama de sequência: Os parceiros trocam apenas valores públicos. O segredo compartilhado é gerado localmente por meio de duas chamadas ao CSM. Fontes: SWS CSM p. 70, [SWS_Csm_00966], [SWS_Csm_00967]

Formas de interface: C-API, portas RTE e tipos de buffer

Usuários BSW chamam as funções C de Csm.h. Para aplicações, o capítulo 8.7 descreve as Service-Interfaces a partir das quais a RTE é gerada SWS CSM p. 85. Dependendo da configuração, são criadas as seguintes portas:

Os tipos de buffer são arrays uint8 cujo tamanho decorre da configuração da primitiva, por exemplo Csm_HashResultType_{Crypto} e Csm_MacVerifyCompareType_{Crypto} [SWS_Csm_00912] [SWS_Csm_00803]. Comprimentos e resultados de verificação são retornados assincronamente por meio dos tipos de ponteiro Csm_LengthPtr e Csm_VerifyResultPtr [SWS_Csm_91045] [SWS_Csm_91046]. Verificações retornam CRYPTO_E_VER_OK ou CRYPTO_E_VER_NOT_OK [SWS_Csm_01024].

Comportamento em caso de erro

Os serviços retornam Std_ReturnType, resultados assíncronos Crypto_ResultType. Além de E_OK e E_NOT_OK, existem códigos específicos como CRYPTO_E_BUSY, CRYPTO_E_ENTROPY_EXHAUSTED, CRYPTO_E_KEY_READ_FAIL, CRYPTO_E_KEY_WRITE_FAIL, CRYPTO_E_KEY_NOT_AVAILABLE e CRYPTO_E_KEY_NOT_VALID [SWS_Csm_91044] [SWS_Csm_91043]. Funções de chave reportam adicionalmente CRYPTO_E_KEY_SIZE_MISMATCH e CRYPTO_E_KEY_EMPTY [SWS_Csm_00969] [SWS_Csm_00956]. Se Csm_KeyElementSet falhar, o estado do elemento é considerado desconhecido. A aplicação pode então verificá-lo com Csm_KeyGetStatus SWS CSM p. 62.

O CSM reporta erros de desenvolvimento opcionalmente via Det_ReportError [SWS_Csm_91101]. Estão definidos, entre outros [SWS_Csm_91004]:

  • CSM_E_PARAM_POINTER: ponteiro nulo,
  • CSM_E_PARAM_HANDLE: ID fora da faixa,
  • CSM_E_UNINIT: chamada antes da inicialização,
  • CSM_E_INIT_FAILED: falha na inicialização,
  • CSM_E_PROCESSING_MODE: modo de processamento inválido.

Segundo a versão R24-11, CSM_E_PROCESSING_MODE ocorre, por exemplo, quando Csm_CancelJob é chamado para um job síncrono SWS CSM p. 80. Como erro de tempo de execução, está definido o estouro de fila CSM_E_QUEUE_FULL [SWS_Csm_01089] SWS CSM p. 35. Interpretação: Ele deve ser reportado em paralelo ao retorno CRYPTO_E_BUSY em caso de fila cheia. Pergunta Q-9b0fc38c9c075fd3 (aberta)

Csm_CancelJob pode retornar dois resultados [SWS_Csm_00968]:

  • E_OK: O job foi removido das filas e, se aplicável, do hardware do driver.
  • CRYPTO_E_JOB_CANCELED: O cancelamento imediato não é possível. O cancelamento ocorre na próxima etapa adequada e é reportado por meio de um callback de conclusão negativo.

Operações de contexto em um job IDLE ou em um job que está em execução no driver terminam imediatamente com E_NOT_OK de acordo com a versão R24-11 SWS CSM p. 35.

Evidências mais detalhadas

Guia gerado por IA com base nos excertos de especificação fornecidos no payload sobre o CSM (Classic, R20-11). As passagens de documentos de releases posteriores estão identificadas como tal. Os requirements vinculados são mandatórios.

Crypto Service Manager (CSM)

Provides standardized cryptographic services (encryption, hashing, digital signatures, key management) to applications and BSW.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

função Csm_Init [SWS_Csm_00646] 📄 PDF

void Csm_Init (const Csm_ConfigType* configPtr);

Initializes the CSM module. In configurations, in which Csm is assigned to more than one partition (i.e. Csm_ Main Functions are mapped to partitions), Csm may provide one init function per partition.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 04cf7b1ef1f6 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 síncrona Csm_Init serve para a inicialização do módulo Crypto Service Manager (CSM) de acordo com [SWS_Csm_00646]. A interface é declarada por meio do cabeçalho Csm.h [SWS_Csm_00646].

Em relação aos parâmetros e ao comportamento de chamada, [SWS_Csm_00646] define as seguintes propriedades:

  • Parâmetros: configPtr é passado como parâmetro de entrada. Este é um ponteiro para uma estrutura de configuração selecionada do tipo const Csm_ConfigType* [SWS_Csm_00646]. Parâmetros de entrada/saída ou parâmetros de saída não estão presentes [SWS_Csm_00646].
  • Valor de retorno: A função não fornece valor de retorno (void) [SWS_Csm_00646].
  • Sincronicidade e identificação: A execução ocorre de forma síncrona; o ID de serviço é 0x00 [SWS_Csm_00646].

Para concorrência e operação em múltiplas partições, aplicam-se especificações determinadas de acordo com [SWS_Csm_00646]:

  • Reentrância: A função não é reentrante (Non Reentrant) e, portanto, não deve ser chamada de forma concorrente [SWS_Csm_00646].
  • Particionamento: Se o módulo CSM estiver atribuído a mais de uma partição (ou seja, se funções principais como Csm_MainFunction estiverem distribuídas entre partições), o CSM pode fornecer uma função de inicialização própria por partição [SWS_Csm_00646].

Interpretação: Como a especificação define Csm_Init como uma função de inicialização, a chamada deve ocorrer tipicamente durante a fase de inicialização do sistema, antes da execução de jobs criptográficos regulares. Pergunta Q-f462c3f9f4ed24fc (aberta)

Esta nota de uso foi gerada por uma IA e baseia-se nos dados de especificação do AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

função Csm_Hash [SWS_Csm_00980] 📄 PDF

Std_ReturnType Csm_Hash (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);

Uses the given data to perform the hash calculation and stores the hash.

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

usar

A função Csm_Hash calcula um valor de hash criptográfico sobre os dados de entrada passados e salva o resultado na memória de destino [SWS_Csm_00980]. A interface é declarada através do cabeçalho Csm.h e possui o Service ID 0x5d [SWS_Csm_00980]. O comportamento de execução é síncrono ou assíncrono, dependendo da respectiva configuração do job indicado através de jobId [SWS_Csm_00980].

Os parâmetros dividem-se da seguinte forma [SWS_Csm_00980]:

  • jobId: Identificador único do job CSM que utiliza o serviço criptográfico.
  • mode: Indica qual modo ou modos de operação devem ser executados.
  • dataPtr e dataLength: Ponteiro para os dados de entrada a serem submetidos ao hash, bem como o número de bytes a serem processados.
  • resultPtr: Ponteiro para o buffer no qual o valor de hash calculado é armazenado.
  • resultLengthPtr: Antes da chamada, este ponteiro deve conter a capacidade fornecida do buffer resultPtr em bytes. Após a conclusão do processamento, este valor é sobrescrito pelo comprimento real em bytes do valor de hash gerado. Se o buffer fornecido for menor que o comprimento total do resultado, o valor de hash é armazenado de forma truncada.

Tratamento de erros e simultaneidade

O valor de retorno do tipo Std_ReturnType sinaliza uma solicitação bem-sucedida com E_OK e um erro no processamento do job com E_NOT_OK [SWS_Csm_00980]. Em relação à concorrência, Csm_Hash é especificada como reentrante [SWS_Csm_00980].

Este texto foi gerado automaticamente com base na especificação do AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Csm_MacGenerate [SWS_Csm_00982] 📄 PDF

Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);

Service Csm_MacGenerate.

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

A função reentrante Csm_MacGenerate (Service ID 0x60, cabeçalho Csm.h) calcula um Message Authentication Code (MAC) sobre os dados de entrada passados e armazena o resultado no endereço de destino especificado [SWS_Csm_00982]. Se o processamento ocorre de forma síncrona ou assíncrona depende da configuração do job referenciado via jobId [SWS_Csm_00982].

O parâmetro mode especifica os modos de operação a serem executados. Os dados de entrada são passados via dataPtr e seu número de bytes via dataLength [SWS_Csm_00982]. O buffer macPtr recebe o resultado. Através do parâmetro de entrada e saída macLengthPtr, o tamanho do buffer fornecido deve ser passado na chamada; após a conclusão da solicitação, o comprimento real do MAC calculado é armazenado nele. Se o buffer for menor que o resultado total, o MAC é armazenado truncado [SWS_Csm_00982].

Possíveis valores de retorno do tipo Std_ReturnType são [SWS_Csm_00982]:

  • E_OK: Solicitação executada com sucesso.
  • E_NOT_OK: A solicitação falhou.
  • CRYPTO_E_BUSY: O serviço ainda está ocupado.
  • CRYPTO_E_KEY_NOT_VALID: O estado da chave é inválido.
  • CRYPTO_E_KEY_SIZE_MISMATCH: Um elemento de chave apresenta um tamanho incorreto.
  • CRYPTO_E_KEY_EMPTY: O elemento de chave de origem não está inicializado.

Este texto foi gerado automaticamente com base na especificação.

Guia do implementador em breve (complexidade I2)

função Csm_MacVerify [SWS_Csm_01050] 📄 PDF

Std_ReturnType Csm_MacVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* macPtr, const uint32 macLength, Crypto_VerifyResultType* verifyPtr);

Service Csm_MacVerify.

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

A função Csm_MacVerify serve, de acordo com [SWS_Csm_01050], para a verificação de um Message Authentication Code (MAC), verificando se o MAC transmitido corresponde aos dados disponibilizados. O resultado da verificação é guardado na localização de memória para a qual verifyPtr aponta. O serviço está disponível através do ficheiro de cabeçalho Csm.h e está especificado como reentrante.

Aquando da chamada, devem ser tidos em conta os seguintes parâmetros e semânticas [SWS_Csm_01050]:

  • Comportamento síncrono ou assíncrono: a execução ocorre de forma síncrona ou assíncrona, dependendo da configuração do job referenciado através de jobId.
  • Modo de operação: através de mode (Crypto_OperationModeType) é definido quais os modos de operação a executar.
  • Indicações de comprimento: enquanto dataLength indica o número de bytes de dados para dataPtr, macLength requer obrigatoriamente o comprimento do MAC a verificar em bits.

Como valor de retorno, a função fornece o estado do pedido como Std_ReturnType [SWS_Csm_01050]:

  • E_OK: A solicitação foi bem-sucedida.
  • E_NOT_OK: A solicitação falhou.
  • CRYPTO_E_BUSY: O serviço ainda está ocupado.
  • CRYPTO_E_KEY_NOT_VALID: O estado da chave é inválido.
  • CRYPTO_E_KEY_SIZE_MISMATCH: Um elemento de chave apresenta um tamanho incorreto.
  • CRYPTO_E_KEY_EMPTY: O elemento da chave de origem não está inicializado.

Este texto foi criado por uma IA. Baseia-se exclusivamente nas especificações da versão AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Csm_Encrypt [SWS_Csm_00984] 📄 PDF

Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);

Service Csm_Encrypt.

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

A função Csm_Encrypt (Service ID 0x5e, disponibilizada via Csm.h) criptografa os dados de entrada passados e armazena o texto cifrado no buffer de resultado especificado [SWS_Csm_00984].

Utilização e semântica

Para a realização da operação, são passados os seguintes parâmetros [SWS_Csm_00984]:

  • jobId: Identificador do job CSM que utiliza o serviço.
  • mode: Identifica o modo ou modos de operação a serem executados (do tipo Crypto_OperationModeType).
  • dataPtr e dataLength: Ponteiro para os dados de origem a serem criptografados, bem como o número de bytes a serem processados.
  • resultPtr: Ponteiro para a área de memória na qual os dados criptografados são armazenados.
  • resultLengthPtr: Ponteiro para a informação de comprimento em bytes. Antes da chamada, este parâmetro deve conter a capacidade de buffer fornecida de resultPtr; após a conclusão da solicitação, o comprimento real de saída é armazenado ali [SWS_Csm_00984].

A semântica de execução não é fixada estaticamente: ela ocorre de forma síncrona ou assíncrona, dependendo da configuração do job associado [SWS_Csm_00984].

Simultaneidade e restrições

A função é especificada como reentrante [SWS_Csm_00984]. Os chamadores devem garantir que o buffer resultPtr permaneça válido durante todo o processamento até a conclusão da operação e apresente, no mínimo, o tamanho indicado inicialmente via resultLengthPtr.

Tratamento de erros e valores de retorno

O valor de retorno do tipo Std_ReturnType fornece informações sobre o status da solicitação [SWS_Csm_00984]:

  • E_OK: Solicitação bem-sucedida.
  • E_NOT_OK: A solicitação falhou.
  • CRYPTO_E_BUSY: Solicitação rejeitada, pois o serviço está atualmente ocupado.
  • CRYPTO_E_KEY_NOT_VALID: A chave especificada encontra-se no estado “invalid”.
  • CRYPTO_E_KEY_SIZE_MISMATCH: Um elemento de chave apresenta um tamanho inválido.
  • CRYPTO_E_KEY_EMPTY: Um elemento de chave de origem não inicializado foi passado.

Este texto foi gerado por um sistema de IA com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

função Csm_Decrypt [SWS_Csm_00989] 📄 PDF

Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);

Service Csm_Decrypt.

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

A função Csm_Decrypt ([SWS_Csm_00989]) desencripta dados cifrados transmitidos e armazena o texto simples resultante na área de memória de destino. Ela é disponibilizada através do cabeçalho Csm.h e executa operações criptográficas com base na configuração do job transmitido.

Utilização e parâmetros

Através do parâmetro jobId é endereçado o job do CSM a utilizar, enquanto mode (tipo Crypto_OperationModeType) especifica a(s) fase(s) de operação a executar ([SWS_Csm_00989]). Os dados a desencriptar são transmitidos como ponteiro dataPtr com o número de bytes dataLength. O texto simples é escrito no buffer referenciado por resultPtr.

O parâmetro in-out resultLengthPtr controla a gestão do buffer: aquando da chamada, deve conter o tamanho do buffer disponibilizado de resultPtr em bytes; após a conclusão da operação, é nele guardado o comprimento de saída efetivamente escrito ([SWS_Csm_00989]).

Execução e valores de retorno

O comportamento de execução (síncrono ou assíncrono) depende diretamente da configuração de job subjacente ([SWS_Csm_00989]). A função é concebida como reentrante e retorna valores de retorno específicos do tipo Std_ReturnType:

  • E_OK: A solicitação foi bem-sucedida ([SWS_Csm_00989]).
  • E_NOT_OK: A solicitação falhou ([SWS_Csm_00989]).
  • CRYPTO_E_BUSY: O serviço solicitado ainda se encontra ocupado ([SWS_Csm_00989]).
  • CRYPTO_E_KEY_NOT_VALID: O estado da chave utilizada é inválido ([SWS_Csm_00989]).
  • CRYPTO_E_KEY_SIZE_MISMATCH: Um elemento de chave possui um tamanho inadequado ([SWS_Csm_00989]).
  • CRYPTO_E_KEY_EMPTY: O elemento de chave de origem não está inicializado ([SWS_Csm_00989]).

Este texto foi criado por uma IA com base nos dados de especificação do AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Csm_AEADEncrypt [SWS_Csm_01023] 📄 PDF

Std_ReturnType Csm_AEADEncrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* plaintextPtr, uint32 plaintextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, uint8* ciphertextPtr, uint32* ciphertextLengthPtr, uint8* tagPtr, uint32* tagLengthPtr);

Service Csm_AEADEncrypt.

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

usar

A função Csm_AEADEncrypt realiza uma cifragem autenticada com dados associados (AEAD) e está disponível através do cabeçalho Csm.h [SWS_Csm_01023]. Ela processa via plaintextPtr e plaintextLength o texto simples a ser criptografado, bem como via associatedDataPtr e associatedDataLength dados associados adicionais [SWS_Csm_01023]. Os dados de saída são gravados nos buffers ciphertextPtr (texto cifrado) e tagPtr (tag de autenticação ou MAC) [SWS_Csm_01023]. Na chamada, ciphertextLengthPtr e tagLengthPtr devem conter a capacidade de buffer fornecida em bytes; após a conclusão, eles contêm o comprimento real dos valores de saída [SWS_Csm_01023] (Interpretação: O parâmetro resultPtr mencionado na especificação deve referir-se editorialmente a ciphertextPtr ou tagPtr). Pergunta Q-ea7e69875375c501 (aberta) O modo de operação a ser executado é selecionado via mode [SWS_Csm_01023]. A execução ocorre de forma síncrona ou assíncrona, dependendo da configuração de job do jobId passado [SWS_Csm_01023].

Tratamento de erros e valores de retorno

O serviço fornece os seguintes valores de status através do tipo de retorno Std_ReturnType [SWS_Csm_01023]:

  • E_OK: A solicitação foi bem-sucedida [SWS_Csm_01023].
  • E_NOT_OK: a solicitação falhou [SWS_Csm_01023].
  • CRYPTO_E_BUSY: A solicitação falhou porque o serviço está ocupado [SWS_Csm_01023].
  • CRYPTO_E_KEY_NOT_VALID: A solicitação falhou porque o status da chave é inválido [SWS_Csm_01023].
  • CRYPTO_E_KEY_SIZE_MISMATCH: A solicitação falhou porque um elemento de chave apresenta um tamanho incorreto [SWS_Csm_01023].
  • CRYPTO_E_KEY_EMPTY: A solicitação falhou devido a um elemento de chave de origem não inicializado [SWS_Csm_01023].

simultaneidade

A interface é especificada como reentrante [SWS_Csm_01023].

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

Guia do implementador em breve (complexidade I2)

função Csm_AEADDecryptManager [SWS_Csm_01026] 📄 PDF

Std_ReturnType Csm_AEADDecrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* ciphertextPtr, uint32 ciphertextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, const uint8* tagPtr, uint32 tagLength, uint8* plaintextPtr, uint32* plaintextLengthPtr, Crypto_VerifyResultType* verifyPtr);

Service Csm_AEADDecryptManager.

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

O serviço Csm_AEADDecrypt (Service-ID 0x63, disponibilizado através de Csm.h) realiza, de acordo com [SWS_Csm_01026], uma desencriptação AEAD (Authenticated Encryption with Associated Data). Interpretação: embora a descrição no texto da especificação refira uma encriptação, a função serve, com base nos parâmetros de entrada e de saída definidos, para a desencriptação de texto cifrado, bem como para a verificação da tag de autenticação transmitida. Pergunta Q-00e8fca03eb3b44d (aberta)

A execução ocorre de forma síncrona ou assíncrona, dependendo da configuração do job identificado através de jobId ([SWS_Csm_01026]). No que diz respeito à concorrência, a função é reentrante ([SWS_Csm_01026]). Através do parâmetro mode é especificado quais os modos de operação a processar.

Para a chamada aplicam-se as seguintes relações entre parâmetros ([SWS_Csm_01026]):

  • Dados de entrada: ponteiros e indicações de comprimento para texto cifrado (ciphertextPtr, ciphertextLength), dados associados (associatedDataPtr, associatedDataLength) e a tag a verificar (tagPtr, tagLength).
  • Dados de saída: o buffer plaintextPtr recebe o texto simples desencriptado. O ponteiro plaintextLengthPtr deve conter a capacidade do buffer aquando da chamada; após a conclusão, é nele guardado o comprimento de saída efetivo.
  • Resultado da verificação: o resultado da verificação da tag é reportado através de verifyPtr.

Como valores de retorno do tipo Std_ReturnType estão especificados, de acordo com [SWS_Csm_01026]:

  • E_OK: A solicitação foi bem-sucedida.
  • E_NOT_OK: A solicitação falhou.
  • CRYPTO_E_BUSY: O serviço está ocupado.
  • CRYPTO_E_KEY_NOT_VALID: O estado da chave é inválido.
  • CRYPTO_E_KEY_SIZE_MISMATCH: O elemento de chave possui o tamanho incorreto.
  • CRYPTO_E_KEY_EMPTY: O elemento de chave de origem não está inicializado.

Esta nota de uso baseia-se na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

função Csm_SignatureGenerate [SWS_Csm_00992] 📄 PDF

Std_ReturnType Csm_SignatureGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* signaturePtr, uint32* signatureLengthPtr);

Service Csm_SignatureGenerate.

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

A função Csm_SignatureGenerate serve para o cálculo da assinatura criptográfica sobre dados úteis passados de acordo com [SWS_Csm_00992]. Se a chamada é processada de forma síncrona ou assíncrona depende da respectiva configuração do job passado (jobId) [SWS_Csm_00992]. A função é especificada como reentrante [SWS_Csm_00992].

Na chamada, o parâmetro mode do tipo Crypto_OperationModeType controla os modos de operação a serem executados [SWS_Csm_00992]. Os dados a serem assinados são passados através de dataPtr juntamente com seu comprimento em bytes dataLength [SWS_Csm_00992]. A assinatura calculada é escrita na área de memória referenciada por signaturePtr [SWS_Csm_00992]. O parâmetro de entrada/saída signatureLengthPtr deve conter o tamanho do buffer disponibilizado em bytes antes da chamada; após a conclusão da requisição, ele contém o comprimento real em bytes da assinatura gerada [SWS_Csm_00992].

O valor de retorno sinaliza o status da solicitação da função [SWS_Csm_00992]:

  • E_OK: Solicitação executada ou iniciada com sucesso [SWS_Csm_00992].
  • E_NOT_OK: Erros gerais na solicitação [SWS_Csm_00992].
  • CRYPTO_E_BUSY: O serviço solicitado está ocupado no momento [SWS_Csm_00992].
  • CRYPTO_E_KEY_NOT_VALID: O status da chave utilizada é inválido [SWS_Csm_00992].
  • CRYPTO_E_KEY_SIZE_MISMATCH: Um elemento de chave apresenta um tamanho inadequado [SWS_Csm_00992].
  • CRYPTO_E_KEY_EMPTY: o elemento de chave de origem não está inicializado [SWS_Csm_00992].

Este texto foi criado por uma IA e baseia-se exclusivamente nos dados de especificação da versão AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Csm_SignatureVerify [SWS_Csm_00996] 📄 PDF

Std_ReturnType Csm_SignatureVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* signaturePtr, uint32 signatureLength, Crypto_VerifyResultType* verifyPtr);

Service Csm_SignatureVerify.

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

O serviço Csm_SignatureVerify (ID de serviço 0x64, declarado em Csm.h) serve para a verificação de uma assinatura criptográfica com base nos dados passados [SWS_Csm_00996]. A especificação descreve a funcionalidade comparativamente como a verificação se a assinatura (também designada como MAC na descrição) foi gerada com os dados passados [SWS_Csm_00996].

Utilização e parâmetros: na chamada, jobId identifica o job CSM configurado, enquanto mode (tipo Crypto_OperationModeType) determina os modos de operação a executar [SWS_Csm_00996]. Os dados úteis a verificar são transmitidos através do ponteiro dataPtr com o número de bytes dataLength [SWS_Csm_00996]. A assinatura a validar é fornecida através de signaturePtr juntamente com o respetivo comprimento em bytes signatureLength [SWS_Csm_00996]. A função guarda o resultado da verificação na localização de memória referenciada pelo parâmetro de saída verifyPtr (tipo Crypto_VerifyResultType*) [SWS_Csm_00996]. O comportamento de execução é síncrono ou assíncrono, dependendo da respetiva configuração do job [SWS_Csm_00996].

Tratamento de erros e valores de retorno: a função retorna um estado do tipo Std_ReturnType, que sinaliza o sucesso ou estados de erro específicos do pedido [SWS_Csm_00996]:

  • E_OK: o pedido de serviço foi bem-sucedido [SWS_Csm_00996].
  • E_NOT_OK: o pedido de serviço falhou [SWS_Csm_00996].
  • CRYPTO_E_BUSY: o pedido falhou porque o serviço subjacente ainda está ocupado [SWS_Csm_00996].
  • CRYPTO_E_KEY_NOT_VALID: A solicitação falhou porque o estado da chave é inválido [SWS_Csm_00996].
  • CRYPTO_E_KEY_SIZE_MISMATCH: o pedido falhou porque um elemento de chave possui o tamanho incorreto [SWS_Csm_00996].
  • CRYPTO_E_KEY_EMPTY: A solicitação falhou devido a um elemento de chave de origem não inicializado [SWS_Csm_00996].

Concorrência: de acordo com a especificação, a função é executada como reentrante [SWS_Csm_00996].

Esta nota de uso foi gerada por uma IA com base na especificação.

Guia do implementador em breve (complexidade I2)

função Csm_RandomGenerate [SWS_Csm_01543] 📄 PDF

Std_ReturnType Csm_RandomGenerate (uint32 jobId, uint8* resultPtr, uint32* resultLengthPtr);

Generate a random number and stores it in the memory location pointed by th e result pointer.

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

A função Csm_RandomGenerate serve para a geração de números aleatórios e armazena o resultado na área de memória apontada por resultPtr [SWS_Csm_01543].

Utilização e parâmetros

Por meio do parâmetro jobId é transmitido o identificador do job CSM configurado que utiliza o serviço [SWS_Csm_01543]. O chamador controla a quantidade de dados desejada através do parâmetro de entrada e saída resultLengthPtr: na chamada, este ponteiro deve apontar para o número de bytes aleatórios a serem gerados que devem ser armazenados no buffer resultPtr [SWS_Csm_01543]. Após a conclusão da solicitação, resultLengthPtr contém o comprimento real em bytes do valor gerado [SWS_Csm_01543]. O processamento ocorre de forma síncrona ou assíncrona, dependendo da configuração do respectivo job [SWS_Csm_01543].

Valores de retorno e tratamento de erros

A função retorna um status do tipo Std_ReturnType [SWS_Csm_01543]:

  • E_OK: A solicitação foi bem-sucedida [SWS_Csm_01543].
  • E_NOT_OK: A solicitação falhou [SWS_Csm_01543].
  • CRYPTO_E_BUSY: A solicitação falhou porque o serviço ainda está ocupado [SWS_Csm_01543].
  • CRYPTO_E_ENTROPY_EXHAUSTED: A solicitação falhou porque a entropia do gerador de números aleatórios está esgotada [SWS_Csm_01543].

simultaneidade

A função foi projetada para ser reentrante e está disponível através do cabeçalho Csm.h com o Service ID 0x72 [SWS_Csm_01543].

Esta nota de uso foi gerada automaticamente. Apenas as especificações do padrão AUTOSAR são vinculativas.

função Csm_KeyElementSet [SWS_Csm_00957] 📄 PDF

Std_ReturnType Csm_KeyElementSet (uint32 keyId, uint32 keyElementId, const uint8* keyElementPtr, uint32 keyElementLength);

Sets the given key element bytes to the key identified by key Id.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: a1fd47b539db 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 síncrona Csm_KeyElementSet define os bytes de um elemento de chave especificado para uma chave identificada via keyId [SWS_Csm_00957]. A função possui o Service ID 0x78 e está disponível através do cabeçalho Csm.h [SWS_Csm_00957]. Para a chamada, são passados os seguintes parâmetros de entrada [SWS_Csm_00957]:

  • keyId: Identificador da chave para a qual o novo material de chave deve ser definido [SWS_Csm_00957].
  • keyElementId: Identificador do elemento de chave a ser gravado [SWS_Csm_00957].
  • keyElementPtr: Ponteiro para os bytes a serem processados do elemento de chave [SWS_Csm_00957].
  • keyElementLength: Quantidade de bytes a serem definidos do elemento de chave [SWS_Csm_00957].

Valores de retorno e tratamento de erros

A execução retorna um status do tipo Std_ReturnType, que indica o sucesso ou causas de erro específicas [SWS_Csm_00957]:

  • E_OK: A solicitação foi bem-sucedida [SWS_Csm_00957].
  • E_NOT_OK: A solicitação falhou [SWS_Csm_00957].
  • CRYPTO_E_BUSY: O Crypto Driver Object responsável está ocupado [SWS_Csm_00957].
  • CRYPTO_E_KEY_WRITE_FAIL: O acesso de escrita ao elemento de chave foi negado [SWS_Csm_00957].
  • CRYPTO_E_KEY_NOT_AVAILABLE: A chave endereçada não está disponível [SWS_Csm_00957].
  • CRYPTO_E_KEY_SIZE_MISMATCH: O tamanho do elemento de chave não coincide com o tamanho dos dados fornecidos [SWS_Csm_00957].

Simultaneidade e restrições

A função Csm_KeyElementSet é especificada como síncrona e não reentrante (Non Reentrant) [SWS_Csm_00957]. Ela não possui parâmetros de entrada/saída (inout) ou de saída (out) [SWS_Csm_00957].

Este texto foi criado por uma IA; a correção técnica baseia-se nos documentos de especificação.

Guia do implementador em breve (complexidade I1)

função Csm_KeySetValid [SWS_Csm_00958] 📄 PDF

Std_ReturnType Csm_KeySetValid (uint32 keyId);

Sets the key state of the key identified by key Id to valid.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 2175a6b23f44 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 síncrona Csm_KeySetValid serve para definir o estado de chave de uma chave endereçada através do identificador keyId como válido («valid») após ter sido disponibilizado novo material de chave [SWS_Csm_00958]. O serviço é disponibilizado através do cabeçalho Csm.h e possui o ID de serviço 0x67 [SWS_Csm_00958].

Para a utilização e valores de retorno, aplicam-se as seguintes definições de acordo com [SWS_Csm_00958]:

  • Parâmetro de entrada: através de keyId é transmitido o identificador da chave para a qual o novo material deve ser validado.
  • Valor de retorno E_OK: o pedido de validação do estado da chave foi bem-sucedido.
  • Valor de retorno E_NOT_OK: o pedido falhou.
  • Valor de retorno CRYPTO_E_BUSY: o pedido falhou porque o Crypto Driver Object subjacente está ocupado.

Relativamente à concorrência, Csm_KeySetValid está especificado como não reentrante («Non Reentrant») [SWS_Csm_00958]. Por conseguinte, os chamadores deverão ter de assegurar uma sincronização adequada caso ocorram chamadas potencialmente a partir de contextos concorrentes. Pergunta Q-1762a3bca77ab74e (aberta)

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

Guia do implementador em breve (complexidade I1)

função Csm_KeySetInvalid [SWS_Csm_91075] 📄 PDF

Std_ReturnType Csm_KeySetInvalid (uint32 keyId);

Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.

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

A função síncrona Csm_KeySetInvalid define o status de uma chave como inválido [SWS_Csm_91075]. Uma chave definida como inválida não poderá mais ser usada para operações criptográficas até que tenha sido transferida novamente para um estado válido [SWS_Csm_91075].

Utilização e parâmetros

A chamada está disponível por meio do cabeçalho Csm.h e é executada de forma síncrona [SWS_Csm_91075]. Por meio do parâmetro de entrada keyId (tipo uint32), é transmitido o identificador da chave que deve ser invalidada [SWS_Csm_91075].

Valores de retorno e tratamento de erros

A função retorna um valor de status do tipo Std_ReturnType [SWS_Csm_91075]:

  • E_OK: A solicitação de invalidação foi bem-sucedida [SWS_Csm_91075].
  • E_NOT_OK: A solicitação falhou [SWS_Csm_91075].
  • CRYPTO_E_BUSY: A solicitação falhou porque o objeto do driver criptográfico está ocupado [SWS_Csm_91075].

Simultaneidade e restrições

A função é especificada como não reentrante (Non Reentrant) [SWS_Csm_91075]. Os chamadores devem, portanto, assegurar que as chamadas não ocorram de maneira concorrente ou em paralelo sem coordenação. Se o objeto do driver criptográfico responsável estiver ocupado no momento da chamada, a operação é rejeitada com CRYPTO_E_BUSY [SWS_Csm_91075].

Este texto foi gerado por uma IA com base na especificação.

Guia do implementador em breve (complexidade I1)

função Csm_KeyGetStatus [SWS_Csm_91047] 📄 PDF

Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);

Returns the key state of the key identified by key Id.

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

usar

A função síncrona Csm_KeyGetStatus serve para consultar o status atual de uma chave especificada através de seu identificador [SWS_Csm_91047]. A declaração está disponível através do cabeçalho Csm.h [SWS_Csm_91047].

Na chamada, são passados os seguintes parâmetros [SWS_Csm_91047]:

  • keyId (entrada): Identificador da chave cujo status deve ser determinado.
  • keyStatusPtr (saída): Ponteiro para uma posição de memória do tipo Crypto_KeyStatusType na qual o CSM armazena o status de chave determinado.

Como valor de retorno, a função fornece Std_ReturnType [SWS_Csm_91047]:

  • E_OK: A consulta de status foi bem-sucedida e o resultado está disponível através do ponteiro de saída.
  • E_NOT_OK: A solicitação falhou.

Simultaneidade e comportamento

A função de serviço possui o Service ID 0x83 e é especificada como reentrante [SWS_Csm_91047]. Como o fluxo ocorre de forma síncrona, a chamada bloqueia o chamador até a conclusão da determinação do status [SWS_Csm_91047]. Uma área de memória válida para keyStatusPtr deve ser fornecida pelo chamador, pois ponteiros inválidos provavelmente levam ao valor de retorno E_NOT_OK. Pergunta Q-a920a9a12b1374aa (aberta)

Esta nota de uso foi criada automaticamente com base em dados de especificação do AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

função Csm_KeyElementGet [SWS_Csm_00959] 📄 PDF

Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);

Service Csm_KeyElementGet.

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

A função síncrona e reentrante Csm_KeyElementGet lê os dados de um elemento de chave específico a partir da chave identificada através de keyId e copia-os para a área de memória transmitida [SWS_Csm_00959]. O serviço é declarado através do ficheiro de cabeçalho Csm.h e possui o ID de serviço 0x68 [SWS_Csm_00959].

Parâmetros e gestão de buffers

Para a identificação do elemento, são passados os parâmetros keyId (identificador da chave) e keyElementId (identificador do elemento de chave pretendido) [SWS_Csm_00959]. A leitura requer a disponibilização de um buffer de saída bem como a respetiva gestão de comprimento:

  • keyElementPtr: ponteiro para a localização de memória para a qual são copiados os bytes extraídos do elemento de chave [SWS_Csm_00959].
  • keyElementLengthPtr: um parâmetro de entrada/saída (inout) que, na chamada da função, tem de conter o tamanho máximo de buffer disponível de keyElementPtr em bytes. Após a conclusão do processamento, a função guarda aqui o comprimento em bytes efetivamente escrito [SWS_Csm_00959].

Valores de retorno e análise de erros

A função retorna, como Std_ReturnType, códigos de estado específicos para indicar o resultado da operação [SWS_Csm_00959]:

  • E_OK: a operação de cópia do elemento de chave foi bem-sucedida [SWS_Csm_00959].
  • E_NOT_OK: A solicitação falhou de forma geral [SWS_Csm_00959].
  • CRYPTO_E_BUSY: o pedido falhou porque o Crypto Driver Object em causa está atualmente ocupado [SWS_Csm_00959].
  • CRYPTO_E_KEY_NOT_AVAILABLE: o elemento de chave pedido através de keyElementId não está disponível [SWS_Csm_00959].
  • CRYPTO_E_KEY_READ_FAIL: O acesso de leitura ao elemento de chave foi negado [SWS_Csm_00959].
  • CRYPTO_E_KEY_EMPTY: o elemento de chave de origem pedido não está inicializado [SWS_Csm_00959].

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

Guia do implementador em breve (complexidade I1)

função Csm_KeyElementCopyManager [SWS_Csm_00969] 📄 PDF

Std_ReturnType Csm_KeyElementCopy (const uint32 keyId, const uint32 keyElementId, const uint32 targetKeyId, const uint32 targetKeyElementId);

Service Csm_KeyElementCopyManager.

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

A função síncrona Csm_KeyElementCopyManager serve para copiar um único elemento de chave de uma chave de origem para um elemento de destino de uma chave de destino [SWS_Csm_00969]. A chamada é fornecida através do arquivo de cabeçalho Csm.h com o Service ID 0x71 e requer quatro parâmetros de entrada: keyId e keyElementId para identificar o elemento de chave de origem, bem como targetKeyId e targetKeyElementId para o destino [SWS_Csm_00969].

Em termos de simultaneidade, o serviço foi projetado para ser reentrante, mas explicitamente não para a mesma keyId [SWS_Csm_00969]. Acessos paralelos à mesma chave de origem devem, portanto, ser evitados ou sincronizados pelo chamador.

A função retorna um status do tipo Std_ReturnType. Em caso de execução bem-sucedida, ela fornece E_OK [SWS_Csm_00969]. Em caso de erro, estão disponíveis valores de retorno específicos para a análise da causa [SWS_Csm_00969]:

  • CRYPTO_E_BUSY: O Crypto Driver Object subjacente está ocupado [SWS_Csm_00969].
  • CRYPTO_E_KEY_NOT_AVAILABLE: o elemento de chave solicitado não está disponível [SWS_Csm_00969].
  • CRYPTO_E_KEY_READ_FAIL: A leitura do elemento de origem não é permitida [SWS_Csm_00969].
  • CRYPTO_E_KEY_WRITE_FAIL: A escrita no elemento de destino não é permitida [SWS_Csm_00969].
  • CRYPTO_E_KEY_SIZE_MISMATCH: Os tamanhos dos dois elementos de chave são incompatíveis entre si [SWS_Csm_00969].
  • CRYPTO_E_KEY_EMPTY: O elemento de chave de origem ainda não está inicializado [SWS_Csm_00969].
  • E_NOT_OK: Erros gerais durante a execução da solicitação [SWS_Csm_00969].

Este texto foi gerado por uma IA e serve como orientação. Apenas as especificações oficiais da AUTOSAR são vinculativas.

Guia do implementador em breve (complexidade I1)

função Csm_KeyCopy [SWS_Csm_01034] 📄 PDF

Std_ReturnType Csm_KeyCopy (const uint32 keyId, const uint32 targetKeyId);

This function shall copy all key elements from the source key to a target key. Ava ilable via Csm.h

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

usar

A função de serviço síncrona Csm_KeyCopy com o ID de serviço 0x73 serve para a cópia integral de todos os elementos de chave de uma chave de origem para uma chave de destino [SWS_Csm_01034]. A declaração é disponibilizada através do ficheiro de cabeçalho Csm.h [SWS_Csm_01034]. Como parâmetros de entrada imutáveis são passados keyId para o identificador da chave de origem e targetKeyId para o identificador da chave de destino [SWS_Csm_01034]. Não estão definidos parâmetros adicionais de entrada/saída ou de saída na assinatura [SWS_Csm_01034].

Tratamento de erros e valores de retorno

O valor de retorno do tipo Std_ReturnType informa o chamador sobre o resultado da execução [SWS_Csm_01034]. Enquanto E_OK sinaliza uma realização bem-sucedida, E_NOT_OK identifica uma falha geral do pedido [SWS_Csm_01034]. Causas de erro específicas são indicadas através de valores de retorno criptográficos separados [SWS_Csm_01034]:

  • CRYPTO_E_BUSY: a operação falhou porque o objeto de driver criptográfico está ocupado.
  • CRYPTO_E_KEY_NOT_AVAILABLE: O elemento de chave solicitado não está disponível.
  • CRYPTO_E_KEY_READ_FAIL: a leitura do elemento de chave a partir da origem não é permitida.
  • CRYPTO_E_KEY_WRITE_FAIL: a escrita do elemento de chave no destino não é permitida.
  • CRYPTO_E_KEY_SIZE_MISMATCH: os tamanhos dos elementos de chave envolvidos não são compatíveis entre si.
  • CRYPTO_E_KEY_EMPTY: O elemento de chave da chave de origem não está inicializado.

Simultaneidade e restrições

Relativamente ao comportamento de chamada, Csm_KeyCopy foi concebido como reentrante, contudo com a restrição vinculativa de que tal não se aplica para a mesma keyId [SWS_Csm_01034].

Esta nota de uso foi gerada por uma IA com base na especificação.

função Csm_KeyElementCopyPartial [SWS_Csm_91025] 📄 PDF

Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);

Service Csm_KeyElementCopyPartial.

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

A função síncrona Csm_KeyElementCopyPartial copia uma secção definida de um elemento de chave para outro elemento de chave dentro do mesmo driver criptográfico [SWS_Csm_91025]. Através dos parâmetros keyElementSourceOffset e keyElementCopyLength é determinado a partir de que byte e com que comprimento o elemento de origem (identificado por keyId e keyElementId) é copiado. A posição inicial no elemento de destino (targetKeyId, targetKeyElementId) é indicada através de keyElementTargetOffset [SWS_Csm_91025].

O valor de retorno fornece o estado de execução bem como causas de erro específicas [SWS_Csm_91025]:

  • E_OK: O procedimento de cópia foi executado com sucesso.
  • CRYPTO_E_BUSY: o objeto de driver criptográfico está ocupado.
  • CRYPTO_E_KEY_NOT_AVAILABLE: O elemento de chave solicitado não está disponível.
  • CRYPTO_E_KEY_READ_FAIL: a leitura do elemento de chave de origem não é permitida.
  • CRYPTO_E_KEY_WRITE_FAIL: a escrita no elemento de chave de destino não é permitida.
  • CRYPTO_E_KEY_SIZE_MISMATCH: os tamanhos dos elementos de chave envolvidos são incompatíveis.
  • CRYPTO_E_KEY_EMPTY: O elemento de chave de origem não está inicializado.
  • E_NOT_OK: o pedido falhou por motivos gerais.

A função está implementada como reentrante, mas não pode ser chamada em simultâneo para a mesma keyId [SWS_Csm_91025]. Além disso, a interface pressupõe que a origem e o destino sejam geridos no mesmo driver criptográfico [SWS_Csm_91025]. A declaração está disponível através do cabeçalho Csm.h [SWS_Csm_91025].

Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I1)

função Csm_RandomSeed [SWS_Csm_01051] 📄 PDF

Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);

Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager

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

Utilização e contexto de chamada

A função síncrona Csm_RandomSeed serve para preencher o elemento de chave CRYPTO_KE_RANDOM_SEED de uma chave com um valor aleatório (seed) transmitido [SWS_Csm_01051]. Aquando da chamada, são transmitidos através de keyId o identificador da chave de destino, através de seedPtr o ponteiro para a localização de memória com os dados de seed e através de seedLength o comprimento da seed em bytes [SWS_Csm_01051].

Interação

Se o CSM não detetar erros durante a execução, a função Csm_RandomSeed encaminha a chamada de serviço diretamente para CryIf_RandomSeed da Crypto Interface [SWS_Csm_01052].

Tratamento de erros e valores de retorno

A função retorna um valor de status do tipo Std_ReturnType [SWS_Csm_01051]:

  • E_OK: A solicitação foi bem-sucedida [SWS_Csm_01051].
  • E_NOT_OK: A solicitação falhou [SWS_Csm_01051].
  • CRYPTO_E_BUSY: A execução falhou porque o respetivo Crypto Driver Object se encontra atualmente ocupado [SWS_Csm_01051].
  • CRYPTO_E_KEY_NOT_VALID: O pedido foi rejeitado porque o estado da chave é inválido [SWS_Csm_01051].

Simultaneidade e restrições

No que diz respeito ao comportamento de concorrência, Csm_RandomSeed está implementado de forma reentrante, não devendo, contudo, ser chamado em simultâneo para o mesmo keyId [SWS_Csm_01051].

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

Guia do implementador em breve (complexidade I1)

função Csm_KeyGenerate [SWS_Csm_00955] 📄 PDF

Std_ReturnType Csm_KeyGenerate (uint32 keyId);

Generates new key material and store it in the key identified by key Id.

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

A função síncrona Csm_KeyGenerate serve para gerar novo material de chave criptográfica e armazena-o diretamente na chave definida através do parâmetro keyId [SWS_Csm_00955]. A interface é disponibilizada através do ficheiro de cabeçalho Csm.h e possui o service ID 0x6a [SWS_Csm_00955].

Na chamada, a aplicação passa o identificador keyId (tipo uint32) da chave para a qual o material deve ser gerado; não existem parâmetros de entrada/saída ou puramente de saída [SWS_Csm_00955]. O estado da operação é reportado de forma síncrona através do valor de retorno do tipo Std_ReturnType [SWS_Csm_00955]:

  • E_OK: A geração e o armazenamento do material de chave foram bem-sucedidos [SWS_Csm_00955].
  • E_NOT_OK: A solicitação falhou [SWS_Csm_00955].
  • CRYPTO_E_BUSY: A execução falhou porque o objeto de driver criptográfico competente está ocupado no momento [SWS_Csm_00955].
  • CRYPTO_E_KEY_NOT_VALID: A solicitação foi rejeitada porque a chave de destino se encontra no estado «invalid» [SWS_Csm_00955].
  • CRYPTO_E_KEY_EMPTY: A geração falhou devido a um elemento de chave de origem não inicializado [SWS_Csm_00955].

Em termos de concorrência, Csm_KeyGenerate foi concebido como reentrante, mas não pode ser chamado de forma concorrente para a mesma keyId [SWS_Csm_00955].

Este texto foi gerado por uma IA com base na especificação.

função Csm_KeyDerive [SWS_Csm_00956] 📄 PDF

Std_ReturnType Csm_KeyDerive (uint32 keyId, uint32 targetKeyId);

Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the k ey element with the id 1 of the key identified by target Crypto Key Id.

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

A função síncrona Csm_KeyDerive serve para a derivação de uma nova chave criptográfica a partir de uma chave de origem especificada [SWS_Csm_00956]. A função está declarada no ficheiro de cabeçalho Csm.h e possui o ID de serviço 0x6b [SWS_Csm_00956].

Utilização e parâmetros

A chamada síncrona processa dois parâmetros de entrada [SWS_Csm_00956]:

  • keyId: identificador da chave de origem que contém os elementos de chave para a palavra-passe e o salt [SWS_Csm_00956].
  • targetKeyId: identificador da chave de destino; o material de chave derivado é armazenado no elemento de chave com o ID 1 [SWS_Csm_00956].

Valores de retorno e tratamento de erros

Como valor de retorno, a função fornece o estado Std_ReturnType [SWS_Csm_00956]. Além de E_OK em caso de execução bem-sucedida e E_NOT_OK para erros gerais, estão definidos erros criptográficos específicos [SWS_Csm_00956]:

  • CRYPTO_E_BUSY: o objeto de driver criptográfico está ocupado [SWS_Csm_00956].
  • CRYPTO_E_KEY_READ_FAIL: a leitura do elemento de chave não é permitida [SWS_Csm_00956].
  • CRYPTO_E_KEY_WRITE_FAIL: a escrita no elemento de chave de destino não é permitida [SWS_Csm_00956].
  • CRYPTO_E_KEY_NOT_VALID: o estado da chave é inválido [SWS_Csm_00956].
  • CRYPTO_E_KEY_SIZE_MISMATCH: os tamanhos dos elementos de chave são incompatíveis [SWS_Csm_00956].
  • CRYPTO_E_KEY_EMPTY: o elemento de chave de origem não está inicializado [SWS_Csm_00956].

Concorrência e interação

A função é reentrante, mas expressamente não para a mesma keyId [SWS_Csm_00956]. Se não forem detetados erros no CSM, o serviço encaminha a execução imediatamente para CryIf_KeyDerive [SWS_Csm_01018].

Este texto foi gerado por uma IA com base nas especificações AUTOSAR.

Guia do implementador em breve (complexidade I1)

função Csm_KeyExchangeCalcPubVal [SWS_Csm_00966] 📄 PDF

Std_ReturnType Csm_KeyExchangeCalcPubVal (uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

Calculates the public value of the current user for the key exchange and stores the pub lic key in the memory location pointed by the public value pointer.

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

A interface síncrona Csm_KeyExchangeCalcPubVal (ID de serviço 0x6c, disponível através de Csm.h) calcula o valor público do utilizador atual para o protocolo de troca de chaves e armazena a chave pública no endereço de memória referenciado pelo ponteiro publicValuePtr [SWS_Csm_00966].

Parâmetros e gerenciamento de buffers

A função processa três parâmetros de passagem [SWS_Csm_00966]:

  • keyId (entrada): contém a identificação da chave que deve ser utilizada para o protocolo de troca de chaves [SWS_Csm_00966].
  • publicValuePtr (saída): ponteiro para a área de memória na qual o valor resultante da chave pública é armazenado [SWS_Csm_00966].
  • publicValueLengthPtr (entrada/saída): ponteiro para a informação de comprimento. Na chamada, este parâmetro tem de conter o tamanho disponibilizado do buffer publicValuePtr; após a conclusão da execução, é aí guardado o comprimento real do valor calculado [SWS_Csm_00966].

Tratamento de erros e valores de retorno

O estado de execução é comunicado através de Std_ReturnType [SWS_Csm_00966]:

  • E_OK: A solicitação foi bem-sucedida [SWS_Csm_00966].
  • E_NOT_OK: a solicitação falhou [SWS_Csm_00966].
  • CRYPTO_E_BUSY: o pedido falhou porque o objeto de driver criptográfico está ocupado [SWS_Csm_00966].
  • CRYPTO_E_KEY_NOT_VALID: o pedido falha porque o estado da chave é inválido [SWS_Csm_00966].
  • CRYPTO_E_KEY_EMPTY: o pedido falha devido a um elemento de chave de origem não inicializado [SWS_Csm_00966].

simultaneidade

A função foi concebida como reentrante, mas não pode ser chamada em simultâneo para a mesma keyId [SWS_Csm_00966].

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

função Csm_KeyExchangeCalcSecret [SWS_Csm_00967] 📄 PDF

Std_ReturnType Csm_KeyExchangeCalcSecret (uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.

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

A função síncrona Csm_KeyExchangeCalcSecret serve, no Crypto Service Manager, para o cálculo de um segredo partilhado (Shared Secret Key) no âmbito de um protocolo de troca de chaves [SWS_Csm_00967]. Para tal, o material de chave da chave referenciada através de keyId é combinado com o valor público do parceiro de comunicação. A chave secreta calculada é depois depositada diretamente como elemento de chave dentro da mesma chave [SWS_Csm_00967].

A interface é disponibilizada através do cabeçalho Csm.h e espera três parâmetros de entrada [SWS_Csm_00967]:

  • keyId: identificador da chave cujo material de chave é utilizado para o protocolo.
  • partnerPublicValuePtr: Ponteiro para a área de memória que contém o valor público do parceiro.
  • partnerPublicValueLength: comprimento do valor do parceiro transmitido em bytes.

A chamada fornece, como valor de retorno do tipo Std_ReturnType, ou E_OK em caso de execução bem-sucedida ou E_NOT_OK em caso de erro geral [SWS_Csm_00967]. Casos de erro específicos sinalizam códigos de estado detalhados: CRYPTO_E_BUSY indica que o objeto de driver criptográfico subjacente está ocupado. Se o estado da chave for inválido, é retornado CRYPTO_E_KEY_NOT_VALID, enquanto CRYPTO_E_KEY_EMPTY indica um elemento de chave de origem não inicializado [SWS_Csm_00967].

Em termos de concorrência, a função foi concebida como reentrante, mas não pode ser chamada simultaneamente para a mesma keyId [SWS_Csm_00967].

Nota de utilização gerada automaticamente com base na especificação AUTOSAR CP R20-11.

função Csm_JobKeySetValid [SWS_Csm_91027] 📄 PDF

Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId);

Stores the key if necessary and sets the key state of the key identified by key Id to valid.

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

usar

A função Csm_JobKeySetValid armazena a chave, se necessário, e define o estado de chave da chave identificada via keyId como válido [SWS_Csm_91027]. A interface é declarada através do arquivo de cabeçalho Csm.h e possui o Service ID 0x7a com a assinatura Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId) [SWS_Csm_91027].

Na chamada, são passados dois parâmetros de entrada do tipo uint32 [SWS_Csm_91027]:

  • jobId: Contém o identificador do job que utiliza o serviço CSM [SWS_Csm_91027].
  • keyId: Contém o identificador da chave para a qual o novo material de chave deve ser validado [SWS_Csm_91027].

Parâmetros de entrada/saída adicionais ou parâmetros exclusivos de saída não estão definidos para esta função [SWS_Csm_91027].

Comportamento síncrono e assíncrono, bem como concorrência

A semântica de execução depende da respectiva configuração do job: a chamada ocorre de forma síncrona ou assíncrona [SWS_Csm_91027]. A função é especificada como reentrante [SWS_Csm_91027].

Valores de retorno e tratamento de erros

O valor de retorno do tipo Std_ReturnType reflete o resultado da solicitação da função [SWS_Csm_91027]:

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

Guia do implementador em breve (complexidade I1)

função Csm_JobKeySetInvalid [SWS_Csm_91002] 📄 PDF

Std_ReturnType Csm_JobKeySetInvalid (uint32 jobId, uint32 keyId);

Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.

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

usar

A função Csm_JobKeySetInvalid define o estado de uma chave criptográfica como inválido [SWS_Csm_91002]. Após a chamada desta interface, a chave em questão já não pode ser utilizada para operações criptográficas até que tenha sido novamente colocada num estado válido [SWS_Csm_91002]. O serviço possui o ID de serviço 0x84, está disponível através do ficheiro de cabeçalho Csm.h e funciona de forma síncrona ou assíncrona, dependendo da configuração do job [SWS_Csm_91002].

Para a chamada são passados os seguintes parâmetros [SWS_Csm_91002]:

Tratamento de erros e valores de retorno

O valor de retorno do tipo Std_ReturnType comunica o resultado do pedido [SWS_Csm_91002]:

simultaneidade

A interface está especificada como reentrante [SWS_Csm_91002]. Não existem parâmetros de entrada ou saída adicionais [SWS_Csm_91002].

Este texto foi gerado por uma IA com base na especificação.

Guia do implementador em breve (complexidade I1)

função Csm_JobRandomSeed [SWS_Csm_91028] 📄 PDF

Std_ReturnType Csm_JobRandomSeed (uint32 jobId, uint32 keyId, const uint8* seedPtr, Manager uint32 seedLength);

Provides a new seed for the specified key that is used for an associated random number generator.

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

Utilização e contexto de chamada

A função Csm_JobRandomSeed serve para fornecer uma nova semente (seed) para uma chave definida, a qual é utilizada para um gerador de números aleatórios associado [SWS_Csm_91028]. A declaração está disponível no cabeçalho Csm.h [SWS_Csm_91028]. A função possui o ID de serviço 0x7b e processa quatro parâmetros de entrada: por meio de jobId é identificado o job CSM usuário, enquanto keyId determina a chave de destino para a qual a semente deve ser gerada [SWS_Csm_91028]. Por meio do ponteiro seedPtr são transmitidos os dados de inicialização e por seedLength é definido o seu comprimento em bytes [SWS_Csm_91028]. O comportamento de execução rege-se pela configuração do respectivo job e ocorre de forma síncrona ou assíncrona [SWS_Csm_91028].

Tratamento de erros e valores de retorno

A função retorna um status do tipo Std_ReturnType, que indica o resultado da solicitação [SWS_Csm_91028]:

  • E_OK: A solicitação foi bem-sucedida [SWS_Csm_91028].
  • E_NOT_OK: a solicitação falhou de modo geral [SWS_Csm_91028].
  • CRYPTO_E_BUSY: a solicitação falhou porque o serviço ainda está ocupado no momento [SWS_Csm_91028].
  • CRYPTO_E_KEY_NOT_VALID: a solicitação foi rejeitada porque a chave especificada se encontra no estado invalid [SWS_Csm_91028].

Simultaneidade e restrições

A interface é especificada como reentrante [SWS_Csm_91028]. Se uma aplicação chamar o serviço enquanto outra operação ainda estiver ativa, o valor de retorno CRYPTO_E_BUSY sinaliza esse estado [SWS_Csm_91028]. Além disso, antes da execução deve ser assegurado que a chave endereçada por meio de keyId seja válida, a fim de evitar o erro CRYPTO_E_KEY_NOT_VALID [SWS_Csm_91028].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.

função Csm_JobKeyGenerate [SWS_Csm_91029] 📄 PDF

Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);

Generates new key material and stores it in the key identified by key Id.

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

usar

A função Csm_JobKeyGenerate gera novo material de chave e armazena-o na chave identificada através de keyId [SWS_Csm_91029]. Através do parâmetro jobId é transmitido o identificador do job que utiliza o serviço CSM [SWS_Csm_91029]. A execução ocorre de forma síncrona ou assíncrona, dependendo da configuração do respetivo job [SWS_Csm_91029]. O serviço está declarado através do ficheiro de cabeçalho Csm.h com o ID de serviço 0x7c [SWS_Csm_91029].

Valores de retorno e tratamento de erros

O valor de retorno do tipo Std_ReturnType dá informações sobre o resultado do pedido [SWS_Csm_91029]:

Simultaneidade e restrições

A função está especificada como reentrante [SWS_Csm_91029]. Interpretação: como a especificação não predetermina nenhum contexto de execução específico, a chamada deverá ocorrer tipicamente no contexto de tarefa. Pergunta Q-236d699ed655e285 (aberta)

Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR CP R20-11.

função Csm_JobKeyDerive [SWS_Csm_91030] 📄 PDF

Std_ReturnType Csm_JobKeyDerive (uint32 jobId, uint32 keyId, uint32 targetKeyId);

Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the key element with the id 1 of the key identified by target Crypto

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: edeb66131e0b 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 Csm_JobKeyDerive deriva uma nova chave criptográfica utilizando os elementos de chave para a palavra-passe e o salt a partir da chave identificada por keyId [SWS_Csm_91030]. O resultado é depositado no elemento de chave com o ID 1 da chave de destino determinada por targetKeyId [SWS_Csm_91030]. A chamada é feita através do ficheiro de cabeçalho Csm.h com o ID de serviço 0x7d, mediante a transmissão do respetivo job via jobId [SWS_Csm_91030].

O processamento ocorre de forma síncrona ou assíncrona, consoante a configuração do job passado [SWS_Csm_91030]. A função está especificada como reentrante [SWS_Csm_91030].

Tratamento de erros e valores de retorno

Como valor de retorno, a função fornece o tipo Std_ReturnType. Uma execução bem-sucedida do pedido é confirmada por E_OK [SWS_Csm_91030]. Em caso de erro ou de condições prévias inadequadas, são comunicados valores de retorno específicos [SWS_Csm_91030]:

  • E_NOT_OK: a solicitação falhou [SWS_Csm_91030].
  • CRYPTO_E_BUSY: o pedido falha porque o serviço se encontra atualmente ainda ocupado [SWS_Csm_91030].
  • CRYPTO_E_KEY_READ_FAIL: a leitura do elemento de chave não é permitida [SWS_Csm_91030].
  • CRYPTO_E_KEY_WRITE_FAIL: a escrita no elemento de chave de destino não é permitida [SWS_Csm_91030].
  • CRYPTO_E_KEY_NOT_VALID: o estado da chave é inválido [SWS_Csm_91030].
  • CRYPTO_E_KEY_SIZE_MISMATCH: os tamanhos dos elementos de chave envolvidos não são compatíveis entre si [SWS_Csm_91030].
  • CRYPTO_E_KEY_EMPTY: O elemento de chave de origem não está inicializado [SWS_Csm_91030].

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

função Csm_JobKeyExchangeCalcPubVal [SWS_Csm_91031] 📄 PDF

Std_ReturnType Csm_JobKeyExchangeCalcPubVal (uint32 jobId, uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

Calculates the public value of the current user for the key exchange and stores the

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

usar

A função Csm_JobKeyExchangeCalcPubVal calcula o valor público do participante atual para o protocolo de troca de chaves e o armazena na memória de destino indicada [SWS_Csm_91031]. Dependendo da configuração do job associado, o processamento ocorre de forma síncrona ou assíncrona [SWS_Csm_91031].

A passagem dos parâmetros ocorre por meio dos seguintes dados de interface [SWS_Csm_91031]:

  • jobId: identificador do job CSM que utiliza o serviço criptográfico.
  • keyId: identificador da chave utilizada para o protocolo de troca de chaves.
  • publicValuePtr: ponteiro para a área de buffer na qual a chave pública calculada é armazenada.
  • publicValueLengthPtr: ponteiro para a indicação de comprimento. Na chamada da função, este parâmetro deve conter a capacidade do buffer publicValuePtr; após a conclusão da execução, é registrado o comprimento real do valor calculado.

Tratamento de erros

O valor de retorno do tipo Std_ReturnType fornece informações sobre o status de execução da solicitação [SWS_Csm_91031]:

  • E_OK: a solicitação foi executada com sucesso.
  • E_NOT_OK: A solicitação falhou.
  • CRYPTO_E_BUSY: o serviço solicitado ainda está ocupado no momento.
  • CRYPTO_E_KEY_NOT_VALID: o estado da chave é inválido.
  • CRYPTO_E_KEY_EMPTY: O elemento de chave de origem não está inicializado.

Simultaneidade e integração

A interface é declarada como reentrante, possui o ID de serviço 0x7e e é disponibilizada por meio do arquivo de cabeçalho Csm.h [SWS_Csm_91031].

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

função Csm_JobKeyExchangeCalcSecret [SWS_Csm_91032] 📄 PDF

Std_ReturnType Csm_JobKeyExchangeCalcSecret (uint32 jobId, uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4e3c61490805 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 Csm_JobKeyExchangeCalcSecret calcula a chave secreta compartilhada (Shared Secret Key) para uma troca de chaves utilizando o material de chave proveniente da chave identificada por meio de keyId, bem como da chave pública do parceiro de comunicação [SWS_Csm_91032]. O endereço de memória da chave do parceiro é passado por meio de partnerPublicValuePtr e o seu comprimento em bytes é definido por meio de partnerPublicValueLength [SWS_Csm_91032]. O segredo compartilhado calculado é armazenado diretamente como elemento de chave dentro da mesma chave [SWS_Csm_91032].

O job CSM usuário é identificado por meio do parâmetro de entrada jobId. O comportamento de execução é síncrono ou assíncrono, dependendo da respectiva configuração do job [SWS_Csm_91032].

Tratamento de erros e valores de retorno

O valor de retorno do tipo Std_ReturnType reporta o status da solicitação de serviço [SWS_Csm_91032]:

  • E_OK: o pedido de serviço foi bem-sucedido [SWS_Csm_91032].
  • E_NOT_OK: o pedido de serviço falhou [SWS_Csm_91032].
  • CRYPTO_E_BUSY: a solicitação falha porque o serviço subjacente ainda está ocupado [SWS_Csm_91032].
  • CRYPTO_E_KEY_NOT_VALID: a solicitação falha porque a chave referenciada se encontra no estado «invalid» [SWS_Csm_91032].
  • CRYPTO_E_KEY_EMPTY: o cálculo falha porque um elemento de chave de origem obrigatório não está inicializado [SWS_Csm_91032].

Simultaneidade e integração

A função é projetada como reentrante, possui o ID de serviço 0x7f e é declarada por meio do arquivo de cabeçalho Csm.h [SWS_Csm_91032].

Este texto foi gerado por uma IA. O único critério vinculativo é a especificação.

função Csm_SaveContextJob [SWS_Csm_91063] 📄 PDF

Std_ReturnType Csm_SaveContextJob (uint32 jobId, uint8* contextBufferPtr, uint32* contextBufferLengthPtr);

The Crypto Driver stores the internal context of the respective crypto operation to the context Buffer.

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

A função Csm_SaveContextJob faz com que o Crypto Driver salve o contexto interno da respectiva operação de criptografia em um buffer do lado da aplicação [SWS_Csm_91063]. O serviço é declarado no arquivo de cabeçalho Csm.h e possui o Service ID 0x86 [SWS_Csm_91063].

A interface espera os seguintes parâmetros [SWS_Csm_91063]:

  • jobId (entrada): designa o identificador unívoco do job que utiliza o serviço CSM.
  • contextBufferLengthPtr (entrada/saída): ponteiro para o valor de comprimento. Na chamada, indica a capacidade máxima disponível no buffer de destino; após a execução, contém o comprimento de dados efetivamente gravado ou, em caso de erro, o valor 0.
  • contextBufferPtr (saída): ponteiro para a área de memória da aplicação na qual os dados de contexto devem ser gravados.

A execução ocorre de forma síncrona ou assíncrona, dependendo da configuração do job [SWS_Csm_91063]. Além disso, a função é especificada como reentrante [SWS_Csm_91063].

Para o retorno do status da operação, são definidos os seguintes valores de retorno [SWS_Csm_91063]:

  • E_OK: Os dados de contexto foram armazenados com sucesso no buffer e a indicação de comprimento foi atualizada.
  • E_NOT_OK: Não foi possível disponibilizar os dados de contexto porque os valores são inválidos; o comprimento retornado é definido como 0.
  • CRYPTO_E_BUSY: A solicitação falhou porque o serviço de criptografia subjacente ainda está ocupado.

Esta nota de uso foi gerada automaticamente com base nos dados de especificação.

função Csm_RestoreContextJob [SWS_Csm_91064] 📄 PDF

Std_ReturnType Csm_RestoreContextJob (uint32 jobId, uint8* contextBufferPtr, uint32 contextBufferLength);

The Crypto Driver extracts the context data from the context Buffer and restores the internal state so that further crypto operation of this crypto service will continue at the exact point when the context was taken.

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

Utilização e semântica

A função Csm_RestoreContextJob serve para restaurar o estado interno de um job criptográfico a partir de um buffer externo, de modo que operações subsequentes continuem exatamente a partir do ponto do salvamento anterior [SWS_Csm_91064]. O job de destino é endereçado por meio do parâmetro jobId, enquanto contextBufferPtr aponta para os dados úteis e contextBufferLength para o seu tamanho em bytes [SWS_Csm_91064]. A execução ocorre de forma síncrona ou assíncrona, dependendo da configuração do respectivo job [SWS_Csm_91064].

Valores de retorno e tratamento de erros

A função reporta o resultado da operação por meio do seu valor de retorno do tipo Std_ReturnType [SWS_Csm_91064]:

  • E_OK: Os dados de contexto foram lidos com sucesso e o estado interno do driver foi restaurado [SWS_Csm_91064].
  • E_NOT_OK: A restauração do contexto falhou [SWS_Csm_91064].
  • CRYPTO_E_BUSY: O serviço criptográfico subjacente está ocupado no momento, razão pela qual a requisição foi rejeitada [SWS_Csm_91064].

Simultaneidade e restrições

A interface é especificada como reentrante e disponibilizada via Csm.h (ID de serviço 0x87) [SWS_Csm_91064]. Interpretação: No caso de uma configuração assíncrona do job, o chamador provavelmente terá de zelar para que o buffer sob contextBufferPtr permaneça inalterado e válido até a conclusão efetiva da restauração. Pergunta Q-8ab0cb179f807bd4 (aberta)

Este texto foi elaborado por uma IA. Ele não substitui a consulta às especificações AUTOSAR.

Guia do implementador em breve (complexidade I1)

função Csm_CancelJob [SWS_Csm_00968] 📄 PDF

Std_ReturnType Csm_CancelJob (uint32 job, Crypto_OperationModeType mode);

Cancels the job processing from asynchronous or streaming jobs .

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

Utilização e contexto de chamada

A função Csm_CancelJob (Service ID 0x6f) serve para o cancelamento síncrono do processamento de jobs assíncronos ou de streaming dentro do módulo Csm [SWS_Csm_00968]. A interface é disponibilizada através do cabeçalho Csm.h [SWS_Csm_00968]. Como parâmetros, a função recebe o identificador do job a ser cancelado via job (do tipo uint32), bem como o parâmetro mode (do tipo Crypto_OperationModeType), que não é utilizado e serve exclusivamente para compatibilidade de interface [SWS_Csm_00968].

Valores de retorno e comportamento de cancelamento

O resultado da chamada de cancelamento é sinalizado de forma síncrona através do valor de retorno do tipo Std_ReturnType [SWS_Csm_00968]:

  • E_OK: O cancelamento foi imediatamente bem-sucedido; o job foi removido de todas as filas e, potencialmente, diretamente do hardware do driver criptográfico [SWS_Csm_00968].
  • E_NOT_OK: A solicitação de cancelamento falhou [SWS_Csm_00968].
  • CRYPTO_E_JOB_CANCELED: Não foi possível realizar um cancelamento imediato; o cancelamento será efetuado na próxima etapa de processamento adequada e, em seguida, comunicado através do callback de conclusão negativo do job [SWS_Csm_00968].

Simultaneidade e restrições

A especificação define Csm_CancelJob como síncrona e não reentrante (Non Reentrant) [SWS_Csm_00968]. Os componentes chamadores devem, portanto, assegurar que não ocorram chamadas concorrentes da função.

Esta nota de uso foi criada de forma automatizada e baseia-se exclusivamente nos dados de especificação do AUTOSAR Classic Release R20-11.

Guia do implementador em breve (complexidade I1)

função Csm_CallbackNotification [SWS_Csm_00970] 📄 PDF

void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);

Notifies the CSM that a job has finished. This function is used by the underlying layer (CRYIF).

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

A interface síncrona Csm_CallbackNotification é declarada através do arquivo de cabeçalho Csm.h e serve à camada subjacente (CRYIF) como função de retorno para notificar o Crypto Service Manager (CSM) sobre a conclusão de uma tarefa criptográfica [SWS_Csm_00970]. A função não possui valor de retorno e recebe dois parâmetros de entrada: o ponteiro job para a tarefa finalizada do tipo Crypto_JobType* bem como result do tipo Crypto_ResultType, que transmite o resultado da execução da operação criptográfica subjacente [SWS_Csm_00970].

Em relação à simultaneidade, a execução de Csm_CallbackNotification é especificada como reentrante [SWS_Csm_00970]. Códigos de retorno específicos ou mensagens de erro separadas de DET ou DEM não estão definidos no elemento; em vez disso, estados de erro e resultados de execução do processamento criptográfico são disponibilizados diretamente por meio do argumento passado result [SWS_Csm_00970].

No contexto da interação, a função verifica o modo de processamento da tarefa: se o bit CRYPTO_OPERATIONMODE_FINISH estiver definido no campo job->jobPrimitiveInputOutput.mode, a especificação Csm_CallbackNotification obriga a chamar a função de callback configurada [SWS_Csm_01044]. Interpretação: Essa chamada deve se tratar da notificação da camada de aplicação superior, uma vez que a flag FINISH sinaliza a conclusão final de uma sequência de operações criptográficas. Pergunta Q-32da2433b15ba3a9 (aberta)

Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I1)

função Csm_MainFunction [SWS_Csm_00479] 📄 PDF

void Csm_MainFunction (void);

API to be called cyclically to process the requested jobs. The Csm_ Main Function shall check the queues for jobs to pass to the underlying CRYIF. Per configured Csm Main Function ins tance one Csm_ Main Function_ shall be implemented. Hereby is the short name of the Csm Main Function configuration container in the ECU configuration.

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

usar

A função Csm_MainFunction é chamada ciclicamente para processar jobs criptográficos solicitados [SWS_Csm_00479]. Ela não possui parâmetros de passagem (void) e não retorna nenhum valor de retorno [SWS_Csm_00479]. A declaração está disponível através do cabeçalho SchM_Csm.h [SWS_Csm_00479].

Tarefas e interação

Como parte de sua execução periódica, a função verifica as filas internas quanto a jobs pendentes e os entrega à camada subjacente CRYIF [SWS_Csm_00479].

Instanciação e contexto de chamada

Para cada instância configurada, é implementada uma função dedicada no formato Csm_MainFunction_<shortName>, em que <shortName> corresponde ao nome abreviado do contêiner de configuração na configuração da ECU [SWS_Csm_00479]. A chamada cíclica deve ocorrer conforme o planejado pelo BSW Scheduler (SchM) em uma tarefa periódica, uma vez que a interface é disponibilizada através de SchM_Csm.h. Pergunta Q-ffb62942b1f517b3 (aberta)

Tratamento de erros e condições de contorno

Códigos de erro específicos, mensagens de DET ou DEM bem como requisitos explícitos de reentrância não são descritos no presente trecho da especificação [SWS_Csm_00479].

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

função <Csm_ApplicationCallbackNotification> [SWS_Csm_00971] 📄 PDF

void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);

CSM notifies the application that a job has finished. The function name is configurable. The function name itself is derived from "{Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func".

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 3e64dccb0e30 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 de callback configurável <Csm_ Application Callback Notification> serve para informar sincronicamente uma aplicação, através do Crypto Service Manager (CSM), sobre o término de um job de processamento [SWS_Csm_00971]. O identificador da função não é predefinido de forma fixa, sendo antes determinado de forma específica para o projeto através do parâmetro de configuração {Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func [SWS_Csm_00971]. A interface possui o ID de serviço 0x82 e é disponibilizada através do ficheiro de cabeçalho Csm.h [SWS_Csm_00971].

A assinatura não possui valor de retorno (void) e transmite dois parâmetros de entrada para avaliação à aplicação [SWS_Csm_00971]:

  • jobId (uint32): designa o ID unívoco do job criptográfico cuja conclusão acionou o callback [SWS_Csm_00971].
  • result (Crypto_ResultType): transmite o resultado ou o estado da operação criptográfica executada [SWS_Csm_00971].

Relativamente à concorrência, a função de notificação está especificada como reentrante [SWS_Csm_00971]. Não são definidos códigos de erro DET ou DEM específicos para o próprio callback; os erros ocorridos na operação anterior têm de ser avaliados diretamente através de result [SWS_Csm_00971]. Uma vez que a interface é declarada como reentrante, a implementação do lado da aplicação deverá ter de ser concebida de modo a poder processar notificações simultâneas para diferentes jobs de forma thread-safe. Pergunta Q-79504ea3461f8d61 (aberta)

Este texto foi gerado automaticamente com base na especificação AUTOSAR.

tipo Crypto_AlgorithmModeType [SWS_Csm_01048] 📄 PDF

Type Crypto_AlgorithmModeType.

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

O tipo enumerado Crypto_AlgorithmModeType especifica, de acordo com [SWS_Csm_01048], o modo de operação de um algoritmo criptográfico. Está disponível através do ficheiro de cabeçalho Crypto_GeneralTypes.h e serve para a configuração padronizada bem como para a seleção em tempo de execução de métodos criptográficos no Crypto Service Manager.

Utilização e intervalo de valores:

  • Modos clássicos de cifra de bloco: são suportados, entre outros, CRYPTO_ALGOMODE_ECB, CRYPTO_ALGOMODE_CBC, CRYPTO_ALGOMODE_CFB, CRYPTO_ALGOMODE_OFB, CRYPTO_ALGOMODE_CTR, CRYPTO_ALGOMODE_GCM bem como CRYPTO_ALGOMODE_XTS [SWS_Csm_01048].
  • Métodos assimétricos e padding: estão incluídos modos para encriptação e assinaturas como CRYPTO_ALGOMODE_RSAES_OAEP, CRYPTO_ALGOMODE_RSAES_PKCS1_v1_5, CRYPTO_ALGOMODE_RSASSA_PSS e CRYPTO_ALGOMODE_RSASSA_PKCS1_v1_5 [SWS_Csm_01048].
  • Outros modos de operação: o intervalo de valores abrange contagens de rondas (CRYPTO_ALGOMODE_8ROUNDS, CRYPTO_ALGOMODE_12ROUNDS, CRYPTO_ALGOMODE_20ROUNDS), métodos MAC (CRYPTO_ALGOMODE_HMAC, CRYPTO_ALGOMODE_CMAC, CRYPTO_ALGOMODE_GMAC), geradores de bits aleatórios (CRYPTO_ALGOMODE_CTRDRBG), variantes SipHash bem como definições de curvas como CRYPTO_ALGOMODE_PXXXR1 [SWS_Csm_01048].
  • Estados especiais: com CRYPTO_ALGOMODE_NOT_SET (0x00) é sinalizada uma chave de algoritmo não definida, enquanto CRYPTO_ALGOMODE_CUSTOM (0xff) permite modos de operação específicos do fabricante [SWS_Csm_01048].

Interpretação: dado que Crypto_AlgorithmModeType se trata de uma enumeração pura, o tipo não possui tratamento de erros próprio através de DET ou DEM e não está sujeito a requisitos de reentrância. Pergunta Q-3d2e905dda6531ac (aberta) Verificações de erros e restrições relativas ao contexto de chamada decorrem apenas das funções do CSM às quais são passados valores deste tipo como parâmetros.

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

Guia do implementador em breve (complexidade I1)

tipo Crypto_InputOutputRedirectionConfigType [SWS_Csm_91024] 📄 PDF

Defines which of the input/ output parameters are re - directed to a key element. The values can be combined to define a bit field.

tipo Crypto_JobType [SWS_Csm_01013] 📄 PDF

Structure which contains further information, which depends on the job and the crypto primitive.

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

Uso e estrutura de Crypto_JobType

A estrutura Crypto_JobType agrupa todos os dados relevantes de controle, estado e buffer para a realização de um job criptográfico no Crypto Service Manager e está disponível via Crypto_GeneralTypes.h [SWS_Csm_01013].

Entre os elementos centrais da estrutura estão [SWS_Csm_01013]:

  • jobId: Identificador único do job.
  • jobState: Representa o status de execução atual do job.
  • jobPrimitiveInputOutput: Aponta para os dados de entrada e saída específicos da primitiva.
  • jobPrimitiveInfo: Ponteiro para informações adicionais constantes sobre a primitiva criptográfica selecionada.
  • jobPriority: Determina a prioridade de execução, em que um valor mais alto indica uma urgência maior.
  • jobRedirectionInfoRef: Ponteiro para informações opcionais sobre o redirecionamento de chaves como valores de entrada e saída.

Interação e relações de interface

Os campos da estrutura cryptoKeyId e targetCryptoKeyId referenciam as chaves a serem utilizadas no driver criptográfico; de acordo com a especificação, esses identificadores são descritos pela Crypto Interface [SWS_Csm_01013]. Interpretação: A ordem no escalonamento e processamento de jobs concorrentes em filas deve ser controlada via jobPriority. Pergunta Q-439432c5631948fb (aberta)

Este texto foi criado por uma IA. Todas as informações baseiam-se exclusivamente na especificação do AUTOSAR R20-11.

tipo Crypto_JobStateType [SWS_Csm_01028] 📄 PDF

Enumeration of the current job state.

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

O tipo de enumeração Crypto_JobStateType define o estado atual de processamento de um job criptográfico no CSM [SWS_Csm_01028]. É disponibilizado através do ficheiro de cabeçalho Crypto_GeneralTypes.h e distingue entre dois estados principais do ciclo de vida do job [SWS_Csm_01028]:

  • CRYPTO_JOBSTATE_IDLE (0x00): identifica o estado de repouso do job. Este estado é assumido inicialmente após a chamada de Csm_Init() ou assim que uma operação Finish (estado «Finish») tenha sido concluída [SWS_Csm_01028].
  • CRYPTO_JOBSTATE_ACTIVE (0x01): indica que o job está a ser ativamente processado e que já foram processados dados de entrada ou existem resultados intermédios. Este estado é atingido assim que uma operação Start ou Update tenha sido concluída com sucesso [SWS_Csm_01028].

Relativamente à utilização e interação, o tipo reflete o progresso de operações criptográficas de streaming ou em várias etapas [SWS_Csm_01028]. Uma transição para CRYPTO_JOBSTATE_ACTIVE sinaliza que o contexto criptográfico está inicializado ou mantém continuamente resultados intermédios, enquanto a transição para CRYPTO_JOBSTATE_IDLE marca a conclusão e indica que o job está disponível para novos fluxos [SWS_Csm_01028].

Este texto foi criado por uma IA. Baseia-se exclusivamente nos dados de especificação do módulo CSM (R20-11).

Guia do implementador em breve (complexidade I1)

tipo Crypto_JobPrimitiveInfoType [SWS_Csm_01012] 📄 PDF

Structure which contains further information, which depends on the job and the crypto primitive.

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

A estrutura de dados Crypto_JobPrimitiveInfoType reúne informações adicionais sobre um job criptográfico e suas primitivas subjacentes [SWS_Csm_01012]. Ela está disponível na pilha Classic AUTOSAR através do arquivo de cabeçalho Crypto_GeneralTypes.h [SWS_Csm_01012].

Componentes e utilização

De acordo com a especificação [SWS_Csm_01012], a estrutura é composta pelos seguintes campos:

  • callbackId (uint32): Identificador interno da função de callback que é chamada pelo módulo CSM assim que a execução do serviço configurado é finalizada [SWS_Csm_01012].
  • primitiveInfo (const Crypto_PrimitiveInfoType*): Ponteiro para uma estrutura de dados com a configuração adicional da primitiva criptográfica [SWS_Csm_01012].
  • cryIfKeyId (uint32): Identificador da chave para a interface de criptografia (CryIf) [SWS_Csm_01012].
  • processingType (Crypto_ProcessingType): Define o comportamento de execução e determina se a tarefa é processada de forma síncrona ou assíncrona [SWS_Csm_01012].

Contexto de execução e semântica

O campo processingType controla a semântica síncrona ou assíncrona do processamento do job [SWS_Csm_01012]. A função de callback definida através de callbackId deve ser relevante principalmente no modo assíncrono, a fim de informar o chamador sobre a conclusão do serviço, enquanto o ponteiro primitiveInfo deve apontar para uma configuração de primitiva válida [SWS_Csm_01012]. Pergunta Q-791dae4fb6a83f99 (aberta)

Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR R20-11.

tipo Crypto_AlgorithmInfoType [SWS_Csm_01008] 📄 PDF

Structure which determines the exact algorithm. Note, not every algorithm needs to specify all fields. AUTOSAR shall only allow valid combinations.

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

usar

A estrutura de dados Crypto_AlgorithmInfoType determina a configuração exata de um algoritmo criptográfico e é disponibilizada através do ficheiro de cabeçalho Crypto_GeneralTypes.h [SWS_Csm_01008]. É composta pelos seguintes elementos:

  • family (Crypto_AlgorithmFamilyType): a família primária do algoritmo.
  • secondaryFamily (Crypto_AlgorithmFamilyType): a família secundária do algoritmo.
  • keyLength (uint32): o comprimento da chave a utilizar em bits.
  • mode (Crypto_AlgorithmModeType): o modo de operação previsto do algoritmo.

Nem todos os algoritmos requerem o preenchimento integral de todos os elementos da estrutura [SWS_Csm_01008]. Consoante o tipo de operação criptográfica, campos individuais como o modo de operação ou uma família secundária podem permanecer não utilizados.

Restrições e tratamento de erros

De acordo com [SWS_Csm_01008], no AUTOSAR só podem ocorrer combinações válidas dos elementos da estrutura. Combinações inadmissíveis – por exemplo, modos de operação incompatíveis ou comprimentos de chave inadmissíveis para uma família de algoritmos específica – não são permitidas. A verificação da validade da combinação de parâmetros deverá presumivelmente ocorrer através das ferramentas de configuração ou em chamadas de serviço pelo CSM. Pergunta Q-da4984170bba173c (aberta)

Este texto foi criado e curado por uma IA.

tipo Crypto_PrimitiveInfoType [SWS_Csm_01011] 📄 PDF

Structure which contains basic information about the crypto primitive. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager

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

A estrutura Crypto_PrimitiveInfoType serve, no Crypto Service Manager (CSM), para a disponibilização de metadados fundamentais sobre uma primitiva criptográfica ([SWS_Csm_01011]). É declarada através do ficheiro de cabeçalho Crypto_GeneralTypes.h e agrupa as características estáticas da respetiva operação ([SWS_Csm_01011]).

A estrutura é composta por dois elementos ([SWS_Csm_01011]):

  • service (tipo: const Crypto_ServiceInfoType): determina o serviço criptográfico utilizado através de uma enumeração, por exemplo uma encriptação (Encrypt) ([SWS_Csm_01011]).
  • algorithm (tipo: const Crypto_AlgorithmInfoType): contém a informação detalhada sobre o algoritmo utilizado ([SWS_Csm_01011]).

Dado que ambos os elementos estão tipificados como const, deverá tratar-se de dados de configuração ou metadados protegidos contra escrita, definidos no momento da configuração e avaliados em tempo de execução pelos drivers ou pelo CSM em modo puramente de leitura ([SWS_Csm_01011]). Pergunta Q-6d53291f7fb8cfe6 (aberta) Não estão definidos códigos de erro específicos, rotinas de tratamento de erros ou restrições de concorrência para este tipo de estrutura de dados.

Este texto foi criado por uma IA. Verifique os detalhes críticos para a segurança com base na especificação.

tipo Csm_ConfigIdType [SWS_Csm_00691] 📄 PDF

Identification of a CSM service configuration via a numeric identifier, that is unique within a service. The name of a CSM service configuration, i.e. the name of the container Csm_Config, shall serve as a symbolic name for this parameter Avail able via Csm.h

tipo Crypto_OperationModeType [SWS_Csm_01029] 📄 PDF

Enume ration which operation shall be performed. This enumeration is constructed from a bit mask, where the first bit indicates "Start", the second "Update" and the third "Finish".

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

O tipo de enumeração Crypto_OperationModeType define, de acordo com [SWS_Csm_01029], a fase de processamento a ser executada em operações criptográficas. O tipo é estruturado como uma máscara de bits, cujos três primeiros bits mapeiam as etapas principais Start (Bit 1 / 0x01), Update (Bit 2 / 0x02) e Finish (Bit 3 / 0x04).

Por meio dos valores de enumeração, controlam-se as diferentes fases de execução e ciclo de vida de um job de criptografia [SWS_Csm_01029]:

  • CRYPTO_OPERATIONMODE_START (0x01): Inicializa o job; o estado é redefinido, apagando dados de entrada anteriores e resultados intermediários.
  • CRYPTO_OPERATIONMODE_UPDATE (0x02): Processa dados de entrada para o cálculo de resultados intermediários.
  • CRYPTO_OPERATIONMODE_FINISH (0x04): Conclui finalmente os cálculos da operação criptográfica.
  • CRYPTO_OPERATIONMODE_STREAMSTART (0x03): Combina Start e Update para cenários de streaming.
  • CRYPTO_OPERATIONMODE_SINGLECALL (0x07): Reúne Start, Update e Finish para o processamento completo em uma única chamada.

Além disso, o tipo suporta o gerenciamento de workspace em fluxos que podem ser interrompidos: com CRYPTO_OPERATIONMODE_SAVE_CONTEXT (0x08), o driver de criptografia disponibiliza o contexto de workspace atual para a aplicação, enquanto CRYPTO_OPERATIONMODE_RESTORE_CONTEXT (0x10) restaura um estado salvo anteriormente no workspace interno do driver [SWS_Csm_01029]. O tipo é disponibilizado através do cabeçalho Rte_Csm_Type.h.

Esta nota de uso foi gerada automaticamente e baseia-se exclusivamente nas informações de [SWS_Csm_01029].

Guia do implementador em breve (complexidade I1)

tipo Crypto_VerifyResultType [SWS_Csm_01024] 📄 PDF

Enumeration of the result type of verification operations.

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

O tipo de enumeração Crypto_VerifyResultType define o resultado funcional de operações de verificação no módulo CSM [SWS_Csm_01024]. É disponibilizado através do ficheiro de cabeçalho Rte_Csm_Type.h e serve para determinar se uma comparação criptográfica foi concluída com sucesso [SWS_Csm_01024].

Faixa de valores e semântica

A enumeração compreende, de acordo com [SWS_Csm_01024], dois valores discretos para mapear o estado da comparação:

  • CRYPTO_E_VER_OK (valor 0x00 ou 0): o resultado da verificação é «true», os dois elementos comparados são, portanto, idênticos [SWS_Csm_01024].
  • CRYPTO_E_VER_NOT_OK (valor 0x01 ou 1): o resultado da verificação é «false», os elementos comparados não são idênticos [SWS_Csm_01024].

O tipo separa a indicação funcional sobre a correspondência dos dados do estado geral de execução de uma operação. Como interpretação, isto significa que mesmo uma rotina de verificação executada sem erros pode fornecer o valor de retorno CRYPTO_E_VER_NOT_OK se os dados divergirem entre si [SWS_Csm_01024].

Uso e restrições

Como o tipo de dados é declarado através de Rte_Csm_Type.h, deverá ser utilizado principalmente como parâmetro de saída para serviços de verificação do CSM [SWS_Csm_01024]. Pergunta Q-067a1d2b36ffe56b (aberta) Tratamentos de erro específicos, tais como mensagens DET ou DEM, bem como especificações relativas à reentrância ou concorrência, não estão fixados no próprio tipo [SWS_Csm_01024].

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

tipo Crypto_ResultType [SWS_Csm_91044] 📄 PDF

Return for Std_ Return Type for Cryptostack.

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

O tipo de enumeração Crypto_ResultType serve como tipo de retorno específico para funções da stack criptográfica AUTOSAR e está disponível através do cabeçalho Rte_Csm_Type.h [SWS_Csm_91044]. Alarga o esquema clássico de retorno com mensagens diferenciadas de erro e de estado para operações criptográficas [SWS_Csm_91044].

Além do estado de sucesso regular E_OK (0x00) e do erro geral E_NOT_OK (0x01), o tipo define os seguintes estados de erro específicos [SWS_Csm_91044]:

  • Estados de fluxo e de recursos: CRYPTO_E_BUSY (0x02) identifica um serviço ainda ocupado, CRYPTO_E_JOB_CANCELED (0x0C) o cancelamento de um job e CRYPTO_E_ENTROPY_EXHAUSTED (0x04) uma fonte de entropia esgotada do gerador de números aleatórios [SWS_Csm_91044].
  • Problemas de chaves e de acesso: estão especificadas recusas de acesso na leitura (CRYPTO_E_KEY_READ_FAIL, 0x06) ou escrita (CRYPTO_E_KEY_WRITE_FAIL, 0x07), chaves em falta (CRYPTO_E_KEY_NOT_AVAILABLE, 0x08), chaves inválidas (CRYPTO_E_KEY_NOT_VALID, 0x09), tamanhos de chave incorretos (CRYPTO_E_KEY_SIZE_MISMATCH, 0x0A), bem como elementos de chave de origem não inicializados (CRYPTO_E_KEY_EMPTY, 0x0D) [SWS_Csm_91044].

Interpretação: os componentes chamadores deverão avaliar estes códigos de retorno para distinguir, em função da situação, entre estados de espera temporários e erros permanentes de configuração. Pergunta Q-68cfedad7880908c (aberta)

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

tipo Csm_HashDataType [SWS_Csm_01920] 📄 PDF

Array long enough to store the data which shall be hashed.

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

Utilização e estrutura de Csm_HashDataType

De acordo com [SWS_Csm_01920], o tipo de dados Csm_HashDataType está definido como um array com elementos do tipo base uint8. Serve como buffer de dados para o armazenamento dos dados de entrada que devem ser submetidos a um cálculo de valor de hash no Crypto Service Manager. O comprimento do campo está dimensionado de forma a ser suficiente para a receção completa dos dados sujeitos ao cálculo do hash [SWS_Csm_01920].

Configuração e criação de variantes

O dimensionamento real do array é controlado através do parâmetro de configuração CsmHashDataMaxLength, que está definido sob o caminho Csm/CsmPrimitives/CsmHash/CsmHashConfig [SWS_Csm_01920]. Desta forma, garante-se que a área de memória é concebida de forma adequada à quantidade máxima de dados esperada da respetiva configuração de hash.

Além disso, existe uma variação criptográfica de acordo com o padrão Csm_HashDataType_{Crypto}, sendo o marcador de posição {Crypto} resolvido através do SHORT-NAME da respetiva configuração da primitiva sob Csm/CsmPrimitives [SWS_Csm_01920]. Isto permite estruturas de buffer específicas da primitiva no sistema.

Integração e condições de contorno

O tipo é disponibilizado através do cabeçalho Rte_Csm_Type.h [SWS_Csm_01920]. Isto deverá significar que o tipo está previsto para a passagem padronizada de dados através de interfaces da RTE entre componentes de software e o CSM. Pergunta Q-4240a8394cdd746d (aberta) Ao preencher o buffer, os utilizadores devem ter em atenção que os dados não podem exceder o limite superior configurado CsmHashDataMaxLength, a fim de evitar estouros no cálculo do hash.

Este texto foi criado por uma IA e baseia-se no estado de especificação R20-11.

Guia do implementador em breve (complexidade I1)

tipo Csm_HashResultType [SWS_Csm_00912] 📄 PDF

Array long enough to store the data of the hash.

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

Uso e estrutura de Csm_HashResultType

O tipo de dados Csm_HashResultType representa um array de elementos uint8 e serve como área de memória suficientemente dimensionada para armazenar os dados de um resultado de hash [SWS_Csm_00912].

O comprimento de buffer concreto do array é configurável e é definido através do parâmetro de configuração CsmHashResultLength em Csm/CsmPrimitives/CsmHash/CsmHashConfig/CsmHashResultLength [SWS_Csm_00912]. Deste modo, o tamanho do tipo de dados orienta-se diretamente pelo comprimento de saída do respetivo algoritmo de hash criptográfico.

A definição de tipo está sujeita a uma variação de nomenclatura de acordo com o padrão Csm_HashResultType_{Crypto}, em que o identificador {Crypto} é substituído pelo nome curto da primitiva configurada (ecuc/Csm/CsmPrimitives.SHORT-NAME) [SWS_Csm_00912].

O tipo de dados é disponibilizado através do cabeçalho Rte_Csm_Type.h [SWS_Csm_00912]. Interpretação: devido à disponibilização através de Rte_Csm_Type.h, o tipo deverá estar sobretudo previsto para ser utilizado em componentes de software ou em interfaces RTE como buffer de resultado tipificado para valores de retorno de hash. Pergunta Q-4ff10e08b6a5c8c0 (aberta)

Este texto foi gerado por uma IA com base nos dados de especificação.

Guia do implementador em breve (complexidade I1)

tipo Csm_MacGenerateDataType [SWS_Csm_00935] 📄 PDF

Array long enough to store the data from which a MAC shall be generated.

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

O tipo de dados Csm_MacGenerateDataType serve como array de bytes para armazenar os dados de entrada a partir dos quais um Message Authentication Code (MAC) deve ser calculado [SWS_Csm_00935].

Uso e estrutura do tipo

O elemento é especificado de acordo com [SWS_Csm_00935] como um array com elementos do tipo base uint8. O nome do tipo está sujeito a uma variação de nomenclatura criptográfica de acordo com o esquema Csm_MacGenerateDataType_{Crypto}, em que o sufixo corresponde ao nome curto configurado da respectiva primitiva [SWS_Csm_00935]. O dimensionamento do campo é determinado estaticamente através do parâmetro de configuração CsmMacGenerateDataMaxLength, garantindo-se assim que o array ofereça espaço de memória suficiente para os dados a serem processados [SWS_Csm_00935].

Integração e interfaces

O tipo é disponibilizado através do ficheiro de cabeçalho Rte_Csm_Type.h e vincula as estruturas de dados à AUTOSAR-RTE [SWS_Csm_00935]. Componentes de software (SWCs) chamadores ou módulos de software básico podem utilizar este tipo para declarar buffers de dados tipificados para serviços de geração de MAC do CSM.

Restrições

Dado que o tamanho do array é configurado de forma fixa através do comprimento máximo, deverá assegurar-se ao nível do utilizador que os dados úteis não excedem este limite, uma vez que o tipo estático não prevê um ajuste dinâmico do comprimento [SWS_Csm_00935]. Pergunta Q-2010ffc7191f874a (aberta)

Esta nota de utilização foi gerada automaticamente e baseia-se exclusivamente nos dados de especificação da versão AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

tipo Csm_MacGenerateResultType [SWS_Csm_00927] 📄 PDF

Array long enough to store the data of the MAC.

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

O tipo de dados Csm_MacGenerateResultType representa, de acordo com [SWS_Csm_00927], um array de bytes (tipo de elemento uint8) que serve para acomodar os dados de resultado de um Message Authentication Code (MAC) gerado.

Uso e dimensionamento

A especificação define o array como suficientemente longo para armazenar os dados do MAC ([SWS_Csm_00927]). O tamanho real do buffer é definido através do parâmetro de configuração CsmMacGenerateResultLength, que é configurado sob o caminho Csm/CsmPrimitives/CsmMacGenerate/CsmMacGenerateConfig ([SWS_Csm_00927]). Além disso, o tipo está sujeito a uma variação criptográfica através do nome curto da primitiva ({Crypto} ou ecuc/Csm/CsmPrimitives.SHORT-NAME) de acordo com [SWS_Csm_00927].

Disponibilidade e interface

O tipo é disponibilizado através do cabeçalho Rte_Csm_Type.h ([SWS_Csm_00927]). Isso demonstra que ele foi concebido primariamente para a transferência tipificada de dados através da interface RTE para disponibilização do valor de MAC calculado.

Restrições

Como se trata de uma definição estática de tipo, a instanciação concreta depende da pré-configuração do comprimento do MAC; outros parâmetros, códigos de erro ou requisitos de concorrência não são especificados para este tipo de dados em si ([SWS_Csm_00927]).

Este texto foi gerado por uma IA e serve como orientação com base nas especificações AUTOSAR.

Guia do implementador em breve (complexidade I1)

tipo Csm_MacVerifyDataType [SWS_Csm_00802] 📄 PDF

Array long enough to store the data for whichs MAC shall be verified.

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

O tipo de dados Csm_MacVerifyDataType está especificado como um array de elementos uint8 e serve como buffer para armazenar os dados para os quais um Message Authentication Code (MAC) deve ser verificado [SWS_Csm_00802].

Para a utilização e configuração deste tipo, aplicam-se as seguintes determinações:

  • Tamanho do buffer: o tamanho do array rege-se pelo parâmetro de configuração CsmMacVerifyDataMaxLength no contentor Csm/CsmPrimitives/CsmMacVerify/CsmMacVerifyConfig. Isto assegura que o array esteja suficientemente dimensionado para receber integralmente os dados de entrada a verificar [SWS_Csm_00802].
  • Variância e nomenclatura: a definição contém o critério de variância Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}, pelo que o identificador de tipo C concreto é gerado de forma específica do módulo no formato Csm_MacVerifyDataType_{Crypto} [SWS_Csm_00802].
  • Integração na interface: o tipo é exportado através do ficheiro de cabeçalho Rte_Csm_Type.h [SWS_Csm_00802]. Interpretação: a disponibilização neste cabeçalho permite concluir que o tipo deverá ser primariamente destinado à comunicação de interface suportada pela RTE entre componentes de software e o CSM. Pergunta Q-c49670b3de0ba19c (aberta)

Os programadores de aplicações devem ter em conta que o comprimento máximo dos dados úteis verificáveis está limitado pela configuração estática das primitivas e que os dados de entrada não podem exceder esta capacidade de buffer [SWS_Csm_00802].

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

Guia do implementador em breve (complexidade I1)

tipo Csm_MacVerifyCompareType [SWS_Csm_00803] 📄 PDF

Array long enough to store a MAC to be verified.

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

Utilização e estrutura

O tipo Csm_MacVerifyCompareType está definido de acordo com [SWS_Csm_00803] como um array de elementos uint8. Serve para receber o Message Authentication Code (MAC) a verificar, o qual deve ser comparado com o MAC calculado no âmbito de uma operação criptográfica.

A disponibilização do tipo é feita através do cabeçalho Rte_Csm_Type.h para a interface RTE [SWS_Csm_00803]. A designação concreta do tipo está sujeita a uma variação de nomenclatura através do nome da primitiva segundo o padrão Csm_MacVerifyCompareType_{Crypto}, em que {Crypto} é substituído pelo nome curto da primitiva (ecuc/Csm/CsmPrimitives.SHORT-NAME).

Configuração e dimensionamento

O tamanho do array mede-se de acordo com [SWS_Csm_00803] segundo a expressão CsmMacVerifyCompareLength/8 da configuração (ecuc(Csm/CsmPrimitives/CsmMacVerify/CsmMacVerifyConfig/CsmMacVerifyCompareLength)). Isto reflete o comprimento do valor de comparação MAC em bytes.

Tratamento de erros e condições de contorno

Sendo uma pura definição de tipo para um array de dados, Csm_MacVerifyCompareType não possui valores de retorno próprios e não gera códigos de erro diretos nem eventos DET/DEM. Aplicam-se, no entanto, as seguintes condições de contorno relacionadas com a aplicação:

  • Disponibilização do buffer: os chamadores deverão ser responsáveis por inicializar integralmente o array com o MAC de referência recebido antes da passagem a uma função de verificação. Pergunta Q-94b98958fd778057 (aberta)
  • Simultaneidade: por se tratar de uma estrutura de dados, o tipo em si é reentrante. Contudo, um acesso concorrente de leitura e escrita de múltiplas tarefas à mesma instância de array deverá levar a corrupções sem sincronização. Pergunta Q-148c0a523da7b402 (aberta)

Esta nota de uso baseia-se na especificação AUTOSAR CP R20-11 e foi criada de forma automatizada.

Guia do implementador em breve (complexidade I1)

tipo Csm_EncryptDataType [SWS_Csm_01921] 📄 PDF

Array long enough to store the data to be encrypted.

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

O tipo Csm_EncryptDataType define um byte array de elementos uint8 que serve para a receção dos dados a cifrar [SWS_Csm_01921]. É disponibilizado através do ficheiro de cabeçalho Rte_Csm_Type.h e permite que componentes de software realizem a passagem tipificada de dados para os serviços criptográficos do módulo [SWS_Csm_01921].

Estrutura e configuração

  • Elementos do array: Os elementos são do tipo base uint8 [SWS_Csm_01921].
  • Tamanho: O comprimento do array depende do parâmetro de configuração CsmEncryptDataMaxLength sob a respetiva configuração da primitiva CsmEncryptConfig [SWS_Csm_01921].
  • Variação de nome: O nome do tipo varia consoante a primitiva de acordo com o esquema Csm_EncryptDataType_{Crypto}, correspondendo {Crypto} ao nome abreviado (SHORT-NAME) da primitiva CSM configurada [SWS_Csm_01921].

Uso e restrições

Como definição de tipo pura, o elemento não possui reentrância própria nem tratamento de erros. Uma vez que o tamanho do array está rigidamente acoplado ao tamanho máximo de buffer da configuração, como interpretação o chamador deverá ter de assegurar, aquando do preenchimento, que os dados fornecidos não excedam o limite do buffer CsmEncryptDataMaxLength [SWS_Csm_01921]. Pergunta Q-4bf70d603b5679d3 (aberta)

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

Guia do implementador em breve (complexidade I1)

tipo Csm_EncryptResultType [SWS_Csm_01922] 📄 PDF

Array long enough to store the data of the cipher.

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

Uso e finalidade

O tipo de dados Csm_EncryptResultType está especificado como um byte array com o tipo de elemento uint8 e serve para a receção dos dados cifrados (resultado da cifra) de um procedimento de cifragem ([SWS_Csm_01922]). De acordo com a especificação, o array deve ser dimensionado de modo a ser suficientemente longo para receber todos os dados da cifra ([SWS_Csm_01922]).

Configuração e variantes

A definição do tipo de dados está sujeita a uma variação com base nas primitivas criptográficas configuradas. Para cada primitiva é formado um identificador específico do tipo de acordo com o esquema Csm_EncryptResultType_{Crypto}, no qual {Crypto} corresponde ao nome abreviado da respetiva primitiva ([SWS_Csm_01922]). O tamanho estático de campo do array é determinado através do parâmetro de configuração CsmEncryptResultMaxLength sob Csm/CsmPrimitives/CsmEncrypt/CsmEncryptConfig/ ([SWS_Csm_01922]).

Integração e condições de contorno

O tipo de dados é exportado através do ficheiro de cabeçalho Rte_Csm_Type.h ([SWS_Csm_01922]). Interpretação: Devido à disponibilização através de Rte_Csm_Type.h, o tipo deverá estar concebido para a passagem padronizada de dados entre componentes de software aplicacionais e o Crypto Service Manager através de portas da RTE. Pergunta Q-6dc06520e3fd9dc6 (aberta) Na disponibilização do buffer, os utilizadores devem assegurar que os resultados da cifragem não excedam o comprimento máximo configurado CsmEncryptResultMaxLength ([SWS_Csm_01922]).

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

Guia do implementador em breve (complexidade I1)

tipo Csm_DecryptDataType [SWS_Csm_01923] 📄 PDF

Array long enough to store the data to be decrypted.

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

Utilização e estrutura de dados

O tipo Csm_DecryptDataType está definido na especificação do Crypto Service Manager como um array com elementos do tipo base uint8 [SWS_Csm_01923]. Serve como buffer de memória dedicado para os dados de entrada a decifrar [SWS_Csm_01923]. O dimensionamento do array é obrigatoriamente predefinido de forma a que a sua capacidade seja sempre suficientemente longa para receber totalmente os respetivos dados [SWS_Csm_01923].

Configuração e criação de variantes

O dimensionamento do array é efetuado estaticamente através do parâmetro de configuração ecuc(Csm/CsmPrimitives/CsmDecrypt/CsmDecryptConfig/CsmDecryptDataMaxLength) [SWS_Csm_01923]. Adicionalmente, o tipo de dados está sujeito a uma variação criptográfica de acordo com Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME} [SWS_Csm_01923]. Com isto, o identificador de tipo para a configuração concreta da primitiva é instanciado com o correspondente nome abreviado como Csm_DecryptDataType_{Crypto} [SWS_Csm_01923].

Integração e condições de contorno

A definição é disponibilizada para todo o sistema através do ficheiro de cabeçalho Rte_Csm_Type.h [SWS_Csm_01923]. Interpretação: A inclusão em Rte_Csm_Type.h permite concluir que o tipo se destina sobretudo a portas tipificadas e à troca de dados entre componentes de software e o módulo CSM através da RTE. Pergunta Q-6dcc31d5d7258088 (aberta) Dado que se trata de uma estrutura de dados e não de uma função, no âmbito da especificação não estão definidas semânticas de chamada síncronas ou assíncronas, nem diretrizes de reentrância ou mensagens de erro DET específicas [SWS_Csm_01923].

Este texto foi criado por uma IA. Ele não substitui o estudo da especificação oficial da AUTOSAR.

Guia do implementador em breve (complexidade I1)

tipo Csm_DecryptResultType [SWS_Csm_01924] 📄 PDF

Array long enough to store the data of the decrypted plaintext.

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

De acordo com [SWS_Csm_01924], o tipo de dados Csm_DecryptResultType está definido no módulo Csm como um array com elementos do tipo uint8. Serve como buffer de dados para o armazenamento dos dados de resultado de um texto claro decifrado e deve ter dimensões suficientes para receber o texto claro completo.

Para a configuração, disponibilização e estruturação do tipo, aplicam-se, de acordo com [SWS_Csm_01924], as seguintes determinações:

  • Disponibilidade do cabeçalho: A definição do tipo de dados é disponibilizada através do ficheiro de cabeçalho Rte_Csm_Type.h.
  • Dimensionamento do buffer: O tamanho do array é definido através do parâmetro de configuração CsmDecryptResultMaxLength (caminho Csm/CsmPrimitives/CsmDecrypt/CsmDecryptConfig/CsmDecryptResultMaxLength), ficando assim determinado estaticamente o espaço de memória máximo para o resultado da decifragem.
  • Variação criptográfica: O nome do tipo está sujeito a uma variação da primitiva de acordo com o esquema Csm_DecryptResultType_{Crypto}, sendo a forma concreta controlada através do elemento de configuração Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}.

No que diz respeito ao contexto de chamada, concorrência e tratamento de erros, [SWS_Csm_01924] contém exclusivamente a definição do tipo sem lógica funcional própria. Interpretação: O tipo deverá servir sobretudo em componentes de software utilizadores como estrutura de memória para receber dados de saída de operações de decifragem criptográfica do CSM. Pergunta Q-54c836ed946ee1f2 (aberta) Não estão definidos códigos de erro DET ou DEM específicos para este tipo de dados; contudo, os responsáveis pela configuração têm de garantir que o comprimento máximo configurado seja suficiente para todos os textos claros a processar.

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

Guia do implementador em breve (complexidade I1)

tipo Csm_AEADEncryptPlaintextType [SWS_Csm_01925] 📄 PDF

Array long enough to store the plaintext to be encrypted with AEAD.

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

Utilização e definição de tipo

De acordo com [SWS_Csm_01925], o tipo de dados Csm_AEADEncryptPlaintextType serve como buffer de dados para o texto claro que deve ser processado no âmbito de uma operação de cifragem AEAD (Authenticated Encryption with Associated Data). O tipo está definido como um byte array com o tipo de elemento uint8 e oferece espaço de memória suficiente para receber completamente o texto claro a cifrar.

Dimensionamento e variação

O tamanho concreto do buffer não é predefinido rigidamente, mas orienta-se pelo parâmetro de configuração CsmAEADEncryptPlaintextMaxLength da configuração da respetiva primitiva ([SWS_Csm_01925]). Além disso, o tipo está sujeito a uma variação de nome e estrutura: dependendo da primitiva criptográfica configurada, o identificador é expandido com o nome abreviado da primitiva (Csm_AEADEncryptPlaintextType_{Crypto}).

Integração e interface

De acordo com [SWS_Csm_01925], o tipo é disponibilizado através do cabeçalho Rte_Csm_Type.h. Isto corrobora a interpretação de que o tipo é disponibilizado principalmente no contexto da RTE AUTOSAR para componentes de software de aplicação, a fim de passar dados tipificados em texto claro para serviços criptográficos do CSM. Dado que se trata de uma simples declaração de tipo, a especificação não define códigos de erro próprios nem diretrizes de reentrância ao nível do tipo de dados.

Esta nota de utilização foi gerada automaticamente e baseia-se nas diretrizes da especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

tipo Csm_AEADEncryptAssociatedDataType [SWS_Csm_01928] 📄 PDF

Array long enough to store the data of the header.

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

O tipo de dados Csm_AEADEncryptAssociatedDataType define um byte array composto por elementos do tipo base uint8, que serve como buffer para a receção dos dados de cabeçalho ou dados adicionais associados em operações de cifragem AEAD [SWS_Csm_01928]. O tipo é disponibilizado através do ficheiro de cabeçalho Rte_Csm_Type.h e permite a troca tipificada de dados através da interface AUTOSAR RTE do Crypto Service Manager [SWS_Csm_01928].

O dimensionamento e a forma concreta do tipo dependem da configuração da primitiva criptográfica [SWS_Csm_01928]:

  • Tamanho do array: O tamanho do buffer é dimensionado de acordo com o parâmetro de configuração CsmAEADEncryptAssociatedDataMaxLength dentro da configuração Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig, assegurando-se assim que o array seja suficientemente longo para os dados de cabeçalho [SWS_Csm_01928].
  • Variação de nome: O elemento está sujeito a uma variação de nome específica da criptografia Csm_AEADEncryptAssociatedDataType_{Crypto}, correspondendo o marcador de posição {Crypto} ao nome abreviado da respetiva primitiva de CsmPrimitives.SHORT-NAME [SWS_Csm_01928].

Ao preencher o array, os chamadores têm de assegurar que o comprimento real dos dados de cabeçalho a transmitir não exceda o tamanho máximo configurado [SWS_Csm_01928]. Interpretação: Uma vez que os dados associados nos procedimentos AEAD permanecem não cifrados, mas são autenticados, o tipo de dados deverá servir primariamente para passar metadados específicos do protocolo de modo consistente entre a aplicação e o CSM. Pergunta Q-26b724044c51253f (aberta)

Este texto foi criado por uma IA; não substitui o estudo da especificação oficial.

Guia do implementador em breve (complexidade I1)

tipo Csm_AEADEncryptCiphertextType [SWS_Csm_01927] 📄 PDF

Array long enough to store the data of the cipher.

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

De acordo com [SWS_Csm_01927], o tipo de dados Csm_AEADEncryptCiphertextType serve como byte array para o armazenamento dos dados da cifra em operações de cifragem criptográfica AEAD no módulo AUTOSAR Classic Csm.

A especificação define o elemento de dados como um array constituído por elementos do tipo base uint8 [SWS_Csm_01927]. O tamanho fixo do buffer é determinado através do parâmetro de configuração CsmAEADEncryptCiphertextMaxLength dentro do caminho de configuração Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig [SWS_Csm_01927]. De acordo com o requisito, o array tem de ser dimensionado com comprimento suficiente para receber todos os dados da cifra [SWS_Csm_01927].

O identificador do tipo apresenta uma variação de nome dependente da primitiva: através do atributo de configuração Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}, o nome de tipo concreto é expandido para Csm_AEADEncryptCiphertextType_{Crypto} [SWS_Csm_01927]. Esta definição é disponibilizada para componentes de software de aplicação, bem como para o CSM, através do ficheiro de cabeçalho Rte_Csm_Type.h [SWS_Csm_01927].

Na utilização prática, os componentes chamadores deverão declarar buffers correspondentes para receber os resultados da cifragem de uma operação AEAD. Pergunta Q-af095525ea319451 (aberta) Contextos de chamada específicos, tratamentos de erro (como DET ou DEM), valores de retorno ou diretrizes de reentrância não estão definidos para esta estrutura de dados nas fontes.

Este texto foi criado por uma IA e baseia-se exclusivamente nos dados de especificação da versão R20-11 da AUTOSAR.

Guia do implementador em breve (complexidade I1)

tipo Csm_AEADEncryptTagType [SWS_Csm_01926] 📄 PDF

Array long enough to store the data of the Tag.

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

De acordo com [SWS_Csm_01926], o tipo de dados Csm_AEADEncryptTagType define um byte array (tipo de elemento uint8) que serve como buffer para os dados da tag de autenticação em operações de cifragem AEAD. De acordo com a especificação, o array foi dimensionado com comprimento suficiente para receber completamente os dados da tag [SWS_Csm_01926].

Relativamente à estrutura e configuração, aplicam-se as seguintes determinações de [SWS_Csm_01926]:

  • Tamanho do buffer: O dimensionamento do array é definido através do parâmetro de configuração CsmAEADEncryptTagLength sob Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig [SWS_Csm_01926].
  • Variante de nome: O nome do tipo possui uma variação criptográfica e é formado de acordo com o esquema Csm_AEADEncryptTagType_{Crypto}, no qual {Crypto} corresponde ao nome abreviado da respetiva primitiva (SHORT-NAME) [SWS_Csm_01926].
  • Inclusão do cabeçalho: O tipo é disponibilizado através do cabeçalho Rte_Csm_Type.h [SWS_Csm_01926].

Devido à disponibilidade em Rte_Csm_Type.h, o tipo de dados deverá destinar-se a interfaces de software padronizadas (interpretação: utilização para passagem de buffer em portas de componentes de software) [SWS_Csm_01926]. Pergunta Q-3cd2f6ae1229483e (aberta)

Esta nota de utilização foi gerada de forma automatizada com base no Release R20-11.

Guia do implementador em breve (complexidade I1)

tipo Csm_AEADDecryptCiphertextType [SWS_Csm_00922] 📄 PDF

Array long enough to store the ciphertext to be decrypted with AEAD.

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

Uso e estrutura

O tipo de dados Csm_AEADDecryptCiphertextType define, de acordo com [SWS_Csm_00922], um array de bytes baseado no tipo de elemento uint8. Ele serve como um buffer suficientemente dimensionado para acomodar o texto cifrado que deve ser descriptografado no âmbito de uma operação AEAD (Authenticated Encryption with Associated Data) [SWS_Csm_00922]. A disponibilização da definição de tipo ocorre através do arquivo de cabeçalho Rte_Csm_Type.h [SWS_Csm_00922].

Dimensionamento e variância

O dimensionamento do campo ocorre estaticamente com base no parâmetro de configuração CsmAEADDecryptCiphertextMaxLength dentro do ramo de configuração Csm/CsmAEADDecrypt/CsmAEADDecryptConfig [SWS_Csm_00922]. O array é projetado para comportar todo o texto cifrado a ser processado. Além disso, o nome do tipo está sujeito a uma variância criptográfica de acordo com o padrão Csm_AEADDecryptCiphertextType_{Crypto}, sendo a parte do identificador {Crypto} formada pelo nome curto da respectiva primitiva (CsmPrimitives.SHORT-NAME) [SWS_Csm_00922].

Interação e condições de contorno

Devido à definição em Rte_Csm_Type.h, o tipo provavelmente destina-se primariamente à conexão tipificada de componentes de software (SW-Cs) através de portas RTE ao Crypto Service Gateway ou CSM [SWS_Csm_00922]. Pergunta Q-35738ff5fc96c699 (aberta) Como o tamanho do array é definido de forma fixa no momento da configuração, os chamadores devem garantir que os dados de texto cifrado não excedam o comprimento máximo, a fim de excluir estouros de buffer em tempo de execução.

Este texto foi elaborado por uma IA e baseia-se no AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

tipo Csm_AEADDecryptAssociatedDataType [SWS_Csm_00923] 📄 PDF

Array long enough to store the data of the header.

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

O tipo de dados Csm_AEADDecryptAssociatedDataType é definido como um array de elementos do tipo uint8 e possui o padrão de nomenclatura dependente da formação Csm_AEADDecryptAssociatedDataType_{Crypto} [SWS_Csm_00923]. A finalidade deste tipo de dados é a disponibilização de uma área de memória suficientemente dimensionada para acomodar os dados de cabeçalho ou dados adicionais associados (Associated Data) de uma descriptografia autenticada (AEAD Decrypt) [SWS_Csm_00923].

O tamanho do array baseia-se no parâmetro de configuração CsmAEADDecryptAssociatedDataMaxLength no caminho de configuração Csm/CsmAEADDecrypt/CsmAEADDecryptConfig [SWS_Csm_00923]. Por meio da variância Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}, o identificador de tipo para a respectiva primitiva configurada no Crypto Service Manager é especializado pelo seu nome curto [SWS_Csm_00923]. Dessa forma, pode-se declarar para cada primitiva criptográfica um buffer específico com o comprimento máximo adequado.

O tipo de dados é exportado através do arquivo de cabeçalho Rte_Csm_Type.h [SWS_Csm_00923]. Como se trata de uma definição pura de tipo, a entrada não especifica códigos de erro, mensagens DET ou condições de reentrância. Como interpretação, o array provavelmente serve como buffer de dados tipificado para a transferência de dados acompanhantes não criptografados, mas a serem verificados criptograficamente, entre componentes de software e o CSM através da RTE. Pergunta Q-2f32bbe9a4489b27 (aberta)

Este texto foi gerado por uma inteligência artificial com base no AUTOSAR R20-11 e serve como orientação.

Guia do implementador em breve (complexidade I1)

tipo Csm_AEADDecryptTagType [SWS_Csm_01074] 📄 PDF

Array long enough to store the data of the Tag.

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

Uso e finalidade

O tipo de dados Csm_AEADDecryptTagType está definido como um array de bytes com o tipo de elemento uint8 e serve como área de memória dedicada para a receção dos dados da tag em operações de desencriptação AEAD [SWS_Csm_01074]. A disponibilização é feita através do ficheiro de cabeçalho Rte_Csm_Type.h [SWS_Csm_01074].

Dimensionamento e dependência de configuração

O dimensionamento do array é configurável e orienta-se pelo comprimento configurado da tag CsmAEADDecryptTagLength [SWS_Csm_01074]. O número de elementos é determinado através da expressão (({ecuc(Csm/CsmPrimitives/CsmAEADDecrypt/CsmAEADDecryptConfig/CsmAEADDecryptTagLength)}+7)/8) [SWS_Csm_01074]. Através deste cálculo, o comprimento da tag indicado em bits é convertido em bytes completos, sendo os comprimentos em bits não divisíveis por oito arredondados por excesso para o limite de byte seguinte.

O tipo está sujeito a uma variação de nome de acordo com o esquema Csm_AEADDecryptTagType_{Crypto}, sendo {Crypto} substituído pelo nome abreviado (SHORT-NAME) da respetiva configuração de primitiva [SWS_Csm_01074]. Desta forma, existe uma estrutura devidamente tipificada para cada instância de primitiva de desencriptação AEAD configurada.

Condições de integração e de contorno

A disponibilização através de Rte_Csm_Type.h deverá significar que este tipo se destina sobretudo a componentes de software em portas da AUTOSAR-RTE, a fim de transmitir a tag de autenticação ao Crypto Service Manager [SWS_Csm_01074]. Pergunta Q-2a0bebbb8e1d6b76 (aberta) Como o tipo não inclui fluxos de controlo próprios ou mecanismos de sincronização, a consistência dos dados no buffer é presumivelmente assegurada na totalidade pelo contexto chamador durante o ciclo de desencriptação.

Este texto foi gerado por uma IA e baseia-se exclusivamente nos dados de especificação do AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

tipo Csm_AEADDecryptPlaintextType [SWS_Csm_01075] 📄 PDF

Array long enough to store the data of the plaintext.

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

Utilização e estrutura

O tipo de dados Csm_AEADDecryptPlaintextType ou a sua variante específica da primitiva Csm_AEADDecryptPlaintextType_{Crypto} está definido como um array de bytes com elementos do tipo uint8 [SWS_Csm_01075]. Serve para disponibilizar um buffer suficientemente dimensionado para o armazenamento dos dados de texto simples numa desencriptação AEAD (Authenticated Encryption with Associated Data) [SWS_Csm_01075]. O tamanho fixo do array é determinado através do parâmetro de configuração CsmAEADDecryptPlaintextMaxLength dentro da configuração da respetiva primitiva de desencriptação AEAD [SWS_Csm_01075]. Através do cabeçalho Rte_Csm_Type.h, o tipo de dados é disponibilizado para componentes de software, sendo o nome do tipo associado ao nome abreviado das primitivas configuradas do CSM através da variação Crypto [SWS_Csm_01075].

Tratamento de erros e simultaneidade

Dado que se trata de uma mera definição de tipo, o elemento não define valores de retorno próprios, códigos de erro ou mensagens DET [SWS_Csm_01075]. A principal condição funcional de contorno reside no comprimento máximo estaticamente definido: dados de texto simples que excedam o limite configurado não podem ser acomodados neste buffer [SWS_Csm_01075]. Interpretação: o tipo deverá servir primariamente para a passagem tipificada de dados através de portas RTE, quando SWCs recebem resultados de serviços de desencriptação de forma assíncrona ou síncrona. Pergunta Q-2de04243d7f996c8 (aberta) Os chamadores devem presumivelmente assegurar de forma autónoma que os limites do buffer são respeitados e que os acessos simultâneos de escrita ou leitura são sincronizados de forma thread-safe entre múltiplas tarefas.

Esta nota de utilização foi gerada por uma IA e baseia-se nas definições da especificação AUTOSAR.

Guia do implementador em breve (complexidade I1)

tipo Csm_SignatureGenerateDataType [SWS_Csm_01083] 📄 PDF

Array long enough to store the data from which the signature shall be generated.

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

De acordo com [SWS_Csm_01083], o tipo Csm_SignatureGenerateDataType define um array de elementos uint8 que serve como buffer para a receção dos dados a partir dos quais deve ser gerada uma assinatura criptográfica. A nomenclatura concreta no código-fonte é específica da primitiva e segue o padrão Csm_SignatureGenerateDataType_{Crypto}, sendo o identificador variado através do nome abreviado da primitiva criptográfica configurada [SWS_Csm_01083].

O dimensionamento estático do campo de dados é determinado através do parâmetro de configuração CsmSignatureGenerateDataMaxLength [SWS_Csm_01083]. O tipo de dados é disponibilizado através do ficheiro de cabeçalho Rte_Csm_Type.h [SWS_Csm_01083]. Interpretação: Devido à disponibilização através de Rte_Csm_Type.h, o tipo de array deverá estar previsto primariamente para a passagem tipificada de dados em portas da RTE entre componentes de software e o módulo CSM. Pergunta Q-dcc731a5b8961aef (aberta)

Na configuração e utilização, deve ter-se em conta que CsmSignatureGenerateDataMaxLength define o limite superior fixo do array [SWS_Csm_01083]. Os utilizadores devem assegurar através de configuração que o tamanho do buffer seja suficiente para todos os dados de entrada da geração de assinaturas que ocorram em operação, uma vez que o array é alocado estaticamente.

Este texto foi gerado por uma IA. Todas as informações técnicas baseiam-se exclusivamente nas fontes de especificação.

Guia do implementador em breve (complexidade I1)

tipo Csm_SignatureGenerateResultType [SWS_Csm_01077] 📄 PDF

Array long enough to store the signature and its length.

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

O tipo de dados Csm_SignatureGenerateResultType define, de acordo com [SWS_Csm_01077], um array de bytes com base em uint8, que serve para a acomodação de uma assinatura criptográfica gerada bem como da respetiva indicação de comprimento. O tipo é declarado através do cabeçalho Rte_Csm_Type.h e disponibiliza o buffer de saída padronizado para operações de assinatura no Crypto Service Manager.

A estrutura e o dimensionamento do tipo são configuráveis:

  • Tamanho do buffer: o número de elementos uint8 é especificado através do parâmetro de configuração CsmSignatureGenerateResultLength da respetiva configuração de geração de assinatura ([SWS_Csm_01077]).
  • Variante do nome: o identificador contém o sufixo _{Crypto}, que corresponde ao nome abreviado da primitiva configurada ([SWS_Csm_01077]).

Dado que se trata de uma mera definição de tipo, [SWS_Csm_01077] não contém qualquer especificação de códigos de erro, mensagens DET ou propriedades de reentrância. A semântica em tempo de execução e a transmissão de buffers deverão reger-se pelas convenções de chamada síncronas ou assíncronas das interfaces de serviço do CSM. Pergunta Q-3304c06a29f069a2 (aberta) Os chamadores devem assegurar que o tamanho configurado do array é sempre suficiente para a assinatura a acolher, incluindo o valor do comprimento.

Este texto foi criado por uma IA e baseia-se no excerto da especificação AUTOSAR.

Guia do implementador em breve (complexidade I1)

tipo Csm_SignatureVerifyDataType [SWS_Csm_01078] 📄 PDF

Array long enough to store the data for whichs signature shall be verified.

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

O tipo de dados Csm_SignatureVerifyDataType está definido, de acordo com [SWS_Csm_01078], como um array de bytes com o tipo de elemento uint8 e serve para o armazenamento temporário de dados cuja assinatura deve ser verificada.

Para a configuração e utilização do tipo aplicam-se, de acordo com [SWS_Csm_01078], as seguintes determinações:

  • Dimensionamento do array: o tamanho do campo corresponde ao valor de configuração CsmSignatureVerifyDataMaxLength do caminho de configuração Csm/CsmPrimitives/CsmSignatureVerify/CsmSignatureVerifyConfig, de modo que o array esteja suficientemente dimensionado para acolher a totalidade dos dados a verificar.
  • Variação do nome: o nome do tipo varia consoante a respetiva primitiva criptográfica de acordo com o esquema Csm_SignatureVerifyDataType_{Crypto}, onde {Crypto} corresponde ao nome abreviado CsmPrimitives.SHORT-NAME.
  • Disponibilização do cabeçalho: a definição de tipo está disponível através do ficheiro de cabeçalho Rte_Csm_Type.h.

Interpretação: através da disponibilização em Rte_Csm_Type.h, o tipo deverá destinar-se principalmente a componentes de software na interface RTE, para transmitir dados úteis até ao comprimento máximo configurado ao Crypto Service Manager para a verificação de assinatura [SWS_Csm_01078]. Pergunta Q-c1541703c2bcd199 (aberta)

Este texto foi gerado por uma IA e serve como orientação. A especificação AUTOSAR é determinante.

Guia do implementador em breve (complexidade I1)

tipo Csm_SignatureVerifyCompareType [SWS_Csm_01079] 📄 PDF

Array long enough to store a signature to be verified.

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

O tipo Csm_SignatureVerifyCompareType define um array de bytes com base em uint8, que disponibiliza espaço de memória suficiente para uma assinatura criptográfica a verificar ([SWS_Csm_01079]). É disponibilizado através do cabeçalho Rte_Csm_Type.h e permite que componentes de software tenham acesso tipificado a dados de comparação de assinaturas ([SWS_Csm_01079]).

Configuração e variância

O tamanho concreto do array não é predefinido de forma fixa, dependendo do valor de configuração CsmSignatureVerifyCompareLength da configuração de verificação de assinatura da respetiva primitiva ([SWS_Csm_01079]). Além disso, o tipo está sujeito a uma variação de nome através do nome abreviado da primitiva criptográfica (Crypto = {ecuc/Csm/CsmPrimitives.SHORT-NAME}), de modo que o identificador tipificado é formado como Csm_SignatureVerifyCompareType_{Crypto} ([SWS_Csm_01079]).

Aspetos de utilização e condições de contorno

  • Contexto de chamada e semântica: Sendo uma estrutura de dados pura, o elemento não possui semântica síncrona ou assíncrona autónoma. A instanciação é normalmente realizada pelo chamador dos serviços de verificação do módulo ([SWS_Csm_01079]).
  • Tratamento de erros: A definição do tipo não define códigos de erro próprios nem mensagens DET/DEM ([SWS_Csm_01079]). Interpretação: Uma validação do comprimento do buffer ou da integridade dos ponteiros deverá ocorrer nas funções utilizadoras do CSM. Pergunta Q-60454c8a7d8035cf (aberta)
  • Concorrência: Para definições de tipos puras não existem restrições de reentrância; o acesso concorrente a instâncias de buffer deve ser coordenado pelos módulos utilizadores ([SWS_Csm_01079]).

Este texto foi gerado por uma IA. Ele baseia-se exclusivamente nas especificações da release AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

tipo Csm_RandomGenerateResultType [SWS_Csm_00930] 📄 PDF

Array long enough to store the data of the random number.

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

Uso e finalidade

O tipo de dados Csm_RandomGenerateResultType é definido como array e serve como uma área de memória estruturada para armazenar os dados de resultado de um número aleatório gerado [SWS_Csm_00930]. Os elementos individuais do array possuem o tipo base uint8, pelo que o número aleatório resultante é mapeado como uma sequência contígua de bytes [SWS_Csm_00930].

Configuração e criação de variantes

O tamanho do buffer não é passado dinamicamente, mas definido estaticamente através da configuração do módulo: a quantidade de elementos do array baseia-se no parâmetro de configuração CsmRandomGenerateResultLength sob o caminho Csm/CsmPrimitives/CsmRandomGenerate/CsmRandomGenerateConfig [SWS_Csm_00930]. Além disso, o identificador está sujeito a uma variação de nomenclatura específica de criptografia de acordo com o esquema Csm_RandomGenerateResultType_{Crypto}, em que o sufixo corresponde ao nome curto da respectiva primitiva [SWS_Csm_00930]. Dessa forma, cada instância configurada da geração aleatória recebe um buffer em conformidade com o tipo e de comprimento adequado.

Integração e condições de contorno

A declaração do tipo é disponibilizada através do arquivo de cabeçalho Rte_Csm_Type.h [SWS_Csm_00930]. Interpretação: como a disponibilização ocorre através do cabeçalho da RTE, este tipo de dados deve provavelmente ser previsto para Application Software Components a fim de receber valores aleatórios de forma type-safe através de portas. Pergunta Q-ea993612037bec12 (aberta) Contextos concretos de chamada de API, códigos de erro ou aspectos de concorrência não estão ancorados no tipo em si, mas sim nos serviços CSM associados, enquanto este tipo assegura o requisito de memória estática [SWS_Csm_00930].

Esta nota de uso foi criada por uma IA e baseia-se na especificação AUTOSAR CP R20-11.

tipo Csm_LengthPtr [SWS_Csm_91045] 📄 PDF

Implementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the length.

tipo Csm_VerifyResultPtr [SWS_Csm_91046] 📄 PDF

Implementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return asynchronously the verify result.

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

Utilização e semântica

O tipo Csm_VerifyResultPtr é um AUTOSAR-Implementation-Data-Type da categoria DATA_REFERENCE, cujo destino do ponteiro é Csm_VerifyResultType (formalmente Csm_VerifyResultType*) [SWS_Csm_91046]. A definição do tipo é disponibilizada por meio do cabeçalho Rte_Csm_Type.h e fica, assim, disponível para componentes de aplicação através da RTE, bem como para módulos de software básico [SWS_Csm_91046].

A função operacional de Csm_VerifyResultPtr consiste em retornar o resultado da verificação em operações criptográficas assíncronas [SWS_Csm_91046]. Na execução assíncrona, o ponteiro aponta para um buffer reservado pelo chamador, no qual o módulo Csm grava o resultado após a conclusão da verificação [SWS_Csm_91046].

Simultaneidade e restrições

Como Csm_VerifyResultPtr é explicitamente previsto para a resposta assíncrona [SWS_Csm_91046], os usuários devem assegurar que a validade do objeto de destino referenciado seja mantida durante toda a duração da operação. Os seguintes aspectos devem ser considerados:

  • A área de memória referenciada do tipo Csm_VerifyResultType provavelmente deve permanecer válida e protegida durante todo o tempo de execução assíncrona até a chegada da resposta (interpretação: prevenção de acessos de escrita a endereços de memória inválidos). Pergunta (aberta)
  • Os chamadores presumivelmente não devem direcionar o ponteiro para variáveis voláteis da pilha (stack) se a função chamadora puder ser encerrada antes da conclusão da tarefa assíncrona. Pergunta (aberta)

Esta nota de uso foi gerada automaticamente e baseia-se exclusivamente nos dados de especificação do módulo CSM.

tipo Crypto_KeyStatusType [SWS_Csm_91102] 📄 PDF

Enumeration for key status.

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

O tipo enumerado Crypto_KeyStatusType define o status de validade de chaves criptográficas e é disponibilizado por meio do arquivo de cabeçalho Rte_Csm_Type.h [SWS_Csm_91102].

Faixa de valores e semântica

O tipo compreende dois valores [SWS_Csm_91102]:

  • CRYPTO_KEYSTATUS_INVALID (0x00): O status da chave é inválido. Isso ocorre, por exemplo, quando a função Csm_KeySetValid ainda não foi executada após a definição de um elemento de chave por meio de Csm_KeyElementSet.
  • CRYPTO_KEYSTATUS_VALID (0x01): A chave é válida, por exemplo, após o status ter sido definido pela chamada bem-sucedida de Csm_KeySetValid.

Condições de sequenciamento e interação

A lógica de estados vincula a validade diretamente aos fluxos de atualização do gerenciamento de chaves: cada modificação de elementos de chave coloca a chave em um estado intermediário inválido, que só é finalizado pela validação explícita via Csm_KeySetValid [SWS_Csm_91102]. Interpretação: Os chamadores e os serviços criptográficos provavelmente devem, portanto, pressupor o status CRYPTO_KEYSTATUS_VALID antes da execução de operações criptográficas, a fim de excluir falhas de funcionamento decorrentes de dados de chave incompletos. Pergunta Q-7ad50e0568814efa (aberta)

Este texto foi gerado por uma IA; baseia-se exclusivamente no payload da especificação e não substitui a consulta à documentação AUTOSAR.

Guia do implementador em breve (complexidade I1)

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

Record
AUTOSAR/AP/record/CP_MOD_Csm
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Csm@rel:R20-11#c2b21dbe
Content hash
c2b21dbe
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CryptoServiceManager.pdf#nameddest=SWS_Csm_00646

Mapa de temas

Inicialização e estado

2

Callouts e interfaces esperadas

1

Vista de detalhes

Selecione uma entrada no índice.

Inicialização e estado

Returns the version information of this module.

void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);
Csm_Init função

Initializes the CSM module. In configurations, in which Csm is assigned to more than one partition (i.e. Csm_ Main Functions are mapped to partitions), Csm may provide one init function per partition.

void Csm_Init (const Csm_ConfigType* configPtr);

Serviços · Key…

Csm_KeyCopy função

This function shall copy all key elements from the source key to a target key. Ava ilable via Csm.h

Std_ReturnType Csm_KeyCopy (const uint32 keyId, const uint32 targetKeyId);
Csm_KeyDerive função

Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the k ey element with the id 1 of the key identified by target Crypto Key Id.

Std_ReturnType Csm_KeyDerive (uint32 keyId, uint32 targetKeyId);

Service Csm_KeyElementCopyManager.

Std_ReturnType Csm_KeyElementCopy (const uint32 keyId, const uint32 keyElementId, const uint32 targetKeyId, const uint32 targetKeyElementId);

Service Csm_KeyElementCopyPartial.

Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);

Service Csm_KeyElementGet.

Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);

Sets the given key element bytes to the key identified by key Id.

Std_ReturnType Csm_KeyElementSet (uint32 keyId, uint32 keyElementId, const uint8* keyElementPtr, uint32 keyElementLength);

Calculates the public value of the current user for the key exchange and stores the pub lic key in the memory location pointed by the public value pointer.

Std_ReturnType Csm_KeyExchangeCalcPubVal (uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.

Std_ReturnType Csm_KeyExchangeCalcSecret (uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

Generates new key material and store it in the key identified by key Id.

Std_ReturnType Csm_KeyGenerate (uint32 keyId);

Returns the key state of the key identified by key Id.

Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);

Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.

Std_ReturnType Csm_KeySetInvalid (uint32 keyId);

Sets the key state of the key identified by key Id to valid.

Std_ReturnType Csm_KeySetValid (uint32 keyId);

Serviços · Job…

Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the key element with the id 1 of the key identified by target Crypto

Std_ReturnType Csm_JobKeyDerive (uint32 jobId, uint32 keyId, uint32 targetKeyId);

Calculates the public value of the current user for the key exchange and stores the

Std_ReturnType Csm_JobKeyExchangeCalcPubVal (uint32 jobId, uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.

Std_ReturnType Csm_JobKeyExchangeCalcSecret (uint32 jobId, uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

Generates new key material and stores it in the key identified by key Id.

Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);

Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.

Std_ReturnType Csm_JobKeySetInvalid (uint32 jobId, uint32 keyId);

Stores the key if necessary and sets the key state of the key identified by key Id to valid.

Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId);

Provides a new seed for the specified key that is used for an associated random number generator.

Std_ReturnType Csm_JobRandomSeed (uint32 jobId, uint32 keyId, const uint8* seedPtr, Manager uint32 seedLength);

Serviços · Outros

Service Csm_AEADDecryptManager.

Std_ReturnType Csm_AEADDecrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* ciphertextPtr, uint32 ciphertextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, const uint8* tagPtr, uint32 tagLength, uint8* plaintextPtr, uint32* plaintextLengthPtr, Crypto_VerifyResultType* verifyPtr);

Service Csm_AEADEncrypt.

Std_ReturnType Csm_AEADEncrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* plaintextPtr, uint32 plaintextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, uint8* ciphertextPtr, uint32* ciphertextLengthPtr, uint8* tagPtr, uint32* tagLengthPtr);

Notifies the CSM that a job has finished. This function is used by the underlying layer (CRYIF).

void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);
Csm_CancelJob função

Cancels the job processing from asynchronous or streaming jobs .

Csm_Decrypt função

Service Csm_Decrypt.

Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Csm_Encrypt função

Service Csm_Encrypt.

Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Csm_Hash função

Uses the given data to perform the hash calculation and stores the hash.

Std_ReturnType Csm_Hash (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);

Service Csm_MacGenerate.

Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);
Csm_MacVerify função

Service Csm_MacVerify.

Std_ReturnType Csm_MacVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* macPtr, const uint32 macLength, Crypto_VerifyResultType* verifyPtr);

Generate a random number and stores it in the memory location pointed by th e result pointer.

Std_ReturnType Csm_RandomGenerate (uint32 jobId, uint8* resultPtr, uint32* resultLengthPtr);

Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager

Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);

The Crypto Driver extracts the context data from the context Buffer and restores the internal state so that further crypto operation of this crypto service will continue at the exact point when the context was taken.

Std_ReturnType Csm_RestoreContextJob (uint32 jobId, uint8* contextBufferPtr, uint32 contextBufferLength);

The Crypto Driver stores the internal context of the respective crypto operation to the context Buffer.

Std_ReturnType Csm_SaveContextJob (uint32 jobId, uint8* contextBufferPtr, uint32* contextBufferLengthPtr);

Service Csm_SignatureGenerate.

Std_ReturnType Csm_SignatureGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* signaturePtr, uint32* signatureLengthPtr);

Service Csm_SignatureVerify.

Std_ReturnType Csm_SignatureVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* signaturePtr, uint32 signatureLength, Crypto_VerifyResultType* verifyPtr);

Callouts e interfaces esperadas

CSM notifies the application that a job has finished. The function name is configurable. The function name itself is derived from "{Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func".

void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);

Cíclico

API to be called cyclically to process the requested jobs. The Csm_ Main Function shall check the queues for jobs to pass to the underlying CRYIF. Per configured Csm Main Function ins tance one Csm_ Main Function_ shall be implemented. Hereby is the short name of the Csm Main Function configuration container in the ECU configuration.

void Csm_MainFunction (void);

Tipos

Type Crypto_AlgorithmFamilyType.

Structure which determines the exact algorithm. Note, not every algorithm needs to specify all fields. AUTOSAR shall only allow valid combinations.

Type Crypto_AlgorithmModeType.

Defines which of the input/ output parameters are re - directed to a key element. The values can be combined to define a bit field.

Structure which contains further information, which depends on the job and the crypto primitive.

Type Crypto_JobPrimitiveInputOutputType.

Type Crypto_JobRedirectionInfoType.

Enumeration of the current job state.

Structure which contains further information, which depends on the job and the crypto primitive.

Enumeration for key status.

Enume ration which operation shall be performed. This enumeration is constructed from a bit mask, where the first bit indicates "Start", the second "Update" and the third "Finish".

Structure which contains basic information about the crypto primitive. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager

Enumeration of the processing type.

Return for Std_ Return Type for Cryptostack.

Enumeration of the kind of the service.

Enumeration of the result type of verification operations.

Array long enough to store the data of the header.

Array long enough to store the ciphertext to be decrypted with AEAD.

Array long enough to store the data of the plaintext.

Array long enough to store the data of the Tag.

Array long enough to store the data of the header.

Array long enough to store the data of the cipher.

Array long enough to store the plaintext to be encrypted with AEAD.

Array long enough to store the data of the Tag.

Identification of a CSM service configuration via a numeric identifier, that is unique within a service. The name of a CSM service configuration, i.e. the name of the container Csm_Config, shall serve as a symbolic name for this parameter Avail able via Csm.h

Configuration data structure of Csm module

Array long enough to store the data to be decrypted.

Array long enough to store the data of the decrypted plaintext.

Array long enough to store the data to be encrypted.

Array long enough to store the data of the cipher.

Array long enough to store the data which shall be hashed.

Array long enough to store the data of the hash.

Array long enough to store any key element of the considered key

Implementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the length.

Array long enough to store the data from which a MAC shall be generated.

Array long enough to store the data of the MAC.

Array long enough to store a MAC to be verified.

Array long enough to store the data for whichs MAC shall be verified.

Array long enough to store the data of the random number.

Array long enough to store the data from which the signature shall be generated.

Array long enough to store the signature and its length.

Array long enough to store a signature to be verified.

Array long enough to store the data for whichs signature shall be verified.

Implementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return asynchronously the verify result.