CryptGetObjectUrl 関数 (wincrypt.h)

CryptGetObjectUrl 関数は、証明書、証明書信頼リスト (CTL)、または証明書失効リスト (CRL) からリモート オブジェクトの URL を取得します。

関数は オブジェクトを受け取り、デコードし、オブジェクトから URL の配列へのポインターを提供します。 たとえば、証明書からは、URL の CRL 配布リストが配列内にあります。

構文

BOOL CryptGetObjectUrl(
  [in]      LPCSTR           pszUrlOid,
  [in]      LPVOID           pvPara,
  [in]      DWORD            dwFlags,
  [out]     PCRYPT_URL_ARRAY pUrlArray,
  [in, out] DWORD            *pcbUrlArray,
  [out]     PCRYPT_URL_INFO  pUrlInfo,
  [in, out] DWORD            *pcbUrlInfo,
            LPVOID           pvReserved
);

パラメーター

[in] pszUrlOid

要求される URL を識別する オブジェクト識別子 (OID) へのポインター。 pszUrlOid パラメーターの HIWORD が 0 の場合、LOWORD は指定した構造体の型の整数識別子を指定します。

このパラメーターには、次の値のいずれかを指定できます。 これらの値が pvPara パラメーターにどのように影響するかについては、「意味」列の見出し「pvPara パラメーターについて」を参照してください。

説明
URL_OID_CERTIFICATE_ISSUER
証明機関情報アクセス拡張機能または証明書のプロパティから取得した証明書発行者の URL を提供します。

pvPara パラメーターの場合: URL が要求されている発行者によって発行されたCERT_CONTEXT構造体へのポインター。

URL_OID_CERTIFICATE_CRL_DIST_POINT
CRL 配布ポイント拡張機能または証明書の プロパティから取得した CRL 配布ポイントの URL の一覧を提供します。

pvPara パラメーターの場合: CRL 配布ポイントが要求されたCERT_CONTEXT構造体へのポインター。

URL_OID_CERTIFICATE_CRL_DIST_POINT_AND_OCSP
証明機関情報アクセス (AIA) と CRL 配布ポイントの拡張機能または証明書のプロパティからの OCSP および CRL 配布ポイント URL の一覧を提供します。 この関数は、最初に CRL 配布ポイント URL を返します。 OCSP URL を使用する前に、L"ocsp:" プレフィックスを削除する必要があります。

pvPara パラメーターの場合: OCSP および CRL 配布ポイント URL が要求されるCERT_CONTEXT構造体へのポインター。

URL_OID_CERTIFICATE_OCSP
証明機関情報アクセス (AIA) 拡張機能または証明書のプロパティから OCSP URL を提供します。

pvPara パラメーターの場合: OCSP URL が要求されたCERT_CONTEXT構造体へのポインター。

URL_OID_CERTIFICATE_OCSP_AND_CRL_DIST_POINT
証明機関情報アクセス (AIA) と CRL 配布ポイントの拡張機能または証明書のプロパティからの OCSP および CRL 配布ポイント URL の一覧を提供します。 関数は、最初に OCSP URL を返します。 OCSP URL を使用する前に、L"ocsp:" プレフィックスを削除する必要があります。

pvPara パラメーターの場合: OCSP および CRL 配布ポイント URL が要求されるCERT_CONTEXT構造体へのポインター。

URL_OID_CERTIFICATE_ONLY_OCSP
証明機関情報アクセス (AIA) 拡張機能または証明書のプロパティからの OCSP URL の一覧を提供します。 OCSP URL を使用する前に、L"ocsp:" プレフィックスを削除する必要があります。

pvPara パラメーターの場合: OCSP URL が要求されるCERT_CONTEXT構造体へのポインター。

URL_OID_CTL_ISSUER
PKCS #7 CTL の各署名者情報でエンコードされた機関情報アクセス属性メソッドから取得された CTL 発行者の URL を提供します。

pvPara パラメーターの場合: 署名者インデックスによって識別される URL が要求された発行者によって発行された署名者インデックス CTL_CONTEXT構造体へのポインター。

URL_OID_CTL_NEXT_UPDATE
機関情報アクセス CTL 拡張機能、プロパティ、または署名者情報属性メソッドから取得した CTL の次の更新の URL を提供します。

