Delen via


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 of identifier is NULL.

  • EINVAL: de identifier parameter is niet null-beëindigd of bevat certBlob 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.