funkcja CertStore_InstallRootCACertificate
Nagłówek: #include <applibs/certstore.h>
Instaluje certyfikat głównego urzędu certyfikacji, który składa się z certyfikatu publicznego w formacie PEM, i przypisuje do certyfikatu identyfikator. Identyfikator ten może być następnie używany do odwoływania się do certyfikatu w innych funkcjach. Jeśli jakikolwiek typ certyfikatu jest już zainstalowany z tym samym identyfikatorem, zostanie on zastąpiony nowym certyfikatem.
int CertStore_InstallRootCACertificate(const char *identifier, const char *certBlob,
size_t certBlobLength);
Parametry
identifier
Identyfikator certyfikatu.certBlob
Wskaźnik do obiektu blob zawierającego certyfikat publiczny w formacie PEM.certBlobLength
Długość obiektu blob certyfikatu, bez znaku null-terminator.
Błędy
Zwraca wartość -1 w przypadku napotkania błędu i ustawia errno
wartość błędu.
EACCES: operacja jest niedozwolona, ponieważ funkcja CertStore nie jest ustawiona w manifeście aplikacji.
EAGAIN: składnik certstore systemu operacyjnego nie jest jeszcze gotowy.
EFAULT: lub
certBlob
identifier
ma wartość NULL.EINVAL:
identifier
parametr nie jest zakończony wartością NULL lubcertBlob
zawiera nieprawidłowe znaki.ENOSPC: nie ma wystarczającej ilości miejsca w magazynie certyfikatu dla tego certyfikatu.
ERANGE:
certBlobLength
wartość jest równa zero lub większa niż CERTSTORE_MAX_CERT_SIZE.
Mogą być również określone inne errno
błędy; takie błędy nie są deterministyczne i nie ma gwarancji, że to samo zachowanie zostanie zachowane za pośrednictwem aktualizacji systemu.
Zwracana wartość
Zwraca wartość 0 dla powodzenia lub -1 dla niepowodzenia, w którym to przypadku errno
jest ustawiona wartość błędu.
Uwagi
Prawidłowy identyfikator musi być unikatowym ciągiem od jednego do CERTSTORE_MAX_IDENTIFIER_LENGTH znaków o długości. W identiferze są prawidłowe następujące znaki:
- "A" do "Z"
- 'a' na 'z'
- Od "0" do '9'
- '' lub '-' lub '_'
Ostrożność
Ponieważ identyfikatory certyfikatów są w całym systemie, az sphere
wywołanie polecenia lub funkcji, które dodaje nowy certyfikat, może zastąpić certyfikat dodany przez wcześniejsze wywołanie polecenia lub funkcji, co może powodować awarie połączenia sieciowego. Zdecydowanie zalecamy opracowanie przejrzystych procedur aktualizacji certyfikatów i staranne wybieranie identyfikatorów certyfikatów.
Zobacz Identyfikatory certyfikatów , aby uzyskać więcej informacji o tym, jak usługa Azure Sphere korzysta z identyfikatorów certyfikatów.
Wymagania dotyczące manifestu aplikacji
Manifest aplikacji musi zawierać funkcję CertStore.