CertGetIntendedKeyUsage 関数 (wincrypt.h)

CertGetIntendedKeyUsage 関数は、証明書から目的のキー使用法バイトを取得します。 目的のキーの使用方法は、szOID_KEY_USAGE ("2.5.29.15") またはszOID_KEY_ATTRIBUTES ("2.5.29.2") 拡張機能のいずれかです。

構文

BOOL CertGetIntendedKeyUsage(
  [in]  DWORD      dwCertEncodingType,
  [in]  PCERT_INFO pCertInfo,
  [out] BYTE       *pbKeyUsage,
  [in]  DWORD      cbKeyUsage
);

パラメーター

[in] dwCertEncodingType

使用するエンコードの種類を指定します。 次の例に示すように、証明書と メッセージエンコードの両方の種類 をビットごとの OR 操作と組み合わせて指定することは、常に許容されます。

X509_ASN_ENCODING |PKCS_7_ASN_ENCODING 現在定義されているエンコードの種類は次のとおりです。

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pCertInfo

指定した証明書 CERT_INFO 構造体へのポインター。

[out] pbKeyUsage

目的のキー使用法を受け取るバッファーへのポインター。 次の一覧は、現在定義されている値を示しています。 これらは、ビットごとの OR 演算を使用して組み合わせることができます。

  • CERT_DATA_ENCIPHERMENT_KEY_USAGE
  • CERT_DIGITAL_SIGNATURE_KEY_USAGE
  • CERT_KEY_AGREEMENT_KEY_USAGE
  • CERT_KEY_CERT_SIGN_KEY_USAGE
  • CERT_KEY_ENCIPHERMENT_KEY_USAGE
  • CERT_NON_REPUDIATION_KEY_USAGE
  • CERT_OFFLINE_CRL_SIGN_KEY_USAGE

[in] cbKeyUsage

pbKeyUsage が指すバッファーのサイズ (バイト単位)。 現在、目的のキー使用法は 1 バイトまたは 2 バイトのデータを占めています。

戻り値

証明書に目的のキー使用法バイトがない場合は、 FALSE が返され、 pbKeyUsage はゼロになります。 それ以外の場合は TRUE が返され、 最大 cbKeyUsage バイト数が pbKeyUsage にコピーされます。 コピーされない残りのバイトはすべてゼロになります。

必要な拡張機能が見つからない場合、GetLastError は 0 を返します。

関数が失敗した場合、GetLastError は抽象構文表記 1 (ASN.1) エンコード/デコード エラーを返す可能性があります。 これらのエラーの詳細については、「 ASN.1 エンコード/デコードの戻り値」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll

こちらもご覧ください

データ管理関数