Partilhar via


função CertStore_InstallRootCACertificate

Cabeçalho: #include <applibs/certstore.h>

Instala um certificado de AC de Raiz que consiste num certificado público no formato PEM e atribui um ID ao certificado. Em seguida, o ID pode ser utilizado para fazer referência ao certificado noutras funções. Se algum tipo de certificado já estiver instalado com o mesmo ID, será substituído pelo novo certificado.

int CertStore_InstallRootCACertificate(const char *identifier, const char *certBlob,
                                       size_t certBlobLength);

Parâmetros

  • identifier O ID do certificado.

  • certBlob Um ponteiro para um blob que contém o certificado público no formato PEM.

  • certBlobLength O comprimento do blob do certificado, sem incluir o caráter de terminação nulo.

Erros

Devolve -1 se for encontrado um erro e define errno para o valor de erro.

  • EACCES: a operação não é permitida porque a capacidade CertStore não está definida no manifesto da aplicação.

  • EAGAIN: o componente certstore do SO ainda não está pronto.

  • EFAULT: o certBlob ou identifier é NULO.

  • EINVAL: o identifier parâmetro não é terminado por NULL ou inclui certBlob carateres inválidos.

  • ENOSPC: não existe espaço suficiente no armazenamento de certificados para este certificado.

  • ERANGE: o certBlobLength é zero ou superior a CERTSTORE_MAX_CERT_SIZE.

Qualquer outro errno também pode ser especificado; tais erros não são deterministas e não há garantias de que o mesmo comportamento será mantido através de atualizações do sistema.

Valor devolvido

Devolve 0 para êxito ou -1 para falha, caso errno em que está definido como o valor de erro.

Observações

Um identificador válido tem de ser uma cadeia exclusiva de um para CERTSTORE_MAX_IDENTIFIER_LENGTH carateres de comprimento. Os seguintes carateres são válidos num identificador:

  • 'A' para 'Z'
  • 'a' a 'z'
  • '0' a '9'
  • '.' ou '-' ou '_'

Atenção

Uma vez que os IDs de certificado são ao nível do sistema, um comando azsphere ou uma chamada de função que adiciona um novo certificado pode substituir um certificado que foi adicionado por uma chamada de comando ou função anterior, potencialmente causando falhas de ligação de rede. Recomendamos vivamente que desenvolva procedimentos de atualização de certificados claros e escolha cuidadosamente os IDs de certificado.

Veja IDs de certificado para obter mais informações sobre como o Azure Sphere utiliza IDs de certificado.

Requisitos do manifesto de aplicação

O manifesto da aplicação tem de incluir a capacidade CertStore.