次の方法で共有


CertStore_InstallRootCACertificate関数

ヘッダー: applibs </certstore.h #include>

PEM 形式のパブリック証明書で構成され、証明書に ID を割り当てるルート CA 証明書をインストールします。 その後、ID を使用して、他の関数の証明書を参照できます。 いずれかの種類の証明書が同じ ID で既にインストールされている場合は、新しい証明書に置き換えられます。

int CertStore_InstallRootCACertificate(const char *identifier, const char *certBlob,
                                       size_t certBlobLength);

パラメーター

  • identifier 証明書の ID。

  • certBlob PEM 形式のパブリック証明書を含む BLOB へのポインター。

  • certBlobLength NULL ターミネータ文字を含まない証明書 BLOB の長さ。

エラー

エラーが発生した場合は -1 を返し、エラー値に設定します errno

  • EACCES: CertStore 機能がアプリケーション マニフェストに設定されていないため、操作は許可されません。

  • EAGAIN: OS 証明書ストア コンポーネントの準備がまだ整っていません。

  • EFAULT: または certBlobidentifier が NULL です。

  • EINVAL: パラメーターが identifier NULL で終わっていないか、 に無効な文字が certBlob 含まれています。

  • ENOSPC: この証明書の証明書ストレージに十分な領域がありません。

  • ERANGE: は certBlobLength 、CERTSTORE_MAX_CERT_SIZEより 0 以上です。

その他 errno のエラーも指定できます。このようなエラーは決定的ではなく、システムの更新によって同じ動作が保持される保証はありません。

戻り値

成功の場合は 0、失敗の場合は -1 を返します。この場合 errno はエラー値に設定されます。

発言

有効な識別子は、長さが 1 文字からCERTSTORE_MAX_IDENTIFIER_LENGTH文字までの一意の文字列である必要があります。 identifer では、次の文字が有効です。

  • 'A' から 'Z'
  • 'a' から 'z'
  • '0' から '9'
  • '.' または '-' または '_'

注意

証明書 ID はシステム全体であるため、新しい証明書を az sphere 追加するコマンドまたは関数呼び出しによって、以前のコマンドまたは関数呼び出しによって追加された証明書が上書きされ、ネットワーク接続エラーが発生する可能性があります。 明確な証明書の更新手順を開発し、証明書 ID を慎重に選択することを強くお勧めします。

Azure Sphere で証明書 ID を使用する 方法の詳細については、「証明書 ID」を参照してください。

アプリケーション マニフェストの要件

アプリケーション マニフェストには、CertStore 機能が含まれている必要があります。