Megosztás a következőn keresztül:


CertStore_InstallClientCertificate függvény

Fejléc: #include <applibs/certstore.h>

Egy nyilvános tanúsítványból és egy titkos kulcsból álló ügyféltanúsítványt telepít a megadott azonosítóval. Az azonosítóval ezután más függvényekben is hivatkozhat a tanúsítványra. Ha bármilyen tanúsítványtípus már telepítve van ugyanazzal az azonosítóval, az új tanúsítványra lesz lecserélve.

int CertStore_InstallClientCertificate(const char *identifier, const char *certBlob, size_t certBlobLength, const char *privateKeyBlob, size_t privateKeyBlobLength, const char *privateKeyPassword);

Paraméterek

  • identifier A tanúsítvány azonosítója.

  • certBlob Egy PEM formátumú nyilvános tanúsítványt tartalmazó blobra mutató mutató. A blob csak a és -----END... a címkék közötti -----BEGIN... tartalmat tartalmazhatja. Egy tanúsítvány címkéi például a -----BEGIN CERTIFICATE----- következők: és -----END CERTIFICATE-----.

  • certBlobLength A tanúsítványblob hossza, a nullhibajelet nem beleértve.

  • privateKeyBlob Egy PEM formátumú titkos kulcsot tartalmazó blobra mutató mutató.

  • privateKeyBlobLength A tanúsítványblob hossza, a nullhibajelet nem beleértve.

  • privateKeyPassword Mutató egy null értékű karaktertömbre, amely tartalmazza a titkos kulcs jelszavát. A tömb hossza legfeljebb CERTSTORE_MAX_PRIVATE_KEY_PASSWORD_LENGTH bájt lehet. Ha titkosítva van, jelszóra van szükség privateKeyBlob .

Hibák

-1 értéket ad vissza, ha hiba történik, és a hibaértékre van halmazva errno .

  • EACCES: a művelet nem engedélyezett, mert vagy a CertStore képesség nincs beállítva az alkalmazásjegyzékben.

  • EAGAIN: Az operációs rendszer tanúsítványtároló összetevője még nem áll készen.

  • EFAULT: a certBlob, identifiervagy privateKeyBlob paraméter NULL értékű.

  • EINVAL: a identifier paraméter nem null értékű, a certBlob vagy privateKeyBlob érvénytelen adatokat tartalmaz.

  • ENOSPC: nincs elegendő hely a tanúsítványtárolóban ehhez a tanúsítványhoz.

  • ERANGE: a certBlobLength vagy privateKeyBlobLength értéke nulla vagy nagyobb, mint CERTSTORE_MAX_CERT_SIZE, vagy a privateKeyPassword hossza nagyobb, mint CERTSTORE_MAX_PRIVATE_KEY_PASSWORD_LENGTH.

errno Más is megadható; az ilyen hibák nem determinisztikusak, és nem garantálható, hogy a rendszerfrissítések ugyanazt a viselkedést megőrzik.

Visszatérési érték

0 értéket ad vissza a sikerhez, vagy -1 hibát, amely esetben errno a hibaérték van beállítva.

Megjegyzések

Az érvényes azonosítóknak egyedi sztringnek kell lenniük egytől CERTSTORE_MAX_IDENTIFIER_LENGTH karakterig. A következő karakterek érvényesek egy azonosítóban:

  • "A" és "Z" között
  • "a"-ből z-be"
  • "0" és "9" között
  • '.' vagy '-' vagy '_'

Figyelem

Mivel a tanúsítványazonosítók rendszerszintűek, egy az sphere parancs vagy függvényhívás, amely új tanúsítványt ad hozzá, felülírhat egy korábbi parancs vagy függvényhívás által hozzáadott tanúsítványt, ami hálózati kapcsolati hibákat okozhat. Határozottan javasoljuk, hogy dolgozzon ki egyértelmű tanúsítványfrissítési eljárásokat, és körültekintően válassza ki a tanúsítványazonosítókat.

További információ arról, hogy az Azure Sphere hogyan használja a tanúsítványazonosítókat: Tanúsítványazonosítók .

Alkalmazásjegyzékre vonatkozó követelmények

Az alkalmazásjegyzéknek tartalmaznia kell a CertStore képességet.