共用方式為


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:或 certBlobidentifier 為 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 功能。