Partage via


CertStore_InstallRootCACertificate fonction

En-tête : #include <applibs/certstore.h>

Installe un certificat d’autorité de certification racine qui se compose d’un certificat public au format PEM et affecte un ID au certificat. L’ID peut ensuite être utilisé pour faire référence au certificat dans d’autres fonctions. Si un type de certificat est déjà installé avec le même ID, il est remplacé par le nouveau certificat.

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

Paramètres

  • identifier ID du certificat.

  • certBlob Pointeur vers un objet blob qui contient le certificat public au format PEM.

  • certBlobLength Longueur de l’objet blob de certificat, sans inclure le caractère de fin null.

Erreurs

Retourne -1 si une erreur est rencontrée et définit errno sur la valeur d’erreur.

  • EACCES : l’opération n’est pas autorisée, car la fonctionnalité CertStore n’est pas définie dans le manifeste de l’application.

  • EAGAIN : le composant certstore du système d’exploitation n’est pas encore prêt.

  • EFAULT : ou identifier a la certBlob valeur NULL.

  • EINVAL : le identifier paramètre n’est pas terminé par NULL ou inclut des certBlob caractères non valides.

  • ENOSPC : il n’y a pas suffisamment d’espace dans le stockage de certificat pour ce certificat.

  • ERANGE : est certBlobLength égal à zéro ou supérieur à CERTSTORE_MAX_CERT_SIZE.

Toutes les autres errno peuvent également être spécifiées ; ces erreurs ne sont pas déterministes et il n’existe aucune garantie que le même comportement sera conservé via les mises à jour système.

Valeur de retour

Retourne 0 pour la réussite, ou -1 en cas d’échec, auquel cas errno est défini sur la valeur d’erreur.

Remarques

Un identificateur valide doit être une chaîne unique d’un à CERTSTORE_MAX_IDENTIFIER_LENGTH caractères de longueur. Les caractères suivants sont valides dans un identificateur :

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

Attention

Étant donné que les ID de certificat sont à l’échelle du système, une commande azsphere ou un appel de fonction qui ajoute un nouveau certificat peut remplacer un certificat qui a été ajouté par une commande ou un appel de fonction antérieur, ce qui peut entraîner des échecs de connexion réseau. Nous vous recommandons vivement de développer des procédures de mise à jour de certificat claires et de choisir soigneusement les ID de certificat.

Pour plus d’informations sur la façon dont Azure Sphere utilise les ID de certificat, consultez ID de certificat.

Exigences du manifeste d’application

Le manifeste de l’application doit inclure la fonctionnalité CertStore.