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 lacertBlob
valeur NULL.EINVAL : le
identifier
paramètre n’est pas terminé par NULL ou inclut descertBlob
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 az sphere
commande ou un appel de fonction qui ajoute un nouveau certificat peut remplacer un certificat 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.