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
neboidentifier
je NULL.EINVAL:
identifier
Parametr není null-terminated nebocertBlob
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.