Udostępnij za pośrednictwem


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 certBlobidentifier ma wartość NULL.

  • EINVAL: identifier parametr nie jest zakończony wartością NULL lub certBlob 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.