Sdílet prostřednictvím


CertStore_InstallRootCACertificate funkce

Hlavička: #include <applibs/certstore.h>

Nainstaluje certifikát kořenové certifikační autority, který se skládá z veřejného certifikátu ve formátu PEM, a přiřadí ho ID. ID se pak dá použít k odkaz na certifikát v jiných funkcích. Pokud už je nějaký typ certifikátu se stejným ID nainstalovaný, nahradí se novým certifikátem.

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

Parametry

  • identifier ID certifikátu.

  • certBlob Ukazatel na objekt blob, který obsahuje veřejný certifikát ve formátu PEM.

  • certBlobLength Délka objektu blob certifikátu bez znaku ukončovací znak null

Chyby

Vrátí hodnotu -1, pokud dojde k chybě, a nastaví errno se na chybovou hodnotu.

  • EACCES: Operace není povolená, protože v manifestu aplikace není nastavená funkce CertStore.

  • EAGAIN: Komponenta certstore operačního systému ještě není připravená.

  • EFAULT: hodnota certBlob nebo identifier je NULL.

  • EINVAL: identifier Parametr není null-terminated nebo certBlob obsahuje neplatné znaky.

  • ENOSPC: V úložišti certifikátů pro tento certifikát není dostatek místa.

  • ERANGE: hodnota certBlobLength je nula nebo větší než CERTSTORE_MAX_CERT_SIZE.

Je také možné zadat jakékoli jiné errno chyby. Tyto chyby nejsou deterministické a neexistuje žádná záruka, že se stejné chování zachová prostřednictvím aktualizací systému.

Vrácená hodnota

Vrátí hodnotu 0 pro úspěch nebo -1 pro selhání. V tomto případě errno je nastavená na chybovou hodnotu.

Poznámky

Platným identifikátorem musí být jedinečný řetězec o délce od jednoho do CERTSTORE_MAX_IDENTIFIER_LENGTH znaků. Následující znaky jsou platné v identiferu:

  • A až Z
  • "a" až "z"
  • Od 0 do 9
  • '.' nebo '-' nebo '_'

Pozor

Vzhledem k tomu, že ID certifikátů jsou pro celý systém, az sphere může příkaz nebo volání funkce, které přidává nový certifikát, přepsat certifikát přidaný dřívějším voláním příkazu nebo funkce, což může způsobit selhání síťového připojení. Důrazně doporučujeme vyvinout jasné postupy aktualizace certifikátů a pečlivě zvolit ID certifikátů.

Další informace o tom, jak Azure Sphere používá ID certifikátů, najdete v tématu ID certifikátů.

Požadavky manifestu aplikace

Manifest aplikace musí obsahovat funkci CertStore.