Crypto Service Manager (CSM)
Provides standardized cryptographic services (encryption, hashing, digital signatures, key management) to applications and BSW.
Funktionen — Übersicht
void Csm_Init (const Csm_ConfigType* configPtr);Initializes the CSM module.void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.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.Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);Service Csm_MacGenerate.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.Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);Service Csm_Encrypt.Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);Service Csm_Decrypt.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.Std_ReturnType Csm_AEADDecryptManager (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.Std_ReturnType Csm_SignatureGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* signaturePtr, uint32* signatureLengthPtr);Service Csm_SignatureGenerate.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.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.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.Std_ReturnType Csm_KeySetValid (uint32 keyId);Sets the key state of the key identified by key Id to valid.Std_ReturnType Csm_KeySetInvalid (uint32 keyId);Sets the key status to invalid.Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);Returns the key state of the key identified by key Id.Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);Service Csm_KeyElementGet.Std_ReturnType Csm_KeyElement Csm_KeyElementCopyManager (const uint32 keyId, const uint32 keyElementId, const uint32 targetKeyId, const uint32 targetKeyElementId); ⚠️Service Csm_KeyElementCopyManager.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.Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);Service Csm_KeyElementCopyPartial.Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed.Std_ReturnType Csm_KeyGenerate (uint32 keyId);Generates new key material and store it in the key identified by key Id.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.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...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...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.Std_ReturnType Csm_JobKeySetInvalid (uint32 jobId, uint32 keyId);Sets the key status to invalid.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.Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);Generates new key material and stores it in the key identified by key Id.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.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 theStd_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...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.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...Std_ReturnType Csm_CancelJob (uint32 job, Crypto_OperationModeType mode);Cancels the job processing from asynchronous or streaming jobs.void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);Notifies the CSM that a job has finished.void Csm_MainFunction (void);API to be called cyclically to process the requested jobs.void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);CSM notifies the application that a job has finished.
Typen — Übersicht
struct Csm_ConfigTypeConfiguration data structure of Csm moduleCrypto_AlgorithmFamilyTypeType Crypto_AlgorithmFamilyType.enum Crypto_AlgorithmModeTypeType Crypto_AlgorithmModeType.struct Crypto_InputOutputRedirectionConfigTypeDefines which of the input/ output parameters are re - directed to a key element.struct Crypto_JobTypeStructure which contains further information, which depends on the job and the crypto primitive.enum Crypto_JobStateTypeEnumeration of the current job state.Crypto_JobPrimitiveInputOutputTypeType Crypto_JobPrimitiveInputOutputType.struct Crypto_JobPrimitiveInfoTypeStructure which contains further information, which depends on the job and the crypto primitive.enum Crypto_ServiceInfoTypeEnumeration of the kind of the service.Crypto_JobRedirectionInfoTypeType Crypto_JobRedirectionInfoType.struct Crypto_AlgorithmInfoTypeStructure which determines the exact algorithm.enum Crypto_ProcessingTypeEnumeration of the processing type.struct Crypto_PrimitiveInfoTypeStructure which contains basic information about the crypto primitive.Csm_ConfigIdTypeIdentification of a CSM service configuration via a numeric identifier, that is unique within a service.enum Crypto_OperationModeTypeEnume ration which operation shall be performed.enum Crypto_VerifyResultTypeEnumeration of the result type of verification operations.Csm_KeyDataTypeArray long enough to store any key element of the considered keyenum Crypto_ResultTypeReturn for Std_ Return Type for Cryptostack.Csm_HashDataTypeArray long enough to store the data which shall be hashed.enum Csm_HashResultTypeArray long enough to store the data of the hash.Csm_MacGenerateDataTypeArray long enough to store the data from which a MAC shall be generated.enum Csm_MacGenerateResultTypeArray long enough to store the data of the MAC.Csm_MacVerifyDataTypeArray long enough to store the data for whichs MAC shall be verified.Csm_MacVerifyCompareTypeArray long enough to store a MAC to be verified.Csm_EncryptDataTypeArray long enough to store the data to be encrypted.enum Csm_EncryptResultTypeArray long enough to store the data of the cipher.Csm_DecryptDataTypeArray long enough to store the data to be decrypted.enum Csm_DecryptResultTypeArray long enough to store the data of the decrypted plaintext.Csm_AEADEncryptPlaintextTypeArray long enough to store the plaintext to be encrypted with AEAD.Csm_AEADEncryptAssociatedDataTypeArray long enough to store the data of the header.Csm_AEADEncryptCiphertextTypeArray long enough to store the data of the cipher.Csm_AEADEncryptTagTypeArray long enough to store the data of the Tag.Csm_AEADDecryptCiphertextTypeArray long enough to store the ciphertext to be decrypted with AEAD.Csm_AEADDecryptAssociatedDataTypeArray long enough to store the data of the header.Csm_AEADDecryptTagTypeArray long enough to store the data of the Tag.Csm_AEADDecryptPlaintextTypeArray long enough to store the data of the plaintext.Csm_SignatureGenerateDataTypeArray long enough to store the data from which the signature shall be generated.enum Csm_SignatureGenerateResultTypeArray long enough to store the signature and its length.Csm_SignatureVerifyDataTypeArray long enough to store the data for whichs signature shall be verified.Csm_SignatureVerifyCompareTypeArray long enough to store a signature to be verified.enum Csm_RandomGenerateResultTypeArray long enough to store the data of the random number.Csm_LengthPtrImplementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the...Csm_VerifyResultPtrImplementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return...enum Crypto_KeyStatusTypeEnumeration for key status.
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.
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 tipoconst 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_MainFunctionestiverem 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_GetVersionInfo [SWS_Csm_00705] 📄 PDF
void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
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.
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.dataPtredataLength: 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 bufferresultPtrem 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.
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.
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
dataLengthindica o número de bytes de dados paradataPtr,macLengthrequer 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.
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 tipoCrypto_OperationModeType).dataPtredataLength: 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 deresultPtr; 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.
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.
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.
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
plaintextPtrrecebe o texto simples desencriptado. O ponteiroplaintextLengthPtrdeve 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.
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.
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.
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.
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.
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.
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.
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 tipoCrypto_KeyStatusTypena 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.
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 dekeyElementPtrem 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 dekeyElementIdnã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.
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
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.
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
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.
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.
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.
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 bufferpublicValuePtr; 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.
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.
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]:
E_OK: A solicitação foi bem-sucedida [SWS_Csm_91027].E_NOT_OK: a solicitação falhou [SWS_Csm_91027].CRYPTO_E_BUSY: A solicitação falhou porque o Crypto Driver Object responsável está ocupado [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.
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]:
jobId: identificador do job CSM que utiliza este serviço [SWS_Csm_91002].keyId: identificador da chave que deve ser invalidada [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]:
E_OK: A solicitação foi bem-sucedida [SWS_Csm_91002].E_NOT_OK: A solicitação falhou [SWS_Csm_91002].CRYPTO_E_BUSY: o pedido falhou porque o Crypto Driver Object responsável está ocupado [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.
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.
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]:
E_OK: A solicitação foi bem-sucedida [SWS_Csm_91029].E_NOT_OK: A solicitação falhou [SWS_Csm_91029].CRYPTO_E_BUSY: o serviço ainda está atualmente ocupado [SWS_Csm_91029].CRYPTO_E_KEY_NOT_VALID: o estado da chave é inválido (invalid) [SWS_Csm_91029].CRYPTO_E_KEY_EMPTY: o pedido falhou devido a um elemento de chave de origem não inicializado [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
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
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 bufferpublicValuePtr; 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.
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.
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 valor0.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 como0.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.
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 .
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).
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_
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".
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 Csm_ConfigType [SWS_Csm_01085] 📄 PDF
Configuration data structure of Csm module
tipo Crypto_AlgorithmFamilyType [SWS_Csm_01047] 📄 PDF
Type Crypto_AlgorithmFamilyType.
tipo Crypto_AlgorithmModeType [SWS_Csm_01048] 📄 PDF
Type Crypto_AlgorithmModeType.
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_GCMbem comoCRYPTO_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_PSSeCRYPTO_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 comoCRYPTO_ALGOMODE_PXXXR1[SWS_Csm_01048]. - Estados especiais: com
CRYPTO_ALGOMODE_NOT_SET(0x00) é sinalizada uma chave de algoritmo não definida, enquantoCRYPTO_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.
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.
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 deCsm_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_JobPrimitiveInputOutputType [SWS_Csm_01009] 📄 PDF
Type Crypto_JobPrimitiveInputOutputType.
tipo Crypto_JobPrimitiveInfoType [SWS_Csm_01012] 📄 PDF
Structure which contains further information, which depends on the job and the crypto primitive.
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_ServiceInfoType [SWS_Csm_01031] 📄 PDF
Enumeration of the kind of the service.
tipo Crypto_JobRedirectionInfoType [SWS_Csm_91026] 📄 PDF
Type Crypto_JobRedirectionInfoType.
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.
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_ProcessingType [SWS_Csm_01049] 📄 PDF
Enumeration of the processing type.
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
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_
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".
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.
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(valor0x00ou0): o resultado da verificação é «true», os dois elementos comparados são, portanto, idênticos [SWS_Csm_01024].CRYPTO_E_VER_NOT_OK(valor0x01ou1): 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 Csm_KeyDataType [SWS_Csm_00828] 📄 PDF
Array long enough to store any key element of the considered key
tipo Crypto_ResultType [SWS_Csm_91044] 📄 PDF
Return for Std_ Return Type for Cryptostack.
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 eCRYPTO_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.
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.
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.
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.
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.
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
CsmMacVerifyDataMaxLengthno contentorCsm/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 formatoCsm_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.
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.
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
CsmEncryptDataMaxLengthsob a respetiva configuração da primitivaCsmEncryptConfig[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.
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.
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.
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(caminhoCsm/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çãoCrypto={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.
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.
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
CsmAEADEncryptAssociatedDataMaxLengthdentro da configuraçãoCsm/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 deCsmPrimitives.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.
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.
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
CsmAEADEncryptTagLengthsobCsm/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.
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.
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.
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.
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.
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.
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çãoCsmSignatureGenerateResultLengthda 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.
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
CsmSignatureVerifyDataMaxLengthdo caminho de configuraçãoCsm/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 abreviadoCsmPrimitives.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.
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.
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.
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_VerifyResultTypeprovavelmente 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.
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çãoCsm_KeySetValidainda não foi executada após a definição de um elemento de chave por meio deCsm_KeyElementSet.CRYPTO_KEYSTATUS_VALID(0x01): A chave é válida, por exemplo, após o status ter sido definido pela chamada bem-sucedida deCsm_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
gemini-3.8-flash-low· 2026-10-13 · Original em alemão