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
ouidentifier
é NULO.EINVAL: o
identifier
parâmetro não é terminado por NULL ou incluicertBlob
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.