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 |