pvPara パラメーターの場合: 次の更新 URL が要求される署名者インデックス CTL_CONTEXT 構造体へのポインターと、署名者情報属性をチェックする必要がある場合は省略可能な署名者インデックスへのポインター。

URL_OID_CRL_ISSUER
サブジェクト証明書から継承された CRL のプロパティから取得された CRL 発行者の URL を提供します (サブジェクト証明書の発行者またはサブジェクト証明書配布ポイント拡張機能のいずれか)。 これは、機関情報アクセス拡張メソッドとしてエンコードされます。

pvPara パラメーターの場合: URL が要求された発行者によって発行されたCRL_CONTEXT構造体へのポインター。

URL_OID_CERTIFICATE_FRESHEST_CRL
証明書の最新の CRL 拡張機能またはプロパティを取得します。

pvPara パラメーターの場合: 最新の CRL 配布ポイントが要求されている証明書のPCCERT_CONTEXT。

URL_OID_CRL_FRESHEST_CRL
CRL の最新の CRL 拡張機能またはプロパティを取得します。

pvPara パラメーターの場合: 最新の CRL 配布ポイントが要求されている証明書のベース CRL を含むCERT_CRL_CONTEXT_PAIR構造体へのポインター。

URL_OID_CROSS_CERT_DIST_POINT
証明書のクロス証明書配布ポイントの拡張機能またはプロパティを取得します。

pvPara パラメーターの場合: クロス証明書配布ポイントが要求されている証明書のPCCERT_CONTEXT。

URL_OID_CROSS_CERT_SUBJECT_INFO_ACCESS
証明書のクロス証明書サブジェクト情報アクセス拡張機能またはプロパティを取得します。

pvPara パラメーターの場合: クロス証明書サブジェクト情報アクセスが要求されている証明書のPCCERT_CONTEXT。

[in] pvPara

pszUrlOid の値によって決定される構造体。 詳細については、 pszUrlOid パラメーターの説明を参照してください。

[in] dwFlags

オブジェクトの URL ロケーターを取得するために使用されるフラグのセット。 これは、0 または次の値の 1 つ以上の組み合わせにすることができます。

説明
CRYPT_GET_URL_FROM_PROPERTY
オブジェクトの プロパティ (データの場所) から URL を検索します。
CRYPT_GET_URL_FROM_EXTENSION
オブジェクトの拡張機能から URL を検索します。
CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE
署名者情報データから認証されていない属性から URL を検索します。
CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE
署名者情報データから認証済み属性から URL を検索します。

[out] pUrlArray

値エントリのデータを受信するバッファーへのポインター。 データを保持するために必要なバッファーの長さを検索するには、このパラメーターに NULL を 指定できます。

詳細については、「不明な 長さのデータの取得」を参照してください。

[in, out] pcbUrlArray

pUrlArray パラメーターが指すバッファーのサイズをバイト単位で指定する DWORD へのポインター。 関数が戻るときに、 DWORD にはバッファーに格納されているバイト数が含まれます。 このパラメーターは、pUrlArrayNULL の場合にのみ NULL にすることができます

[out] pUrlInfo

値エントリのデータを受け取る CRYPT_URL_INFO 構造体への省略可能なポインター。

[in, out] pcbUrlInfo

pUrlArray パラメーターが指すバッファーのサイズをバイト単位で指定する DWORD へのポインター。 関数が戻るときに、 DWORD にはバッファーに格納されているバイト数が含まれます。

メモ バッファーで返されるデータを処理する場合、アプリケーションは返されるデータの実際のサイズを使用する必要があります。 実際のサイズは、入力時に指定されたバッファーのサイズよりも若干小さくすることができます。 入力では、バッファー サイズは通常、バッファーに収まる最大の出力データを確保するのに十分な大きさで指定されます。 出力時に、このパラメーターが指す変数は、バッファーにコピーされたデータの実際のサイズを反映するように更新されます。
 

pvReserved

将来使用するために予約されており、 NULL である必要があります。

戻り値

関数が成功した場合、関数は 0 以外 (TRUE) を返します。

関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、 GetLastError を呼び出します。

要件

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

関連項目

リモート オブジェクト取得関数