CertStore_InstallRootCACertificate-Funktion
Header: #include <applibs/certstore.h>
Installiert ein Zertifikat der Stammzertifizierungsstelle, das aus einem öffentlichen Zertifikat im PEM-Format besteht, und weist dem Zertifikat eine ID zu. Die ID kann dann verwendet werden, um in anderen Funktionen auf das Zertifikat zu verweisen. Wenn bereits ein Zertifikattyp mit derselben ID installiert ist, wird es durch das neue Zertifikat ersetzt.
int CertStore_InstallRootCACertificate(const char *identifier, const char *certBlob,
size_t certBlobLength);
Parameter
identifier
Die ID des Zertifikats.certBlob
Ein Zeiger auf ein Blob, das das öffentliche Zertifikat im PEM-Format enthält.certBlobLength
Die Länge des Zertifikatblobs, ohne das Nullabschlusszeichen.
Fehler
Gibt -1 zurück, wenn ein Fehler auftritt, und legt auf den Fehlerwert fest errno
.
EACCES: Der Vorgang ist nicht zulässig, da die CertStore-Funktion im Anwendungsmanifest nicht festgelegt ist.
EAGAIN: Die Zertifikatspeicherkomponente des Betriebssystems ist noch nicht bereit.
EFAULT: oder
certBlob
identifier
ist NULL.EINVAL: Der
identifier
Parameter ist nicht mit NULL beendet, oder dercertBlob
enthält ungültige Zeichen.ENOSPC: Im Zertifikatspeicher ist nicht genügend Speicherplatz für dieses Zertifikat vorhanden.
ERANGE: ist
certBlobLength
null oder größer als CERTSTORE_MAX_CERT_SIZE.
Auch andere errno
Fehler können angegeben werden. Solche Fehler sind nicht deterministisch, und es gibt keine Garantie, dass das gleiche Verhalten durch Systemupdates beibehalten wird.
Rückgabewert
Gibt 0 für erfolg oder -1 für Fehler zurück. In diesem Fall errno
wird auf den Fehlerwert festgelegt.
Bemerkungen
Ein gültiger Bezeichner muss eine eindeutige Zeichenfolge zwischen einem und CERTSTORE_MAX_IDENTIFIER_LENGTH Zeichen sein. Die folgenden Zeichen sind in einem Identifer gültig:
- "A" bis "Z"
- "a" bis "z"
- "0" bis "9"
- "." oder "-" oder "_"
Vorsicht
Da Zertifikat-IDs systemweit sind, kann ein az sphere
Befehl oder Funktionsaufruf, der ein neues Zertifikat hinzufügt, ein Zertifikat überschreiben, das von einem früheren Befehl oder Funktionsaufruf hinzugefügt wurde, was zu Netzwerkverbindungsfehlern führen kann. Es wird dringend empfohlen, eindeutige Prozeduren für die Zertifikataktualisierung zu entwickeln und Zertifikat-IDs sorgfältig auszuwählen.
Weitere Informationen zur Verwendung von Zertifikat-IDs in Azure Sphere finden Sie unter Zertifikat-IDs .
Anforderungen an das Anwendungsmanifest
Das Anwendungsmanifest muss die CertStore-Funktion enthalten.