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égprivateKeyBlob
.
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
,identifier
vagyprivateKeyBlob
paraméter NULL értékű.EINVAL: a
identifier
paraméter nem null értékű, acertBlob
vagyprivateKeyBlob
érvénytelen adatokat tartalmaz.ENOSPC: nincs elegendő hely a tanúsítványtárolóban ehhez a tanúsítványhoz.
ERANGE: a
certBlobLength
vagyprivateKeyBlobLength
értéke nulla vagy nagyobb, mint CERTSTORE_MAX_CERT_SIZE, vagy aprivateKeyPassword
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.