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
certBlob
identifier
är NULL.EINVAL: parametern
identifier
är inte NULL-avslutad ellercertBlob
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 az sphere
kommando 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.