Dela via


funktionen CertStore_InstallRootCACertificate

Sidhuvud: #include <applibs/certstore.h>

Installerar ett rotcertifikatutfärdare som består av ett offentligt certifikat i PEM-format och tilldelar certifikatet ett ID. ID:et kan sedan användas för att referera till certifikatet i andra funktioner. Om någon typ av certifikat redan har installerats med samma ID ersätts det med det nya certifikatet.

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

Parametrar

  • identifier Certifikatets ID.

  • certBlob En pekare till en blob som innehåller det offentliga certifikatet i PEM-format.

  • certBlobLength Längden på certifikat-blobben, inklusive null-avslutningstecknet.

Fel

Returnerar -1 om ett fel uppstår och anger errno felvärdet.

  • EACCES: åtgärden tillåts inte eftersom CertStore-funktionen inte anges i programmanifestet.

  • EAGAIN: OS certstore-komponenten är inte klar än.

  • EFAULT: eller certBlobidentifier är NULL.

  • EINVAL: parametern identifier är inte NULL-avslutad eller certBlob innehåller ogiltiga tecken.

  • ENOSPC: det finns inte tillräckligt med utrymme i certifikatlagringen för certifikatet.

  • ERANGE: är certBlobLength noll eller större än CERTSTORE_MAX_CERT_SIZE.

errno Andra kan också anges, sådana fel är inte deterministiska och det finns ingen garanti för att samma beteende behålls via systemuppdateringar.

Returvärde

Returnerar 0 för lyckat resultat, eller -1 för fel, i vilket fall errno är inställt på felvärdet.

Anmärkningar

En giltig identifierare måste vara en unik sträng från en till CERTSTORE_MAX_IDENTIFIER_LENGTH tecken. Följande tecken är giltiga i en identifer:

  • 'A' till 'Z'
  • 'a' till 'z'
  • '0' till '9'
  • '.' eller '-' eller '_'

Försiktighet

Eftersom certifikat-ID:t är systemomfattande kan ett azsfärkommando eller ett funktionsanrop som lägger till ett nytt certifikat skriva över ett certifikat som har lagts till av ett tidigare kommando- eller funktionsanrop, vilket kan orsaka fel i nätverksanslutningen. Vi rekommenderar starkt att du utvecklar tydliga procedurer för certifikatuppdatering och väljer certifikat-ID:er noggrant.

Mer information om hur Azure Sphere använder certifikat-ID finns i Certifikat-ID :er.

Krav för programmanifest

Programmanifestet måste innehålla CertStore-funktionen.