CertStore_InstallRootCACertificate函數
頁首: #include < applibs/certstore。h>
安裝由 PEM 格式公用憑證所組成的 Root CA 憑證,並將識別碼指派給憑證。 識別碼則可用來參照其他函數中的憑證。 如果任何類型的憑證都已安裝相同識別碼,則會以新憑證取代。
int CertStore_InstallRootCACertificate(const char *identifier, const char *certBlob,
size_t certBlobLength);
參數
identifier
憑證的識別碼。certBlob
指標指向包含 PEM 格式公用憑證的 blob。certBlobLength
憑證 blob 的長度,不包括 Null-terminator 字元。
錯誤
如果發生錯誤並設定為 errno
錯誤值,則傳回 -1。
EACCES:由於 CertStore 功能未在應用程式資訊清單中設定,因此不允許執行此作業。
EAGAIN:作業系統認證元件尚未準備就緒。
EFAULT:或
certBlob
identifier
為 Null。EINVAL:
identifier
參數不是以 Null 終止,或certBlob
包含不正確字元。ENOSPC:此憑證的憑證儲存空間不足。
ERANGE:這是
certBlobLength
零或大於 CERTSTORE_MAX_CERT_SIZE。
您也可以指定任何其他 errno
錯誤;這類錯誤並非確定性錯誤,而且不保證會透過系統更新保留相同的行為。
傳回值
會傳回 0 表示成功,而失敗則傳回 -1,在這種情況下 errno
會設定為錯誤值。
言論
有效的識別碼必須是長度從一到CERTSTORE_MAX_IDENTIFIER_LENGTH字元的唯一字串。 下列字元在識別碼中有效:
- 'A' 對 'Z'
- 'a' 對 'z'
- '0' 到 '9'
- '.' 或 '-' 或 '_'
謹慎
由於憑證識別碼是全系統,因此新增憑證的 azsphere 命令或函數呼叫可能會覆寫先前命令或函數通話所新增的憑證,而可能導致網路連線失敗。 我們強烈建議您開發清楚的憑證更新程式,並謹慎選擇憑證識別碼。
如需Azure 球體如何使用憑證識別碼的詳細資訊,請參閱憑證識別碼。
應用程式資訊清單需求
應用程式 資訊清單 必須包含 CertStore 功能。