Crypto Interface (CryIf)
Abstracts cryptographic hardware and software acceleration engines.
Funktionen — Übersicht
void CryIf_Init (const CryIf_ConfigType* configPtr);Initializes the CRYIF module.void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);Service CryIf_ProcessJob.Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);This interface dispatches the job cancellation function to the configured crypto driver object.Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);This function shall dispatch the set key element function to the configured crypto driver object.Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);This function shall dispatch the set key valid function to the configured crypto driver object.Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);Sets invalid for the status of the key identifi ed by cry If Key Id.Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);Returns the key state of the key identified by cry If Key Id.Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);This function shall dispatch the get key ele ment function to the configured crypto driver object.Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);Service CryIf_KeyElementCopy.Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);Service CryIf_KeyElementCopyPartial.Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);This function shall co py all key elements from the source key to a target key.Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);This function shall dispatch the random seed function to the configured crypto driver object.Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);This function shall dispatch the key generate function to the configured crypto driver object.Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);This function shall dispatch th e key derive function to the configured crypto driver object.Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);This function shall dispatch the key exchange public value calculation function to the configured crypto driver object.Std_ReturnType CryIf_KeyExchangeCalcSecret (uint32 cryIfKeyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);This function shall dispatch the key exchange common shared secret calculation function to the configured crypto driver object.void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.
Typen — Übersicht
struct CryIf_ConfigTypeConfiguration data structure of Cry If module
Funktionen & Typen — Detailansicht
função CryIf_Init [SWS_CryIf_91000] 📄 PDF
void CryIf_Init (const CryIf_ConfigType* configPtr);
Initializes the CRYIF module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoInterface
usar
A função síncrona CryIf_Init serve para a inicialização completa do módulo Crypto Interface (CryIf) de acordo com o AUTOSAR Classic Platform [SWS_CryIf_91000]. A função está declarada no arquivo de cabeçalho CryIf.h e possui o Service ID 0x00 [SWS_CryIf_91000]. Como único parâmetro de entrada, a interface espera configPtr, um ponteiro para uma estrutura de configuração selecionada do tipo CryIf_ConfigType [SWS_CryIf_91000]. A função não retorna nenhum valor de retorno (void) e não possui parâmetros inout nem out [SWS_CryIf_91000].
Semântica e concorrência
A chamada de CryIf_Init é executada de forma síncrona [SWS_CryIf_91000]. O módulo conclui, portanto, todas as tarefas de inicialização necessárias antes que a execução seja devolvida ao chamador. Em relação à concorrência, a função é classificada como não reentrante (Non Reentrant) [SWS_CryIf_91000]. Portanto, a rotina não pode em momento algum ser chamada de forma paralela ou aninhada.
Restrições e integração
Interpretação: A chamada de CryIf_Init deve ocorrer tipicamente de forma centralizada durante a inicialização do sistema, no âmbito da fase de inicialização do software básico, antes que os serviços da interface de criptografia subsequentes possam ser chamados. Como o payload não menciona tratamentos de erro específicos, mensagens DET ou eventos DEM, o chamador deve assegurar previamente um ponteiro válido para a configuração. Requisitos relacionados não estão definidos no payload. Pergunta Q-31b82ca9b144c843 (aberta)
Esta nota de utilização foi criada de forma automatizada e baseia-se exclusivamente nos dados de especificação relativos a SWS_CryIf_91000.
Guia do implementador em breve (complexidade I1)
função CryIf_GetVersionInfo [SWS_CryIf_91001] 📄 PDF
void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
função CryIf_ProcessJob [SWS_CryIf_91003] 📄 PDF
Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);
Service CryIf_ProcessJob.
A função CryIf_ProcessJob (ID de serviço 0x03), disponibilizada por meio do cabeçalho CryIf.h, encaminha ordens de processamento criptográfico para o respectivo objeto Crypto Driver configurado [SWS_CryIf_91003]. Como parâmetros, ela recebe o identificador do canal criptográfico (channelId) e um ponteiro para a configuração da ordem (job) [SWS_CryIf_91003]. A estrutura job contém todas as informações relevantes para o usuário e para o primitivo criptográfico específico [SWS_CryIf_91003]. O processamento da ordem ocorre de forma síncrona ou assíncrona, dependendo da configuração; além disso, a interface é implementada como reentrante [SWS_CryIf_91003].
Em caso de aceitação sem erros, a função retorna E_OK [SWS_CryIf_91003]. Se a solicitação falhar, o valor de retorno sinaliza E_NOT_OK ou um estado de erro específico do driver: CRYPTO_E_BUSY (objeto de driver ocupado), CRYPTO_E_QUEUE_FULL (fila cheia), erros relativos aos estados das chaves como CRYPTO_E_KEY_NOT_VALID, CRYPTO_E_KEY_SIZE_MISMATCH, CRYPTO_E_KEY_NOT_AVAILABLE, CRYPTO_E_KEY_EMPTY, CRYPTO_E_KEY_READ_FAIL ou CRYPTO_E_KEY_WRITE_FAIL, bem como CRYPTO_E_JOB_CANCELED em caso de cancelamento de uma ordem síncrona e CRYPTO_E_ENTROPY_EXHAUSTED [SWS_CryIf_91003].
Além disso, a interface realiza verificações prévias dos identificadores de chave:
- Se
job->jobPrimitiveInfo->primitiveInfo->serviceestiver definido comoCRYPTO_KEYSETVALID,CRYPTO_KEYSETINVALID,CRYPTO_RANDOMSEED,CRYPTO_KEYGENERATE,CRYPTO_KEYDERIVE,CRYPTO_KEYEXCHANGECALCPUBVALouCRYPTO_KEYEXCHANGECALCSECRET,job->cryIfKeyIddeve estar dentro da faixa de valores válida [SWS_CryIf_00134]. Caso contrário, a função relata o erroCRYPTO_E_PARAM_HANDLEao DET e aborta comE_NOT_OK[SWS_CryIf_00134]. - Se o serviço
CRYPTO_KEYDERIVEfor solicitado, o identificador da chave de destinojob->cryIfTargetKeyIdtambém deve estar dentro da faixa válida; caso contrário,CRYPTO_E_PARAM_HANDLEtambém é relatado ao DET eE_NOT_OKé retornado [SWS_CryIf_00135].
Este texto foi criado por uma IA e baseia-se na especificação AUTOSAR CP R20-11.
função CryIf_CancelJob [SWS_CryIf_91014] 📄 PDF
Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);
This interface dispatches the job cancellation function to the configured crypto driver object.
A função CryIf_CancelJob serve para o encaminhamento de uma solicitação de cancelamento de um job criptográfico para o objeto Crypto Driver configurado [SWS_CryIf_91014]. Ela fornece a interface padronizada da Crypto Interface, é declarada por meio do cabeçalho CryIf.h e possui o ID de serviço 0x0e [SWS_CryIf_91014].
Para a chamada, devem ser passados o identificador do canal de destino, bem como a configuração do job [SWS_CryIf_91014]:
channelId(Entrada,uint32): Contém a identificação do respectivo canal criptográfico [SWS_CryIf_91014].job(Entrada/Saída,Crypto_JobType*): Ponteiro para a configuração do job, que compreende estruturas com informações relevantes ao usuário e ao primitivo [SWS_CryIf_91014].
A execução ocorre de forma síncrona e retorna um status do tipo Std_ReturnType ao chamador [SWS_CryIf_91014]:
E_OK: A solicitação foi bem-sucedida e o job foi removido do driver [SWS_CryIf_91014].E_NOT_OK: A solicitação falhou porque o job não pôde ser removido [SWS_CryIf_91014].CRYPTO_E_JOB_CANCELED: Valor de retorno criptográfico especificado para confirmação do cancelamento do job [SWS_CryIf_91014].
Em relação ao comportamento de concorrência, CryIf_CancelJob é especificado como reentrante [SWS_CryIf_91014]. Isso permite chamadas paralelas para o cancelamento de ordens, sendo a execução delegada de forma bloqueante ao objeto de driver subjacente [SWS_CryIf_91014].
Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.
função CryIf_KeyElementSet [SWS_CryIf_91004] 📄 PDF
Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);
This function shall dispatch the set key element function to the configured crypto driver object.
A função síncrona CryIf_KeyElementSet (Service ID 0x04) encaminha a solicitação de definição de um elemento de chave para o objeto de driver de criptografia configurado [SWS_CryIf_91004]. A declaração da função é disponibilizada através do arquivo de cabeçalho CryIf.h [SWS_CryIf_91004].
A chamada ocorre através de quatro parâmetros de entrada [SWS_CryIf_91004]:
cryIfKeyId: Designa o identificador da chave cujo elemento de chave deve ser atualizado.keyElementId: Designa o identificador do elemento de chave concreto que deve ser definido.keyPtr: Ponteiro para o buffer com os dados da chave que devem ser adotados como elemento.keyLength: Indica o comprimento do elemento de chave a ser definido em bytes.
A função é especificada como não reentrante (Non Reentrant) [SWS_CryIf_91004]. Por isso, os chamadores devem garantir que as chamadas não ocorram de forma concorrente e descoordenada.
O valor de retorno do tipo Std_ReturnType sinaliza o resultado do encaminhamento ou da execução [SWS_CryIf_91004]:
E_OK: A solicitação foi bem-sucedida.E_NOT_OK: A solicitação falhou.CRYPTO_E_BUSY: O objeto de driver de criptografia associado está atualmente ocupado.CRYPTO_E_KEY_WRITE_FAIL: O acesso de gravação ao elemento de chave foi negado.CRYPTO_E_KEY_NOT_AVAILABLE: A chave solicitada não está disponível.CRYPTO_E_KEY_SIZE_MISMATCH: O tamanho do elemento de chave não coincide com o comprimento dos dados fornecidos.
Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função CryIf_KeySetValid [SWS_CryIf_91005] 📄 PDF
Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);
This function shall dispatch the set key valid function to the configured crypto driver object.
usar
A interface síncrona CryIf_KeySetValid (Service ID 0x05) é disponibilizada através do arquivo de cabeçalho CryIf.h e encaminha a solicitação de validação de uma chave para o respectivo objeto de driver de criptografia configurado [SWS_CryIf_91005]. Como único parâmetro é passado o identificador cryIfKeyId, que determina a chave de destino cujos elementos de chave devem ser marcados como válidos [SWS_CryIf_91005]. Não existem parâmetros adicionais de entrada/saída ou de saída para esta função [SWS_CryIf_91005].
Valores de retorno e tratamento de erros
O valor de retorno do tipo Std_ReturnType informa o chamador sobre o resultado do encaminhamento e do processamento no driver [SWS_CryIf_91005]:
E_OK: A operação foi encaminhada com sucesso para o objeto de driver de criptografia e concluída com sucesso [SWS_CryIf_91005].E_NOT_OK: O encaminhamento ou a execução da solicitação falhou [SWS_CryIf_91005].CRYPTO_E_BUSY: A solicitação não pôde ser executada porque o objeto de driver de criptografia responsável está atualmente ocupado [SWS_CryIf_91005].
Simultaneidade e restrições
A função é explicitamente indicada na especificação como não reentrante (Non Reentrant) [SWS_CryIf_91005]. Instâncias chamadoras devem, portanto, assegurar que chamadas de CryIf_KeySetValid nunca sejam executadas de forma concorrente ou interruptiva, a fim de evitar de forma confiável conflitos no encaminhamento para o objeto de driver.
Esta nota de utilização foi gerada automaticamente com base na especificação.
função CryIf_KeySetInvalid [SWS_CryIf_91021] 📄 PDF
Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);
Sets invalid for the status of the key identifi ed by cry If Key Id.
A interface síncrona CryIf_KeySetInvalid (Service ID 0x14) define o status da chave identificada através do parâmetro cryIfKeyId como inválido [SWS_CryIf_91021]. A declaração da função é disponibilizada através do arquivo de cabeçalho CryIf.h [SWS_CryIf_91021].
Para a utilização da função, aplicam-se os seguintes parâmetros bem como valores de retorno [SWS_CryIf_91021]:
- Parâmetros de passagem: através do parâmetro de entrada
cryIfKeyIddo tipouint32, é transmitido o identificador da chave cuja validade deve ser revogada. Não existem parâmetros de entrada e saída. - Valor de retorno (
Std_ReturnType):E_OK: A solicitação de alteração de estado foi bem-sucedida.E_NOT_OK: A solicitação falhou.CRYPTO_E_BUSY: A execução falhou porque o Crypto Driver Object competente está ocupado.
No que diz respeito à simultaneidade e ao contexto de execução, CryIf_KeySetInvalid está especificado como não reentrante (Non Reentrant) [SWS_CryIf_91021]. As instâncias chamadoras devem, portanto, assegurar que as chamadas ocorram de forma sequencial e não se sobreponham mutuamente. Se ocorrer o valor de retorno CRYPTO_E_BUSY, o Crypto Driver Object está temporariamente bloqueado [SWS_CryIf_91021]; o chamador deverá, neste caso, ser responsável por uma repetição posterior da invalidação de estado. Pergunta Q-4377065d4d4eecab (aberta)
Este texto foi criado por uma IA e baseia-se exclusivamente nos dados de especificação do AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função CryIf_KeyGetStatus [SWS_CryIf_91012] 📄 PDF
Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);
Returns the key state of the key identified by cry If Key Id.
Utilização e contexto de chamada
A função CryIf_KeyGetStatus serve para consultar de forma síncrona o estado de uma chave criptográfica dentro da Crypto Interface [SWS_CryIf_91012]. Ela está disponível por meio do cabeçalho CryIf.h com o ID de serviço 0x13 [SWS_CryIf_91012]. Na chamada, são passados os seguintes parâmetros:
cryIfKeyId(Entrada): Identificador exclusivo da chave cujo estado deve ser determinado [SWS_CryIf_91012].keyStatusPtr(Saída): Ponteiro para uma variável do tipoCrypto_KeyStatusType, na qual o estado da chave é gravado [SWS_CryIf_91012].
Tratamento de erros e valores de retorno
O valor de retorno do tipo Std_ReturnType sinaliza o resultado da execução [SWS_CryIf_91012]:
E_OK: A consulta de estado foi bem-sucedida e o estado foi armazenado na memória de destino [SWS_CryIf_91012].E_NOT_OK: a solicitação falhou [SWS_CryIf_91012].
Códigos de erro específicos, mensagens DET ou eventos DEM não são indicados na especificação do elemento; o tratamento de erros pelo chamador baseia-se primariamente na avaliação do valor de retorno.
Simultaneidade e restrições
A função é especificada como não reentrante (Non Reentrant) [SWS_CryIf_91012]. Os chamadores devem, portanto, assegurar que não ocorram chamadas simultâneas ou interruptivas para a mesma instância de chave ou para instâncias diferentes. Além disso, o chamador provavelmente deve fornecer uma área de memória válida para o ponteiro de saída keyStatusPtr, uma vez que este é gravado diretamente pela função. Pergunta Q-da3a034d4f2e9442 (aberta)
Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função CryIf_KeyElementGet [SWS_CryIf_91006] 📄 PDF
Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);
This function shall dispatch the get key ele ment function to the configured crypto driver object.
A função síncrona CryIf_KeyElementGet encaminha a consulta de um elemento de chave para o Crypto Driver Object configurado [SWS_CryIf_91006]. Ela é declarada através do arquivo de cabeçalho CryIf.h e especificada como reentrante [SWS_CryIf_91006].
Utilização e parâmetros
Na chamada, cryIfKeyId identifica a chave afetada e keyElementId o elemento de chave a ser consultado [SWS_CryIf_91006]. Os dados úteis são armazenados no buffer resultPtr [SWS_CryIf_91006]. O ponteiro resultLengthPtr serve como parâmetro combinado de entrada e saída para o controle de comprimento [SWS_CryIf_91006]:
- Antes da execução, o chamador passa nele o tamanho de buffer disponível de
resultPtr[SWS_CryIf_91006]. - Se o elemento de chave permitir acesso parcial, o valor define, em vez disso, a quantidade de dados a ser consultada, a qual não precisa corresponder ao tamanho do buffer [SWS_CryIf_91006].
- Após a conclusão da operação, a função armazena a quantidade de dados efetivamente gravada nesse local de memória [SWS_CryIf_91006].
Tratamento de erros e valores de retorno
O valor de retorno do tipo Std_ReturnType sinaliza o status de sucesso ou de erro [SWS_CryIf_91006]:
E_OK: A solicitação foi concluída com sucesso [SWS_CryIf_91006].E_NOT_OK: A execução falhou [SWS_CryIf_91006].CRYPTO_E_BUSY: O Crypto Driver Object está ocupado [SWS_CryIf_91006].CRYPTO_E_KEY_NOT_AVAILABLE: o elemento de chave solicitado não está disponível [SWS_CryIf_91006].CRYPTO_E_KEY_READ_FAIL: O acesso de leitura ao elemento de chave foi negado [SWS_CryIf_91006].CRYPTO_E_KEY_EMPTY: o elemento de chave de origem não está inicializado [SWS_CryIf_91006].
Esta nota de utilização foi gerada automaticamente com base na especificação de AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função CryIf_KeyElementCopy [SWS_CryIf_91015] 📄 PDF
Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);
Service CryIf_KeyElementCopy.
A função síncrona CryIf_KeyElementCopy serve para copiar um elemento de chave de uma chave de origem para uma chave de destino de acordo com [SWS_CryIf_91015]. O serviço está disponível por meio do arquivo de cabeçalho CryIf.h.
Para a chamada, a chave de origem (cryIfKeyId), o elemento de origem a ser copiado (keyElementId), bem como a chave de destino (targetCryIfKeyId) e o elemento de destino (targetKeyElementId) são passados por meio dos parâmetros de entrada [SWS_CryIf_91015]. A função é projetada como reentrante, porém explicitamente não para o mesmo cryIfKeyId [SWS_CryIf_91015]. Como interpretação, parece plausível que, para evitar conflitos de dados, acessos simultâneos de gravação à mesma chave de destino (targetCryIfKeyId) também devam ser sincronizados pelo chamador. Pergunta Q-cba3554c537dd498 (aberta)
O valor de retorno do tipo Std_ReturnType sinaliza o resultado da operação [SWS_CryIf_91015]:
E_OK: O processo de cópia foi bem-sucedido.E_NOT_OK: A solicitação falhou.CRYPTO_E_BUSY: O Crypto Driver Object associado 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 gravação do elemento de chave de destino não é permitida.CRYPTO_E_KEY_SIZE_MISMATCH: Os tamanhos dos elementos de chave envolvidos não são compatíveis.CRYPTO_E_KEY_EMPTY: O elemento de chave de origem não está inicializado.
Esta nota de uso foi gerada automaticamente com base no AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função CryIf_KeyElementCopyPartial [SWS_CryIf_91018] 📄 PDF
Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);
Service CryIf_KeyElementCopyPartial.
A função síncrona CryIf_KeyElementCopyPartial, disponibilizada através do cabeçalho CryIf.h, copia partes de um elemento de chave para outro elemento de chave [SWS_CryIf_91018]. As chaves de origem e destino, bem como os respectivos elementos, são especificados através dos parâmetros cryIfKeyId, keyElementId, targetCryIfKeyId e targetKeyElementId [SWS_CryIf_91018]. As posições iniciais dentro de ambos os elementos são definidas por keyElementSourceOffset e keyElementTargetOffset, enquanto keyElementCopyLength determina o número exato de bytes a serem transferidos [SWS_CryIf_91018].
Em relação à concorrência, a rotina foi projetada para ser reentrante, porém explicitamente não para a mesma chave de origem (cryIfKeyId) [SWS_CryIf_91018]. Chamadas paralelas com o mesmo ID de chave de origem devem, portanto, ser sincronizadas ou evitadas pelo chamador.
O valor de retorno informa o status detalhado de execução da solicitação síncrona [SWS_CryIf_91018]:
E_OK: O processo de cópia foi executado com sucesso.E_NOT_OK: A solicitação falhou.CRYPTO_E_BUSY: O Crypto Driver Object responsável está ocupado.CRYPTO_E_KEY_NOT_AVAILABLE: O elemento de chave de origem ou de destino 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 ou as indicações de offset e comprimento são incompatíveis.CRYPTO_E_KEY_EMPTY: O elemento de chave de origem não está inicializado.
Esta nota de utilização foi gerada automaticamente com base na especificação de AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função CryIf_KeyCopy [SWS_CryIf_91016] 📄 PDF
Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);
This function shall co py all key elements from the source key to a target key.
usar
A função síncrona CryIf_KeyCopy copia todos os elementos de chave de uma chave de origem para uma chave de destino especificada ([SWS_CryIf_91016]). Ela é disponibilizada através do arquivo de cabeçalho CryIf.h e possui o Service ID 0x10 ([SWS_CryIf_91016]).
A função espera dois parâmetros de entrada ([SWS_CryIf_91016]):
cryIfKeyId: Identificador da chave cujos elementos de chave servem como origem.targetCryIfKeyId: Identificador da chave que recebe os elementos de chave como destino.
Simultaneidade e restrições
A interface é especificada como reentrante, mas não pode ser chamada simultaneamente para o mesmo identificador de chave de origem (cryIfKeyId) ([SWS_CryIf_91016]).
Tratamento de erros
O valor de retorno do tipo Std_ReturnType sinaliza o resultado da operação ([SWS_CryIf_91016]):
E_OK: Processo de cópia concluído com sucesso.E_NOT_OK: A solicitação falhou.CRYPTO_E_BUSY: Falhou porque o objeto de driver de criptografia subjacente 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 não é permitida.CRYPTO_E_KEY_WRITE_FAIL: A gravação do elemento de chave de destino não é permitida.CRYPTO_E_KEY_SIZE_MISMATCH: Os tamanhos dos elementos de chave não são compatíveis entre si.CRYPTO_E_KEY_EMPTY: O elemento de chave de origem não está inicializado.
Esta nota de utilização foi gerada automaticamente com base na especificação.
função CryIf_RandomSeed [SWS_CryIf_91007] 📄 PDF
Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);
This function shall dispatch the random seed function to the configured crypto driver object.
A função CryIf_RandomSeed serve para encaminhar a geração ou injeção de uma semente aleatória (Random Seed) para o objeto de driver de criptografia configurado [SWS_CryIf_91007]. Ela está disponível por meio do arquivo de cabeçalho CryIf.h e possui o ID de serviço 0x07 [SWS_CryIf_91007].
A interface espera três parâmetros de entrada [SWS_CryIf_91007]:
cryIfKeyId: Identificador da chave para a qual uma nova semente deve ser gerada.seedPtr: Ponteiro para a área de memória com os dados para injeção da semente.seedLength: Comprimento da semente em bytes.
O comportamento de execução (síncrono ou assíncrono) não é fixo, mas depende da respectiva configuração [SWS_CryIf_91007]. Em relação à concorrência, a função é especificada como reentrante [SWS_CryIf_91007].
Como valor de retorno, a função fornece um Std_ReturnType com os seguintes valores de status [SWS_CryIf_91007]:
E_OK: A solicitação foi bem-sucedida.E_NOT_OK: A solicitação falhou.CRYPTO_E_KEY_NOT_VALID: A requisição falhou porque o estado da chave é "invalid".
Interpretação: Ao retornar CRYPTO_E_KEY_NOT_VALID, a verificação deve se referir à chave passada cryIfKeyId, embora o texto da especificação mencione cryptoKeyId de forma divergente [SWS_CryIf_91007]. Pergunta Q-22b20256f21f131b (aberta)
Este texto foi gerado por uma IA e baseia-se na especificação AUTOSAR CP R20-11.
função CryIf_KeyGenerate [SWS_CryIf_91008] 📄 PDF
Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);
This function shall dispatch the key generate function to the configured crypto driver object.
usar
A função CryIf_KeyGenerate encaminha a chamada de função para geração de chave para o objeto de driver de criptografia configurado [SWS_CryIf_91008]. Através do parâmetro de entrada cryIfKeyId é passado o identificador único da chave que deve ser atualizada com o valor de chave recém-gerado [SWS_CryIf_91008]. A declaração desta interface é disponibilizada através do cabeçalho CryIf.h [SWS_CryIf_91008].
Comportamento de sincronização e concorrência
A execução ocorre de forma síncrona ou assíncrona, dependendo da configuração subjacente [SWS_CryIf_91008]. Em relação ao contexto de chamada e à concorrência, a função é especificada como reentrante [SWS_CryIf_91008].
Valores de retorno e tratamento de erros
A chamada retorna um valor de status do tipo Std_ReturnType [SWS_CryIf_91008]:
E_OK: A solicitação para geração de chave foi executada com sucesso [SWS_CryIf_91008].E_NOT_OK: A solicitação falhou [SWS_CryIf_91008].CRYPTO_E_BUSY: A solicitação falhou porque o objeto de driver de criptografia endereçado está atualmente ocupado [SWS_CryIf_91008].CRYPTO_E_KEY_EMPTY: A solicitação falhou porque um elemento de chave de origem necessário não está inicializado [SWS_CryIf_91008].CRYPTO_E_KEY_NOT_VALID: A solicitação falhou porque o status da chave referenciada pelo identificador de chave é inválido [SWS_CryIf_91008].
Esta nota de utilização foi gerada automaticamente com base na especificação do AUTOSAR Release R20-11.
função CryIf_KeyDerive [SWS_CryIf_91009] 📄 PDF
Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);
This function shall dispatch th e key derive function to the configured crypto driver object.
usar
A função CryIf_KeyDerive serve para encaminhar uma solicitação de derivação de chave de forma síncrona para o respectivo Crypto Driver Object configurado [SWS_CryIf_91009]. A interface é declarada por meio do arquivo de cabeçalho CryIf.h com o ID de serviço 0x09 [SWS_CryIf_91009].
Na chamada, são passados dois identificadores de chave [SWS_CryIf_91009]:
cryIfKeyId: Identificador da chave que é utilizada como base para a derivação.targetCryIfKeyId: Identificador da chave na qual a chave derivada é armazenada.
Tratamento de erros e valores de retorno
O resultado da operação é transmitido por meio do tipo de retorno Std_ReturnType [SWS_CryIf_91009]:
E_OK: A solicitação foi executada com sucesso [SWS_CryIf_91009].E_NOT_OK: A execução falhou [SWS_CryIf_91009].CRYPTO_E_KEY_EMPTY: o elemento de chave de origem não está inicializado [SWS_CryIf_91009].CRYPTO_E_KEY_NOT_VALID: O estado da chave referenciada é inválido [SWS_CryIf_91009].CRYPTO_E_BUSY: O Crypto Driver Object subjacente relatouCRYPTO_E_BUSY[SWS_CryIf_91009].
Simultaneidade e condições marginais
A interface é especificada como reentrante [SWS_CryIf_91009]. Como o processamento ocorre de forma síncrona, os chamadores provavelmente devem considerar o tempo de execução do driver no respectivo contexto de chamada. Pergunta Q-2b2fd50249878177 (aberta)
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR R20-11.
função CryIf_KeyExchangeCalcPubVal [SWS_CryIf_91010] 📄 PDF
Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);
This function shall dispatch the key exchange public value calculation function to the configured crypto driver object. Available
A função síncrona e reentrante CryIf_KeyExchangeCalcPubVal encaminha o cálculo do valor público de troca de chaves para o objeto de driver de criptografia configurado [SWS_CryIf_91010]. O serviço está disponível através do cabeçalho CryIf.h [SWS_CryIf_91010].
Na chamada de função são processados os seguintes parâmetros [SWS_CryIf_91010]:
cryIfKeyId: Identificador da chave que deve ser utilizada para o protocolo de troca de chaves.publicValuePtr: Ponteiro para a área de memória na qual o valor público calculado é armazenado.publicValueLengthPtr: Ponteiro para a informação de comprimento. Na chamada, este parâmetro deve conter o tamanho do buffer fornecido; após a conclusão, ele armazena o comprimento real do valor calculado.
A função retorna um status do tipo Std_ReturnType [SWS_CryIf_91010]:
E_OK: A solicitação foi bem-sucedida.E_NOT_OK: A solicitação falhou.CRYPTO_E_BUSY: Erro, pois o objeto de driver de criptografia responsável está ocupado.CRYPTO_E_KEY_EMPTY: Erro devido a um elemento de chave de origem não inicializado.CRYPTO_E_KEY_NOT_VALID: Erro, pois a chave endereçada encontra-se no estado inválido.
Este texto foi gerado por um sistema baseado em IA e baseia-se exclusivamente nos dados de especificação do AUTOSAR R20-11.
função CryIf_KeyExchangeCalcSecret [SWS_CryIf_91011] 📄 PDF
Std_ReturnType CryIf_KeyExchangeCalcSecret (uint32 cryIfKeyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);
This function shall dispatch the key exchange common shared secret calculation function to the configured crypto driver object.
A função síncrona CryIf_KeyExchangeCalcSecret encaminha o cálculo do segredo compartilhado na troca de chaves para o objeto de driver de criptografia configurado [SWS_CryIf_91011]. São passados ao serviço o identificador da chave (cryIfKeyId), um ponteiro para o valor da chave pública do parceiro de comunicação (partnerPublicValuePtr), bem como o seu comprimento em bytes (partnerPublicValueLength) [SWS_CryIf_91011].
Tratamento de erros: A função retorna o resultado através de Std_ReturnType [SWS_CryIf_91011]:
E_OK: O cálculo foi executado com sucesso [SWS_CryIf_91011].CRYPTO_E_BUSY: O objeto de driver de criptografia está ocupado [SWS_CryIf_91011].CRYPTO_E_KEY_EMPTY: O elemento de chave de origem não está inicializado [SWS_CryIf_91011].CRYPTO_E_KEY_NOT_VALID: O status da chave indicada é inválido [SWS_CryIf_91011].E_NOT_OK: a solicitação falhou [SWS_CryIf_91011].
Concorrência: A interface é especificada como reentrante [SWS_CryIf_91011]. Como o fluxo é executado de forma síncrona, a chamada deve ocorrer tipicamente no contexto de tarefa. Pergunta Q-b3bca3645b0ef468 (aberta) O serviço é disponibilizado através do arquivo de cabeçalho CryIf.h [SWS_CryIf_91011].
Esta nota de utilização foi gerada automaticamente com base na especificação do AUTOSAR R20-11.
função CryIf_CallbackNotification [SWS_CryIf_91013] 📄 PDF
void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);
Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.
A função CryIf_CallbackNotification serve, de acordo com [SWS_CryIf_91013], para informar a Crypto Interface (CryIf) sobre a conclusão de uma operação criptográfica bem como o seu resultado. A declaração está disponível por meio do cabeçalho CryIf.h e possui o ID de serviço 0x0d [SWS_CryIf_91013].
A chamada ocorre de forma síncrona e processa dois parâmetros de entrada obrigatórios [SWS_CryIf_91013]:
job(Entrada,Crypto_JobType*): Aponta para a estrutura de informações da ordem concluída e contém um ID de callback para associação do job finalizado [SWS_CryIf_91013].result(Entrada,Crypto_ResultType): Transmite o resultado da operação criptográfica executada [SWS_CryIf_91013].
Códigos de erro ou mensagens de erro específicas (DET/DEM) não são definidos para este serviço; a verificação funcional de erros ocorre por meio do parâmetro result, que reflete o sucesso ou o estado de erro da operação [SWS_CryIf_91013].
Em relação à concorrência, a função é especificada de acordo com [SWS_CryIf_91013] como não reentrante (Non Reentrant) e não possui valor de retorno (void). Os chamadores devem, portanto, assegurar que as chamadas ocorram sequencialmente e que não ocorram execuções aninhadas ou paralelas. Interpretação: A notificação provavelmente deve ser chamada tipicamente por drivers criptográficos subjacentes para retornar o resultado de ordens criptográficas processadas assincronamente à Crypto Interface. Pergunta Q-ae17af188a970e00 (aberta)
Esta nota de utilização foi gerada automaticamente com base na especificação de AUTOSAR R20-11.
tipo CryIf_ConfigType [SWS_CryIf_91118] 📄 PDF
Configuration data structure of Cry If module
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_CryIf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_CryIf@rel:R20-11#7a9534c7- Content hash
7a9534c7- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CryptoInterface.pdf#nameddest=SWS_CryIf_91000
gemini-3.8-flash-low· 2026-10-13 · Original em alemão