CertStore_InstallRootCACertificate functie
Header: #include <applibs/certstore.h>
Installeert een basis-CA-certificaat dat bestaat uit een openbaar certificaat in PEM-indeling en wijst een id toe aan het certificaat. De id kan vervolgens worden gebruikt om te verwijzen naar het certificaat in andere functies. Als een type certificaat al is geïnstalleerd met dezelfde id, wordt dit vervangen door het nieuwe certificaat.
int CertStore_InstallRootCACertificate(const char *identifier, const char *certBlob,
size_t certBlobLength);
Parameters
identifier
De id van het certificaat.certBlob
Een aanwijzer naar een blob die het openbare certificaat in PEM-indeling bevat.certBlobLength
De lengte van de certificaat-blob, exclusief het null-terminatorteken.
Fouten
Retourneert -1 als er een fout optreedt en wordt ingesteld errno
op de foutwaarde.
EACCES: de bewerking is niet toegestaan omdat de CertStore-mogelijkheid niet is ingesteld in het toepassingsmanifest.
EAGAIN: het besturingssysteemcertificaatonderdeel is nog niet gereed.
EFAULT: de
certBlob
ofidentifier
is NULL.EINVAL: de
identifier
parameter is niet null-beëindigd of bevatcertBlob
ongeldige tekens.ENOSPC: er is onvoldoende ruimte in de certificaatopslag voor dit certificaat.
ERANGE: de
certBlobLength
is nul of groter dan CERTSTORE_MAX_CERT_SIZE.
errno
Andere fouten kunnen ook worden opgegeven; dergelijke fouten zijn niet deterministisch en er is geen garantie dat hetzelfde gedrag wordt behouden via systeemupdates.
Retourwaarde
Retourneert 0 voor geslaagd, of -1 voor fout, in welk geval errno
is ingesteld op de foutwaarde.
Opmerkingen
Een geldige id moet een unieke tekenreeks zijn van één tot CERTSTORE_MAX_IDENTIFIER_LENGTH tekens lang. De volgende tekens zijn geldig in een identifer:
- 'A' naar 'Z'
- 'a' naar 'z'
- '0' naar '9'
- '.' of '-' of '_'
Voorzichtigheid
Omdat certificaat-id's systeembreed zijn, kan een az sphere
opdracht of functieaanroep waarmee een nieuw certificaat wordt toegevoegd een certificaat overschrijven dat is toegevoegd door een eerdere opdracht of functieaanroep, waardoor netwerkverbindingsfouten kunnen optreden. We raden u ten zeerste aan duidelijke procedures voor het bijwerken van certificaten te ontwikkelen en certificaat-id's zorgvuldig te kiezen.
Zie Certificaat-id's voor meer informatie over hoe Azure Sphere certificaat-id's gebruikt.
Vereisten voor toepassingsmanifest
Het toepassingsmanifest moet de CertStore-mogelijkheid bevatten.