CryptUIWizImport 関数 (cryptuiapi.h)

関数は、 証明書証明書信頼リスト (CTL)、 証明書失効リスト (CRL)、または 証明書ストアを証明書ストア にインポートします。 インポートは、ユーザー操作の有無にかかわらず実行できます。

構文

BOOL CryptUIWizImport(
  [in] DWORD                         dwFlags,
  [in] HWND                          hwndParent,
  [in] LPCWSTR                       pwszWizardTitle,
  [in] PCCRYPTUI_WIZ_IMPORT_SRC_INFO pImportSrc,
  [in] HCERTSTORE                    hDestCertStore
);

パラメーター

[in] dwFlags

関数の動作を変更するフラグが含まれています。 これは、0 または次の値の 1 つ以上の組み合わせにすることができます。

メモCRYPTUI_WIZ_NO_UIを除き、パブリッシュされたヘッダー ファイルには次の定数は定義されていません。 これらの定数を使用するには、指定した値を使用して定義する必要があります。
 
意味
CRYPTUI_WIZ_NO_UI
0x0001
この関数は、ユーザー インターフェイスを表示せずに、pImportSrc が指すCRYPTUI_WIZ_IMPORT_SRC_INFO構造体内の情報に基づいて hDestCertStore で指定されたストアにインポートを実行します。 このフラグが指定されていない場合、この関数は、インポート プロセスをユーザーに案内するウィザードを表示します。

Windows 8とWindows Server 2012以降、このフラグを設定し、Active Directory (AD) プリンシパルに保護された PFX BLOB から証明書をインポートし、そのプリンシパルの一部として現在のユーザーが PFX パケットに埋め込まれたパスワードを復号化するアクセス許可を持っている場合、インポートは成功し、CRYPTUI_WIZ_IMPORT_SRC_INFOでパスワードを設定する必要はありません。構造。 AD プリンシパルへの PFX の保護の詳細については、pvPara パラメーターと PFXExportCertStoreEx 関数のPKCS12_PROTECT_TO_DOMAIN_SIDS フラグを参照してください。

CRYPTUI_WIZ_IGNORE_NO_UI_FLAG_FOR_CSPS
0x0002
暗号化サービス プロバイダー (CSP) によって生成されたすべてのユーザー インターフェイスを抑制します。 このオプションは、 CRYPTUI_WIZ_NO_UI_EXCEPT_CSP オプションによってオーバーライドできます。
CRYPTUI_WIZ_NO_UI_EXCEPT_CSP
0x0003
CSP によって生成されるユーザー インターフェイスを除くすべてのユーザー インターフェイスを抑制します。 このオプションは、 CRYPTUI_WIZ_IGNORE_NO_UI_FLAG_FOR_CSPS オプションをオーバーライドします。
CRYPTUI_WIZ_IMPORT_ALLOW_CERT
0x00020000
証明書のインポートを許可します。
CRYPTUI_WIZ_IMPORT_ALLOW_CRL
0x00040000
CRL のインポートを許可します。
CRYPTUI_WIZ_IMPORT_ALLOW_CTL
0x00080000
CCTL のインポートを許可します。
CRYPTUI_WIZ_IMPORT_NO_CHANGE_DEST_STORE
0x00010000
hDestCertStore パラメーターで表される宛先証明書ストアをユーザーが変更できないようにします。
CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINE
0x00100000
オブジェクトをローカル コンピューターの証明書ストアにインポートします。 これは、Personal Information Exchange (PFX) のインポートにのみ適用されます。
CRYPTUI_WIZ_IMPORT_TO_CURRENTUSER
0x00200000
オブジェクトを現在のユーザーの証明書ストアにインポートします。 これは、PFX インポートにのみ適用されます。
CRYPTUI_WIZ_IMPORT_REMOTE_DEST_STORE
0x00400000
オブジェクトをリモート証明書ストアにインポートします。 hDestCertStore パラメーターがリモート証明書ストアを表す場合は、このフラグを設定します。

[in] hwndParent

この関数が作成するダイアログ ボックスの親として使用するウィンドウのハンドル。 dwFlagsCRYPTUI_WIZ_NO_UI フラグが設定されている場合、このパラメーターは無視されます。

[in] pwszWizardTitle

この関数が作成するダイアログ ボックスで使用するタイトルを含む、null で終わる Unicode 文字列へのポインター。 dwFlagsCRYPTUI_WIZ_NO_UI フラグが設定されている場合、このパラメーターは無視されます。

[in] pImportSrc

インポートするオブジェクトに関する情報を含む CRYPTUI_WIZ_IMPORT_SRC_INFO 構造体へのポインター。 このパラメーターは、 CRYPTUI_WIZ_NO_UIdwFlags で設定され、それ以外の場合は省略可能な場合に必要です。

[in] hDestCertStore

インポートする証明書ストアへのハンドル。 このパラメーターが NULLdwFlags で CRYPTUI_WIZ_NO_UI フラグが設定されていない場合、ウィザードはユーザーに証明書ストアの選択を求めるメッセージを表示します。

戻り値

関数が成功した場合、関数は 0 以外の値を返します。

関数が失敗すると、0 が返されます。 拡張エラー情報については、 GetLastError 関数を呼び出します。

注釈

dwFlags で次の 3 つのフラグが設定されていない場合は、任意の種類のコンテンツのインポートが許可されます。

  • CRYPTUI_WIZ_IMPORT_ALLOW_CERT
  • CRYPTUI_WIZ_IMPORT_ALLOW_CRL
  • CRYPTUI_WIZ_IMPORT_ALLOW_CTL
CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINEフラグとCRYPTUI_WIZ_IMPORT_TO_CURRENTUSER フラグは、PFX BLOB のコンテンツをローカル コンピューター ストアまたは現在のユーザー ストアに強制的に適用するために使用されます。 これらのフラグのいずれも設定されておらず、 hDestCertStoreNULL の場合:
  • PFX BLOB の秘密キーは、現在のユーザー ストアに強制的にインポートされます。
  • また、CRYPTUI_WIZ_NO_UIが設定されていない場合、ウィザードは、現在のユーザー証明書ストアの中から証明書ストアを選択するようにユーザーに求めます。

要件

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

こちらもご覧ください

CRYPTUI_WIZ_IMPORT_SRC_INFO

CryptUIWizExport