暗号化関数
暗号化関数は、使用法に応じて次のように分類されます。
- CryptXML Functions
- 署名者関数の
- 基本暗号化関数
-
証明書と証明書ストア関数の
- 証明書ストア関数
- 証明書と証明書ストアのメンテナンス機能の
- 証明書関数の
- 証明書失効リスト関数 を する
- 証明書信頼リスト関数
- 拡張プロパティ関数 を する
- MakeCert 関数 を する
-
証明書検証機能の
- CCTL を使用した検証関数の
- 証明書チェーン検証機能
-
メッセージ関数の
- 低レベルメッセージ関数
- 簡略化されたメッセージ関数 を する
- 補助関数 を する
- 証明書サービスのバックアップと復元の機能 の
- コールバック関数の
- カタログ定義関数
- カタログ関数の
- WinTrust Functions
- オブジェクト ロケーター関数の
CryptXML 関数
暗号化 XML 関数は、XML 形式のデータを使用してデジタル署名を作成および表す API を提供します。 XML 形式のシグネチャの詳細については、https://go.microsoft.com/fwlink/p/?linkid=139649の XML-Signature 構文と処理の仕様を参照してください。
機能 | 形容 |
---|---|
A_SHAFinal | MD5Update 関数によって入力されたデータの最終的なハッシュを計算します。 |
A_SHAInit | データ ストリームのハッシュを開始します。 |
A_SHAUpdate | 指定したハッシュ オブジェクトにデータを追加します。 |
CryptXmlCreateReference | XML 署名への参照を作成します。 |
CryptXmlAddObject | オブジェクト 要素を、エンコード用に開かれたドキュメント コンテキストの Signature に追加します。 |
CryptXmlClose | 暗号化 XML オブジェクト ハンドルを閉じます。 |
CryptXmlDigestReference | 解決された参照をダイジェストするためにアプリケーションによって使用されます。 この関数は、ダイジェストを更新する前に変換を適用します。 |
CryptXmlDllCloseDigest | CryptXmlDllCreateDigest 関数によって割り当てられたCRYPT_XML_DIGESTを解放します。 |
CryptXmlDllCreateDigest | 指定したメソッドのダイジェスト オブジェクトを作成します。 |
CryptXmlDllCreateKey | KeyValue 要素を解析し、Cryptography API: Next Generation (CNG) BCrypt キー ハンドルを作成して署名を検証します。 |
CryptXmlDllDigestData | ダイジェストにデータを配置します。 |
CryptXmlDllEncodeAlgorithm | 既定のパラメーター 使用してアジャイル アルゴリズムの SignatureMethod または digestMethod 要素を エンコードします。 |
CryptXmlDllEncodeKeyValue | KeyValue 要素をエンコードします。 |
CryptXmlDllFinalizeDigest | ダイジェスト値を取得します。 |
CryptXmlDllGetAlgorithmInfo | XML アルゴリズムをデコードし、アルゴリズムに関する情報を返します。 |
CryptXmlDllGetInterface | 指定したアルゴリズムの暗号化拡張機能関数へのポインターを取得します。 |
CryptXmlDllSignData | データに署名します。 |
CryptXmlDllVerifySignature | 署名を検証します。 |
CryptXmlEncode | 指定された XML ライター コールバック関数を使用して署名データをエンコードします。 |
CryptXmlGetAlgorithmInfo | CRYPT_XML_ALGORITHM構造体をデコードし、アルゴリズムに関する情報を返します。 |
CryptXmlGetDocContext | 指定されたハンドルによって指定されたドキュメント コンテキストを返します。 |
CryptXmlGetReference | 指定されたハンドルによって指定された 参照 要素を返します。 |
CryptXmlGetSignature | XML Signature 要素を返します。 |
CryptXmlGetStatus | 指定したハンドルによって指定されたオブジェクトに関する状態情報を含む CRYPT_XML_STATUS 構造体を返します。 |
CryptXmlGetTransforms | 既定の変換チェーン エンジンに関する情報を返します。 |
CryptXmlImportPublicKey | 指定されたハンドルで指定された公開キーをインポートします。 |
CryptXmlOpenToEncode | エンコードする XML デジタル署名を開き、開かれた Signature 要素のハンドルを返します。 ハンドルは、1 つの CRYPT_XML_SIGNATURE 構造体を持つドキュメント コンテキストをカプセル化し、CryptXmlClose 関数が呼び出されるまで開いたままです。 |
CryptXmlOpenToDecode | デコードする XML デジタル署名を開き、CRYPT_XML_SIGNATURE 構造体をカプセル化するドキュメント コンテキストのハンドルを返します。 ドキュメント コンテキストには、1 つ以上の Signature 要素を含めることができます。 |
CryptXmlSetHMACSecret | CryptXmlSign または CryptXmlVerify関数を呼び出す前に、ハンドルHMAC シークレットを設定します。 |
CryptXmlSign | SignedInfo 要素の暗号化署名を作成します。 |
CryptXmlVerifySignature | SignedInfo 要素の暗号化署名検証を実行します。 |
PFN_CRYPT_XML_WRITE_CALLBACK | 指定したデータ プロバイダーの変換を作成します。 |
PFN_CRYPT_XML_CREATE_TRANSFORM | 暗号化 XML データを書き込みます。 |
PFN_CRYPT_XML_DATA_PROVIDER_READ | 暗号化 XML データを読み取ります。 |
PFN_CRYPT_XML_DATA_PROVIDER_CLOSE | 暗号化 XML データ プロバイダーを解放します。 |
PFN_CRYPT_XML_ENUM_ALG_INFO | 定義済みおよび登録済みの CRYPT_XML_ALGORITHM_INFO エントリを列挙します。 |
署名者関数
データに署名し、タイムスタンプを付ける関数を提供します。
機能 | 形容 |
---|---|
SignerFreeSignerContextの | SignerSignEx 関数への以前の呼び出しによって割り当てられた SIGNER_CONTEXT 構造体を解放します。 |
SignError | GetLastError 関数を呼び出し、戻りコードを HRESULTに変換します。 |
SignerSign | 指定したファイルに署名します。 |
SignerSignExの | 指定したファイルに署名し、署名されたデータへのポインターを返します。 |
SignerSignEx2の | 指定したファイルに署名とタイム スタンプを付け、複数の入れ子になった署名を許可します。 |
SignerTimeStamp | 指定した件名にタイム スタンプを設定します。 この機能は Authenticode のタイム スタンプをサポートします。 X.509 公開キー 基盤 (RFC 3161) タイムスタンプを実行するには、SignerTimeStampEx2 関数を使用します。 |
SignerTimeStampExの | 指定したサブジェクトにタイム スタンプを設定し、必要に応じて、BLOBへのポインターを含む SIGNER_CONTEXT 構造体へのポインターを返します。 この機能は Authenticode のタイム スタンプをサポートします。 X.509 公開キー 基盤 (RFC 3161) タイムスタンプを実行するには、SignerTimeStampEx2 関数を使用します。 |
SignerTimeStampEx2の | 指定したサブジェクトにタイム スタンプを設定し、必要に応じて、BLOBへのポインターを含む SIGNER_CONTEXT 構造体へのポインターを返します。 この関数を使用して、X.509 公開キー 基盤、RFC 3161 準拠のタイム スタンプを実行できます。 |
SignerTimeStampEx3の | 指定した件名にタイム スタンプを設定し、複数の署名にタイム スタンプを設定できます。 |
基本暗号化関数
基本暗号機能は、暗号化アプリケーションを開発するための最も柔軟な手段を提供します。 暗号化サービス プロバイダー (CSP) との通信はすべて、これらの機能を介して行われます。
CSP は、すべての暗号化操作を実行する独立したモジュールです。 暗号化機能を使用するアプリケーションごとに、少なくとも 1 つの CSP が必要です。 1 つのアプリケーションで複数の CSP を使用する場合があります。
複数の CSP を使用する場合は、使用する CSP を CryptoAPI 暗号化関数呼び出しで指定できます。 1 つの CSP である Microsoft Base Cryptographic Provider は、CryptoAPIにバンドルされています。 この CSP は、他の CSP が指定されていない場合、CryptoAPI 関数の多くで既定のプロバイダーとして使用されます。
各 CSP は、CryptoAPI に提供される暗号化サポートの異なる実装を提供します。 より強力な暗号アルゴリズムを提供するものもあります。その他には、スマート カードなどのハードウェア コンポーネントが含まれています。 さらに、一部の CSP は、ユーザーの 署名秘密キーを使用してデジタル署名を実行場合など、ユーザーと直接通信する場合があります。
基本暗号化関数は、次の広範なグループに含まれています。
- サービス プロバイダー関数
- キー生成と Exchange 関数
- オブジェクト エンコードおよびデコード関数
- データ暗号化および復号化関数
- ハッシュ関数とデジタル署名関数
サービス プロバイダー関数
アプリケーションは、次のサービス機能を使用して、暗号化サービス プロバイダー (CSP) に接続および切断します。
機能 | 形容 |
---|---|
CryptAcquireContext |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 特定の CSP 内で現在のユーザーのキー コンテナーへのハンドルを取得します。 |
CryptContextAddRef |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 HCRYPTPROV ハンドルで参照カウントをインクリメントします。 |
CryptEnumProviders |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 コンピューター上のプロバイダーを列挙します。 |
CryptEnumProviderTypes |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 コンピューターでサポートされているプロバイダーの種類を列挙します。 |
CryptGetDefaultProvider |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 現在のユーザーまたは指定したプロバイダーの種類のコンピューターの既定の CSP を決定します。 |
CryptGetProvParam |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 CSP の操作を制御するパラメーターを取得します。 |
CryptInstallDefaultContext |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 既定のコンテキストとして使用する HCRYPTPROVコンテキスト以前に取得したコンテキストをインストールします。 |
CryptReleaseContext |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 CryptAcquireContext 関数によって取得されたハンドルを解放します。 |
CryptSetProvider と CryptSetProviderExの |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 特定の CSP の種類のユーザーの既定の CSP を指定します。 |
CryptSetProvParam |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 CSP の属性を指定します。 |
CryptUninstallDefaultContext |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 CryptInstallDefaultContextによって以前にインストールされた既定のコンテキストを削除します。 |
FreeCryptProvFromCertExの | 暗号化サービス プロバイダー (CSP) または Cryptography API: Next Generation (CNG) キーのいずれかにハンドルを解放します。 |
キー生成と Exchange 関数
キー生成および交換機能 他のユーザーと キーを交換し、暗号化キー作成、構成、破棄します。
機能 | 形容 |
---|---|
CryptDeriveKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 パスワードから派生したキーを作成します。 |
CryptDestroyKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 キーを破棄します。 |
CryptDuplicateKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 キーの 状態 を含む、キーの正確なコピーを作成します。 |
CryptExportKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 CSP からアプリケーションのメモリ空間内の キー BLOB にキーを転送します。 |
CryptGenKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 ランダム キーを作成します。 |
CryptGenRandom |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 ランダム なデータを生成します。 |
CryptGetKeyParam |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 キーのパラメーターを取得します。 |
CryptGetUserKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 キー交換キーまたは署名キーへのハンドルを取得します。 |
CryptImportKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 キー BLOB から CSP にキーを転送します。 |
CryptSetKeyParam |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 キーのパラメーターを指定します。 |
オブジェクト エンコードおよびデコード関数
これらは、一般化されたエンコードおよびデコード関数です。 証明書の、証明書失効リスト(CRL)、証明書要求、および証明書拡張機能エンコードおよびデコードするために使用されます。
機能 | 形容 |
---|---|
CryptDecodeObject | lpszStructType 型の構造体をデコードします。 |
CryptDecodeObjectEx | lpszStructType 型の構造体をデコードします。 CryptDecodeObjectEx では、ワンパス メモリ割り当てオプションがサポートされています。 |
CryptEncodeObject | lpszStructType 型の構造体をエンコードします。 |
CryptEncodeObjectEx | lpszStructType 型の構造体をエンコードします。 CryptEncodeObjectEx では、ワンパス メモリ割り当てオプションがサポートされています。 |
データ暗号化および復号化関数
次の関数は、暗号化と暗号化解除の操作をサポートしています。 CryptEncrypt と CryptDecrypt 呼び出される前に、暗号化キー が必要です。 これを行うには、CryptGenKey、CryptDeriveKey、または CryptImportKey関数使用します。 暗号化アルゴリズムは、キーの作成時に指定されます。 CryptSetKeyParam、追加の暗号化パラメーターを設定できます。
機能 | 形容 |
---|---|
CryptDecrypt |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 指定した暗号化キーを使用して、暗号テキスト のセクションを復号化します。 |
CryptEncrypt |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 指定した暗号化キー 使用してプレーンテキスト のセクションを暗号化します。 |
CryptProtectData | DATA_BLOB 構造内のデータに対して暗号化を実行します。 |
CryptProtectMemory | 機密情報を保護するためにメモリを暗号化します。 |
CryptUnprotectData | DATA_BLOB内のデータの復号化と整合性チェックを実行します。 |
CryptUnprotectMemory | CryptProtectMemoryを使用して暗号化されたメモリを復号化します。 |
ハッシュ関数とデジタル署名関数
これらの関数は データの ハッシュを計算し、デジタル署名作成して検証します。 ハッシュは、メッセージ ダイジェストとも呼ばれます。
機能 | 形容 |
---|---|
CryptCreateHash |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 空のハッシュ オブジェクトを作成します。 |
CryptDestroyHash |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 ハッシュ オブジェクトを破棄します。 |
CryptDuplicateHash | ハッシュ オブジェクトを複製します。 |
CryptGetHashParam | ハッシュ オブジェクト パラメーターを取得します。 |
CryptHashData |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 データのブロックをハッシュし、指定したハッシュ オブジェクトに追加します。 |
CryptHashSessionKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 セッション キーをハッシュし、指定したハッシュ オブジェクトに追加します。 |
CryptSetHashParam |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 ハッシュ オブジェクト パラメーターを設定します。 |
CryptSignHash |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 指定したハッシュ オブジェクトに署名します。 |
CryptUIWizDigitalSign | ドキュメントまたは BLOBにデジタル署名するウィザードを表示します。 |
CryptUIWizFreeDigitalSignContext | CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT 構造体へのポインターを解放します。 |
CryptVerifySignature |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 ハッシュ オブジェクトへのハンドルを指定して、デジタル署名を検証します。 |
PFNCFILTERPROCの | CryptUIWizDigitalSign 関数によって表示されるデジタル署名ウィザードに表示される証明書をフィルター処理します。 |
証明書と証明書ストアの関数
証明書と証明書ストアの機能は、証明書、証明書失効リスト (CRL)、および証明書信頼リスト(CCTL) の使用、ストレージ、および取得管理します。 これらの関数は、次のグループに分かれています。
- 証明書ストア関数
- 証明書と証明書ストアのメンテナンス機能
- 証明書関数
- 証明書失効リスト関数
- 証明書信頼リスト関数
- 拡張プロパティ関数
- MakeCert 関数
証明書ストア関数
ユーザー サイトでは、時間の経過と同時に多数の証明書を収集できます。 通常、サイトには、サイトのユーザー用の証明書と、ユーザーが通信する個人やエンティティを記述するその他の証明書があります。 エンティティごとに、複数の証明書を使用できます。 個々の証明書ごとに、信頼された ルート証明書への証跡を提供する証明書を検証するチェーンが存在する必要があります。 証明書ストア とそれに関連する関数は、証明書に格納されている情報を格納、取得、列挙、検証、および使用する機能を提供します。
機能 | 形容 |
---|---|
CertAddStoreToCollection | 兄弟証明書ストアをコレクション証明書ストアに追加します。 |
CertCloseStore | 証明書ストア ハンドルを閉じます。 |
CertControlStore | キャッシュされたストアの内容と、ストレージに永続化されるストアの内容の間に違いがある場合に、アプリケーションに通知を受け取ることができます。 また、必要に応じてキャッシュされたストアを分離し、キャッシュされたストアで行われた変更を永続化されたストレージにコミットする手段も提供します。 |
CertDuplicateStore | 参照カウントをインクリメントして、ストア ハンドルを複製します。 |
CertEnumPhysicalStore | 指定したシステム ストアの物理ストアを列挙します。 |
CertEnumSystemStore | 使用可能なすべてのシステム ストアを列挙します。 |
CertEnumSystemStoreLocation | 使用可能なシステム ストアを持つすべての場所を列挙します。 |
CertGetStoreProperty | ストア プロパティを取得します。 |
CertOpenStore | 指定したストア プロバイダーの種類を使用して証明書ストアを開きます。 |
CertOpenSystemStore | サブシステム プロトコルに基づいてシステム証明書ストアを開きます。 |
CertRegisterPhysicalStore | レジストリ システム ストア コレクションに物理ストアを追加します。 |
CertRegisterSystemStore | システム ストアを登録します。 |
CertRemoveStoreFromCollection | コレクション ストアから兄弟証明書ストアを削除します。 |
CertSaveStore | 証明書ストアを保存します。 |
CertSetStoreProperty | ストア プロパティを設定します。 |
CertUnregisterPhysicalStore | 指定したシステム ストア コレクションから物理ストアを削除します。 |
CertUnregisterSystemStore | 指定したシステム ストアの登録を解除します。 |
CryptUIWizExport | 証明書、証明書信頼リスト (CTL)、証明書失効リスト (CRL)、または証明書ストアをエクスポートするウィザードを表示します。 |
CryptUIWizImport | 証明書、証明書信頼リスト (CTL)、証明書失効リスト (CRL)、または証明書ストアをインポートするウィザードを表示します。 |
証明書と証明書ストアのメンテナンス機能
CryptoAPI には、一般的な証明書と証明書ストアのメンテナンス機能のセットが用意されています。
機能 | 形容 |
---|---|
CertAddSerializedElementToStore | シリアル化された証明書または CRL 要素をストアに追加します。 |
CertCreateContext | エンコードされたバイトから指定されたコンテキストを作成します。 新しいコンテキストはストアに格納されません。 |
CertEnumSubjectInSortedCTL | 並べ替えられた CTL コンテキストで TrustedSubjects を列挙します。 |
CertFindSubjectInCTL | CTL で指定された件名を検索します。 |
CertFindSubjectInSortedCTL | 並べ替えられた CTL で指定された件名を検索します。 |
OpenPersonalTrustDBDialog と openPersonalTrustDBDialogEx | [証明書の ] ダイアログ ボックスを表示します。 |
証明書関数
ほとんどの 証明書 関数には、CRL と CCTLを処理するための関連関数があります。 関連する CRL および CTL 関数の詳細については、「証明書失効リスト関数」および「証明書信頼リスト関数」を参照してください。
機能 | 形容 |
---|---|
CertAddCertificateContextToStore | 証明書ストアに証明書コンテキストを追加します。 |
CertAddCertificateLinkToStore | 証明書ストア内のリンクを別のストアの証明書コンテキストに追加します。 |
CertAddEncodedCertificateToStore | エンコードされた証明書を証明書コンテキストに変換し、そのコンテキストを証明書ストアに追加します。 |
CertAddRefServerOcspResponse | HCERT_SERVER_OCSP_RESPONSE ハンドルの参照カウントをインクリメントします。 |
CertAddRefServerOcspResponseContext | CERT_SERVER_OCSP_RESPONSE_CONTEXT 構造体の参照カウントをインクリメントします。 |
CertCloseServerOcspResponse | オンライン証明書ステータス プロトコル (OCSP) サーバー応答ハンドルを閉じます。 |
CertCreateCertificateContext | エンコードされた証明書から証明書コンテキストを作成します。 作成されたコンテキストは証明書ストアに格納されません。 |
CertCreateSelfSignCertificate | 自己署名証明書を作成します。 |
CertDeleteCertificateFromStore | 証明書ストアから証明書を削除します。 |
CertDuplicateCertificateContext | 参照カウントをインクリメントして、証明書コンテキストを複製します。 |
CertEnumCertificatesInStore | 証明書ストア内の証明書コンテキストを列挙します。 |
CertFindCertificateInStore | 検索条件を満たす証明書ストア内の最初または次の証明書コンテキストを検索します。 |
CertFreeCertificateContext | 証明書コンテキストを解放します。 |
CertGetIssuerCertificateFromStore | 指定したサブジェクト証明書の最初または次の発行者の証明書ストアから証明書コンテキストを取得します。 |
CertGetServerOcspResponseContext | 指定したハンドルの非ブロッキングの有効な オンライン証明書状態プロトコル (OCSP) 応答コンテキストを取得します。 |
CertGetSubjectCertificateFromStore | 証明書ストアから、発行者とシリアル番号によって一意に識別されるサブジェクト証明書コンテキストを取得します。 |
CertGetValidUsages | 証明書の配列内のすべての証明書の有効な使用法の積集合で構成される使用法の配列を返します。 |
CertOpenServerOcspResponse | サーバー証明書チェーンに関連付けられている オンライン証明書状態プロトコル (OCSP) 応答へのハンドルを開きます。 |
CertRetrieveLogoOrBiometricInfo | szOID_LOGOTYPE_EXT または szOID_BIOMETRIC_EXT 証明書拡張機能で指定されたロゴまたは生体認証情報の URL 取得を実行します。 |
CertSelectCertificate | ユーザーが特定の条件に一致する証明書のセットから証明書を選択できるようにするダイアログ ボックスを表示します。 |
CertSelectCertificateChains | 指定した選択条件に基づいて証明書チェーンを取得します。 |
CertSelectionGetSerializedBlob | CERT_SELECTUI_INPUT 構造体から BLOBシリアル化された証明書を取得するために使用されるヘルパー関数。 |
CertSerializeCertificateStoreElement | 証明書コンテキストのエンコードされた証明書とそのプロパティのエンコードされた表現をシリアル化します。 |
CertVerifySubjectCertificateContext | 発行者を使用して、サブジェクト証明書に対して有効な検証チェックを実行します。 |
CryptUIDlgCertMgr | ユーザーが証明書を管理できるようにするダイアログ ボックスを表示します。 |
CryptUIDlgSelectCertificate | ユーザーが証明書を選択できるようにするダイアログ ボックスを表示します。 |
CryptUIDlgSelectCertificateFromStore | 指定したストアから証明書を選択できるダイアログ ボックスを表示します。 |
CryptUIDlgViewCertificate | 指定した証明書を表示するダイアログ ボックスを表示します。 |
CryptUIDlgViewContext | 証明書、CRL、または CTL を表示します。 |
CryptUIDlgViewSignerInfo | 署名されたメッセージの署名者情報を含むダイアログ ボックスを表示します。 |
GetFriendlyNameOfCertをする | 証明書の表示名を取得します。 |
RKeyCloseKeyServiceをする | キー サービス ハンドルを閉じます。 |
RKeyOpenKeyService | リモート コンピューターでキー サービス ハンドルを開きます。 |
RKeyPFXInstall | リモート コンピューターに証明書をインストールします。 |
証明書失効リスト関数
これらの関数は、証明書失効リスト (CRL) のストレージと取得を管理します。
機能 | 形容 |
---|---|
CertAddCRLContextToStore | 証明書ストアに CRL コンテキストを追加します。 |
CertAddCRLLinkToStore | ストア内のリンクを別のストアの CRL コンテキストに追加します。 |
CertAddEncodedCRLToStore | エンコードされた CRL を CRL コンテキストに変換し、そのコンテキストを証明書ストアに追加します。 |
CertCreateCRLContext | エンコードされた CRL から CRL コンテキストを作成します。 作成されたコンテキストは証明書ストアに格納されません。 |
CertDeleteCRLFromStore | 証明書ストアから CRL を削除します。 |
CertDuplicateCRLContext | 参照カウントをインクリメントして CRL コンテキストを複製します。 |
CertEnumCRLsInStore | ストア内の CRL コンテキストを列挙します。 |
CertFindCertificateInCRL | 指定した証明書の 証明書失効リスト (CRL) を検索します。 |
CertFindCRLInStore | 特定の条件に一致する証明書ストア内の最初または次の CRL コンテキストを検索します。 |
CertFreeCRLContext | CRL コンテキストを解放します。 |
CertGetCRLFromStore | 指定した発行者証明書の証明書ストアから最初または次の CRL コンテキストを取得します。 |
CertSerializeCRLStoreElement | CRL コンテキストのエンコードされた CRL とそのプロパティをシリアル化します。 |
証明書信頼リスト関数
これらの関数は、証明書信頼リスト (CCTL) のストレージと取得を管理します。
機能 | 形容 |
---|---|
CertAddCTLContextToStore | 証明書ストアに CTL コンテキストを追加します。 |
CertAddCTLLinkToStore | ストア内のリンクを別のストアの CRL コンテキストに追加します。 |
CertAddEncodedCTLToStore | エンコードされた CTL を CTL コンテキストに変換し、そのコンテキストを証明書ストアに追加します。 |
CertCreateCTLContext | エンコードされた証明書信頼リストから CTL コンテキストを作成します。 作成されたコンテキストは証明書ストアに格納されません。 |
CertDeleteCTLFromStore | 証明書ストアから CTL を削除します。 |
CertDuplicateCTLContext | 参照カウントをインクリメントして CTL コンテキストを複製します。 |
CertEnumCTLsInStore | 証明書ストア内の CTL コンテキストを列挙します。 |
CertFindCTLInStore | 特定の条件に一致する証明書ストア内の最初または次の CTL コンテキストを検索します。 |
CertFreeCTLContext | CTL コンテキストを解放します。 |
CertModifyCertificatesToTrust | 特定の目的のために CTL 内の証明書のセットを変更します。 |
CertSerializeCTLStoreElement | CTL コンテキストのエンコードされた CTL とそのプロパティをシリアル化します。 |
拡張プロパティ関数
次の関数は、証明書、CRL、および CCTL の拡張プロパティを操作します。
機能 | 形容 |
---|---|
CertEnumCertificateContextProperties | 指定した証明書コンテキストのプロパティを列挙します。 |
CertEnumCRLContextProperties | 指定した CRL コンテキストのプロパティを列挙します。 |
CertEnumCTLContextProperties | 指定した CTL コンテキストのプロパティを列挙します。 |
CertGetCertificateContextProperty | 証明書のプロパティを取得します。 |
CertGetCRLContextProperty | CRL プロパティを取得します。 |
CertGetCTLContextProperty | CTL プロパティを取得します。 |
CertSetCertificateContextProperty | 証明書のプロパティを設定します。 |
CertSetCRLContextProperty | CRL プロパティを設定します。 |
CertSetCTLContextProperty | CTL プロパティを設定します。 |
MakeCert 関数
次の関数は、MakeCert ツールをサポートしています。
機能 | 形容 |
---|---|
FreeCryptProvFromCertの | 暗号化サービス プロバイダー (CSP) にハンドルを解放し、必要に応じて、GetCryptProvFromCert 関数によって作成された一時コンテナーを削除します。 |
GetCryptProvFromCertをする | CSP へのハンドルと証明書コンテキストのキー仕様を取得します。 |
PvkFreeCryptProv | CSP へのハンドルを解放し、必要に応じて、PvkGetCryptProv 関数によって作成された一時コンテナーを削除します。 |
PvkGetCryptProvをする | 秘密キー ファイル名またはキー コンテナー名のいずれかに基づいて CSP へのハンドルを取得します。 |
PvkPrivateKeyAcquireContextFromMemoryの | CSP に一時コンテナーを作成し、メモリからコンテナーに秘密キーを読み込みます。 |
PvkPrivateKeySave | 秘密キーとそれに対応する 公開キー を指定したファイルに保存します。 |
SignError | GetLastError呼び出し、リターン コードを HRESULTに変換します。 |
証明書検証関数
証明書は、CTL または証明書チェーンを使用して検証されます。 関数は、次の両方に対して提供されます。
- CCTL を使用した検証関数
- 証明書チェーン検証関数
CCTL を使用した検証関数
これらの関数は、検証プロセスで CCTL を使用します。 CCTL を操作するためのその他の関数については、証明書信頼リスト関数と拡張プロパティ関数を参照してください。
次の関数は、検証に直接 CCTL を使用します。
機能 | 形容 |
---|---|
CertVerifyCTLUsage | CTL の使用状況を確認します。 |
CryptMsgEncodeAndSignCTL | CTL をメッセージとしてエンコードして署名します。 |
CryptMsgGetAndVerifySigner | メッセージから CTL を取得して検証します。 |
CryptMsgSignCTL | CTL を含むメッセージに署名します。 |
証明書チェーン検証関数
証明書チェーンは、個々の証明書に関する信頼情報を提供するために構築されています。
関数名 | 形容 |
---|---|
CertCreateCertificateChainEngine | アプリケーションの既定以外の新しいチェーン エンジンを作成します。 |
CertCreateCTLEntryFromCertificateContextProperties | 属性が証明書コンテキストのプロパティである CTL エントリを作成します。 |
CertDuplicateCertificateChain | チェーンの 参照カウント をインクリメントし、チェーンへのポインターを返すことによって、証明書チェーンを複製します。 |
CertFindChainInStore | ストア内の最初または次の証明書チェーン コンテキストを検索します。 |
CertFreeCertificateChain | 証明書チェーンの参照数を減らすことで、証明書チェーンを解放します。 |
CertFreeCertificateChainEngine | 既定以外の証明書チェーン エンジンを解放します。 |
CertFreeCertificateChainList | チェーン コンテキストへのポインターの配列を解放します。 |
CertGetCertificateChain | 可能であれば、エンド証明書から開始し、信頼された ルート証明書に戻るチェーン コンテキストを構築します。 |
CertIsValidCRLForCertificate | CRL を調べて、その証明書が失効した場合に特定の証明書が含まれるかどうかを判断します。 |
CertSetCertificateContextPropertiesFromCTLEntry | CTL エントリの属性を使用して、証明書コンテキストのプロパティを設定します。 |
CertVerifyCertificateChainPolicy | 証明書チェーンをチェックして、指定された有効性ポリシー条件への準拠を含め、その有効性を確認します。 |
メッセージ関数
CryptoAPI メッセージ関数は、低レベルのメッセージ関数と簡略化されたメッセージ関数の 2 つのグループで構成されます。
低レベルのメッセージ関数は、PKCS #7 メッセージを作成して直接操作します。 これらの関数は、受信した PKCS #7 データを転送およびデコードするために PKCS #7 データをエンコードします。 また、受信したメッセージの署名の暗号化を解除して検証します。 PKCS #7 標準および低レベルメッセージの概要については、「低レベルメッセージ を参照してください。
簡略化されたメッセージ関数は、より高いレベルにあり、いくつかの低レベルのメッセージ関数と証明書関数を、特定の方法で特定のタスクを実行する単一の関数にラップします。 これらの関数により、タスクを実行するために必要な関数呼び出しの数が減り、CryptoAPI の使用が簡略化されます。 簡略化されたメッセージの概要については、「簡略化されたメッセージの 」を参照してください。
- 低レベルメッセージ関数
- 簡略化されたメッセージ関数
低レベルメッセージ関数
低レベルのメッセージ関数は、送信のためにデータをエンコードし、受信した PKCS #7 メッセージをデコードするために必要な機能を提供します。 また、受信したメッセージの署名を復号化して検証する機能も提供されます。 ほとんどのアプリケーションでこれらの低レベルのメッセージ関数を使用することはお勧めしません。 ほとんどのアプリケーションでは、いくつかの低レベルのメッセージ関数を 1 つの関数呼び出しにラップする簡略化されたメッセージ関数を使用することをお勧めします。
機能 | 形容 |
---|---|
CryptMsgCalculateEncodedLength | エンコードされた暗号化メッセージの長さを計算します。 |
CryptMsgClose | 暗号化メッセージのハンドルを閉じます。 |
CryptMsgControl | エンコードまたはデコードされた暗号化メッセージの最終的な CryptMsgUpdate の後に特別な制御関数を実行します。 |
CryptMsgCountersign | メッセージ内の既存の署名に対して署名します。 |
CryptMsgCountersignEncoded | 既に存在する署名 (PKCS #7 で定義されているエンコードされた SignerInfo) に対して署名します。 |
CryptMsgDuplicate | 参照カウントインクリメントして、暗号化メッセージ ハンドルを複製します。 参照カウントは、メッセージの有効期間を追跡します。 |
CryptMsgGetParam | 暗号化メッセージのエンコードまたはデコード後にパラメーターを取得します。 |
CryptMsgOpenToDecode | デコード用の暗号化メッセージを開きます。 |
CryptMsgOpenToEncode | エンコード用の暗号化メッセージを開きます。 |
CryptMsgUpdate | 暗号化メッセージの内容を更新します。 |
CryptMsgVerifyCountersignatureEncoded | SignerInfo 構造体 (PKCS #7 で定義) に関して、のカウンター署名 を検証します。 |
CryptMsgVerifyCountersignatureEncodedEx | pbSignerInfoCounterSignature パラメーターに、pbSignerInfo パラメーター構造の encryptedDigest フィールドの暗号化された ハッシュ が含まれていることを確認します。 |
簡略化されたメッセージ関数
簡略化されたメッセージ関数、低レベルのメッセージ関数を 1 つの関数にラップして、指定したタスクを実行します。
機能 | 形容 |
---|---|
CryptDecodeMessage | 暗号化メッセージをデコードします。 |
CryptDecryptAndVerifyMessageSignature | 指定したメッセージを復号化し、署名者を検証します。 |
CryptDecryptMessage | 指定したメッセージを復号化します。 |
CryptEncryptMessage | 受信者または受信者のメッセージを暗号化します。 |
CryptGetMessageCertificates | メッセージの証明書と CRLを含む 証明書ストア を返します。 |
CryptGetMessageSignerCount | 署名されたメッセージの署名者の数を返します。 |
CryptHashMessage | メッセージのハッシュを作成します。 |
CryptSignAndEncryptMessage | メッセージに署名し、受信者または受信者に対して暗号化します。 |
CryptSignMessageWithKey | 関数のパラメーターで指定された CSP の秘密キーを使用してメッセージに署名します。 |
CryptSignMessage | メッセージに署名します。 |
CryptVerifyDetachedMessageHash | デタッチされたハッシュを含むハッシュされたメッセージを検証します。 |
CryptVerifyDetachedMessageSignature | デタッチされた署名または署名を含む署名付きメッセージを検証します。 |
CryptVerifyMessageHash | ハッシュされたメッセージを検証します。 |
CryptVerifyMessageSignature | 署名されたメッセージを検証します。 |
CryptVerifyMessageSignatureWithKey | 指定した公開キー情報を使用して、署名されたメッセージの署名を検証します。 |
補助関数
補助関数は次のようにグループ化されます。
- データ管理機能
- データ変換関数
- 拡張キー使用法関数
- キー識別子関数
- OID サポート関数
- リモート オブジェクト取得関数
- PFX 関数
データ管理機能
次の CryptoAPI 関数は、データと証明書を管理します。
機能 | 形容 |
---|---|
CertCompareCertificate | 2 つの証明書を比較して、それらが同じかどうかを判断します。 |
CertCompareCertificateName | 2 つの証明書名を比較して、それらが同じかどうかを判断します。 |
CertCompareIntegerBlob | BLOB2 つの整数を比較します。 |
CertComparePublicKeyInfo | 2 つの 公開キー を比較して、それらが同一であるかどうかを判断します。 |
CertFindAttribute | オブジェクト識別子 (OID) によって識別される最初の属性を検索します。 |
CertFindExtension | OID で識別される最初の拡張機能を検索します。 |
CertFindRDNAttr | 相対識別名の名前リストで、OID によって識別される最初の RDN 属性を検索します。 |
CertGetIntendedKeyUsage | 証明書から目的のキー使用法バイトを取得します。 |
CertGetPublicKeyLength | 公開キー BLOBから公開/秘密キーのビット長を取得します。 |
CertIsRDNAttrsInCertificateName | 証明書名 の属性を指定した CERT_RDN と比較して、すべての属性がそこに含まれているかどうかを判断します。 |
CertIsStrongHashToSign | 指定したハッシュ アルゴリズムと署名証明書の公開キーを使用して強力な署名を実行できるかどうかを判断します。 |
CertVerifyCRLRevocation | サブジェクト証明書が 証明書失効リスト (CRL) に含まれていないことを確認します。 |
CertVerifyCRLTimeValidity | CRL の有効期間を確認します。 |
CertVerifyRevocation | サブジェクト証明書が CRL に含まれていないことを確認します。 |
CertVerifyTimeValidity | 証明書の有効期間を確認します。 |
CertVerifyValidityNesting | サブジェクトの時刻の有効期間が発行者の時刻の有効期間内に入れ子であることを確認します。 |
CryptExportPKCS8 | この関数は、CryptExportPKCS8Ex 関数に置き換えられます。 |
CryptExportPKCS8Ex | 秘密キーを PKCS #8 形式でエクスポートします。 |
CryptExportPublicKeyInfo | プロバイダーの対応する秘密キーに関連付けられている公開キー情報をエクスポートします。 |
CryptExportPublicKeyInfoEx | プロバイダーの対応する秘密キーに関連付けられている公開キー情報をエクスポートします。 この関数 CryptExportPublicKeyInfo とは異なり、ユーザーは公開キー アルゴリズムを指定できるため、CSP によって提供される既定値がオーバーライドされます。 |
CryptExportPublicKeyInfoFromBCryptKeyHandle | プロバイダーの対応する秘密キーに関連付けられている公開キー情報をエクスポートします。 |
CryptFindCertificateKeyProvInfo | 証明書の公開キーに対応する秘密キーを検索するために暗号化プロバイダーとそのキー コンテナーを列挙します。 |
CryptFindLocalizedName | たとえば、ルート システムのストア名のローカライズされた名前を検索するなど、指定した名前のローカライズされた名前を検索します。 |
CryptHashCertificate |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 エンコードされたコンテンツをハッシュします。 |
CryptHashCertificate2 | Cryptography API: Next Generation (CNG) ハッシュ プロバイダーを使用して、データのブロックをハッシュします。 |
CryptHashPublicKeyInfo |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 エンコードされた公開キー情報のハッシュを計算します。 |
CryptHashToBeSigned |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 エンコードされた署名済みコンテンツ (CERT_SIGNED_CONTENT_INFO) 内の "署名する" 情報のハッシュを計算します。 |
CryptImportPKCS8 |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 PKCS #8 形式の 秘密キー を、暗号化サービス プロバイダー (CSP) にインポートします。 |
CryptImportPublicKeyInfo |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 公開キー情報をプロバイダーに変換してインポートし、公開キーのハンドルを返します。 |
CryptImportPublicKeyInfoEx |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 公開キー情報をプロバイダーに変換してインポートし、公開キーのハンドルを返します。 既定値をオーバーライドするために使用できる追加のパラメーター (CryptImportPublicKeyInfoで指定されたもの) は、CERT_PUBLIC_KEY_INFOを補完するために提供されます。 |
CryptImportPublicKeyInfoEx2 | 公開キーを CNG 非対称プロバイダーにインポートします。 |
CryptMemAlloc | バッファーのメモリを割り当てます。 このメモリは、割り当てられたバッファーを返すすべての Crypt32.lib 関数によって使用されます。 |
CryptMemFree | CryptMemAlloc または CryptMemReallocによって割り当てられたメモリを解放します。 |
CryptMemRealloc | 現在バッファーに割り当てられているメモリを解放し、新しいバッファーにメモリを割り当てます。 |
CryptQueryObject |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 BLOB またはファイルの内容に関する情報を取得します。 |
CryptSignAndEncodeCertificate | "署名する" 情報をエンコードし、このエンコードされた情報に署名し、結果として生成される署名済みのエンコードされた情報をエンコードします。 |
CryptSignCertificate | エンコードされた署名済みコンテンツの "署名する" 情報に署名します。 |
CryptSIPAddProvider | サブジェクト インターフェイス パッケージ (SIP) を追加します。 |
CryptSIPCreateIndirectData | 指定された SIP_SUBJECTINFO 構造体、ダイジェスト アルゴリズム、およびエンコード属性の ハッシュ を含む SIP_INDIRECT_DATA 構造体を返します。 ハッシュは、データへの間接的な参照として使用できます。 |
CryptSIPGetCaps | SIP の機能を取得します。 |
CryptSIPGetSignedDataMsg | ファイルから Authenticode 署名を取得します。 |
CryptSIPLoad | サブジェクト インターフェイス パッケージを実装するダイナミック リンク ライブラリを読み込み、適切なライブラリ エクスポート関数を SIP_DISPATCH_INFO 構造に割り当てます。 |
CryptSIPPutSignedDataMsg | Authenticode Signature をターゲット ファイルに格納します。 |
CryptSIPRemoveProvider | CryptSIPAddProvider 関数への前回の呼び出しによって追加された SIP を削除します。 |
CryptSIPRemoveSignedDataMsg | 指定した Authenticode 署名を削除します。 |
CryptSIPRetrieveSubjectGuid | 指定したファイル内のヘッダー情報に基づいて GUID を取得します。 |
CryptSIPRetrieveSubjectGuidForCatalogFile | 指定したファイルに関連付けられているサブジェクト GUID を取得します。 |
CryptSIPVerifyIndirectData | 指定されたサブジェクトに対して間接ハッシュ データを検証します。 |
CryptUpdateProtectedState | ユーザーの セキュリティ識別子 (SID) が変更された後、現在のユーザーのマスター キーを移行します。 |
CryptVerifyCertificateSignature | 公開キー情報を使用して、サブジェクト証明書または CRL の署名を検証します。 |
CryptVerifyCertificateSignatureEx | CryptVerifyCertificateSignatureの拡張バージョン。 |
GetEncSChannelの | 暗号化された Schannel DLL の内容をメモリに格納します。 |
pCryptSIPGetCapsをする | 機能を報告するために SIP によって実装されます。 |
データ変換関数
次の CryptoAPI 関数は、証明書構造のメンバーを異なる形式に変換します。
機能 | 形容 |
---|---|
CertAlgIdToOID | CryptoAPI アルゴリズム識別子 (ALG_ID) を、オブジェクト識別子(OID) 文字列抽象構文表記 1 (ASN.1) に変換します。 |
CertGetNameString | 証明書からサブジェクト名または発行者名を取得し、null で終わる文字列に変換します。 |
CertNameToStr | BLOB証明書名を 0 で終わる文字列に変換します。 |
CertOIDToAlgId | ASN.1 オブジェクト識別子文字列を CSP アルゴリズム識別子に変換します。 |
CertRDNValueToStr | Name Value を null で終わる文字列に変換します。 |
CertStrToName | X.500文字列null で終わる文字列をエンコードされた証明書名に変換します。 |
CryptBinaryToString | バイナリ シーケンスを書式設定された文字列に変換します。 |
CryptFormatObject | エンコードされたデータを書式設定し、Unicode 文字列を返します。 |
CryptStringToBinary | 書式設定された文字列をバイナリ シーケンスに変換します。 |
拡張キー使用法関数
次の関数は、拡張キー使用法 (EKU) 拡張機能と証明書の EKU 拡張プロパティを扱います。 EKU 拡張プロパティと拡張プロパティは、証明書の有効な使用を指定および制限します。 拡張機能は、証明書自体の一部です。 これらは証明書の発行者によって設定され、読み取り専用です。 証明書拡張プロパティは、アプリケーションで設定できる証明書に関連付けられている値です。
機能 | 形容 |
---|---|
CertAddEnhancedKeyUsageIdentifier | 証明書の EKU プロパティに使用状況識別子を追加します。 |
CertGetEnhancedKeyUsage | 証明書から、EKU 拡張機能またはプロパティに関する情報を取得します。 |
CertRemoveEnhancedKeyUsageIdentifier | 証明書の EKU 拡張プロパティから使用状況識別子を削除します。 |
CertSetEnhancedKeyUsage | 証明書の EKU プロパティを設定します。 |
キー識別子関数
キー識別子関数を使用すると、ユーザーはキー識別子またはそのプロパティを作成、設定、取得、または検索できます。
キー識別子は、公開キーと秘密キーのペアの一意識別子です。 任意の一意識別子を指定できますが、通常はエンコードされた CERT_PUBLIC_KEY_INFO 構造体の 20 バイト SHA1 ハッシュです。 キー識別子は、証明書のCERT_KEY_IDENTIFIER_PROP_IDを使用して取得できます。 キー識別子を使用すると、その キー ペアを使用、証明書を使用せずにメッセージを暗号化または復号化できます。
キー識別子は、CRL または CCTL関連付けされていません。
キー識別子は、証明書コンテキストと同じプロパティを持つことができます。 詳細については、「CertCreateContext」を参照してください。
機能 | 形容 |
---|---|
CryptCreateKeyIdentifierFromCSP |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 CSP の 公開キー BLOBからキー識別子を作成します。 |
CryptEnumKeyIdentifierProperties | キー識別子とそのプロパティを列挙します。 |
CryptGetKeyIdentifierProperty |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 指定したキー識別子から特定のプロパティを取得します。 |
CryptSetKeyIdentifierProperty |
重要: この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。 指定したキー識別子のプロパティを設定します。 |
OID サポート関数
これらの関数は、オブジェクト識別子 (OID) のサポートを提供します。 これらの関数は、OID およびエンコード型固有の関数をインストール、登録、およびディスパッチします。
次の CryptoAPI 関数では、これらの OID サポート関数を使用します。
- CryptEncodeObject
- CryptEncodeObjectEx
- CryptDecodeObject
- CryptDecodeObjectEx
- CertVerifyRevocation
- CertOpenStore
このプロセスの概要については、「CryptoAPI 機能の拡張」を参照してください。
次の関数は OID で動作します。
機能 | 形容 |
---|---|
CryptEnumOIDFunction | エンコードの種類、関数名、および OID で識別される登録済みの OID 関数を列挙します。 |
CryptEnumOIDInfo | グループによって識別される登録済みの OID 情報を列挙し、pfnEnumOIDInfo 一致する を呼び出します。 |
CryptFindOIDInfo | 指定したキーとグループを使用して OID 情報を検索します。 |
CryptFreeOIDFunctionAddress | CryptGetOIDFunctionAddress または CryptGetDefaultOIDFunctionAddressによってインクリメントおよび返されたハンドル数を解放します。 |
CryptGetDefaultOIDDllList | 指定した関数セットとエンコードの種類について、登録されている既定の DLL エントリの一覧を取得します。 |
CryptGetDefaultOIDFunctionAddress | 最初または次にインストールされた既定の関数を取得するか、既定の関数を含む DLL を読み込みます。 |
CryptGetOIDFunctionAddress | インストールされている関数の一覧でエンコードの種類と OID の一致を検索します。 一致するものが見つからない場合、レジストリは一致するものを検索します。 |
CryptGetOIDFunctionValue | 指定したエンコードの種類、関数名、OID、および値の名前の値を取得します。 |
CryptInitOIDFunctionSet | 指定された関数名で識別される OID 関数セットのハンドルを初期化して返します。 |
CryptInstallOIDFunctionAddress | 呼び出し可能な OID 関数アドレスのセットをインストールします。 |
CryptRegisterDefaultOIDFunction | 指定したエンコードの種類と関数名に対して呼び出される既定の関数を含む DLL を登録します。 |
CryptRegisterOIDFunction | 指定したエンコードの種類、関数名、および OID に対して呼び出される関数を含む DLL を登録します。 |
CryptRegisterOIDInfo | CRYPT_OID_INFO 構造体で指定された OID 情報を登録し、レジストリに保持します。 |
CryptSetOIDFunctionValue | 指定したエンコードの種類、関数名、OID、および値の名前の値を設定します。 |
CryptUnregisterDefaultOIDFunction | 指定したエンコードの種類と関数名に対して呼び出される既定の関数を含む DLL の登録を削除します。 |
CryptUnregisterOIDFunction | 指定したエンコードの種類、関数名、および OID に対して呼び出される関数を含む DLL の登録を削除します。 |
CryptUnregisterOIDInfo | 指定した OID 情報の登録を削除します。 |
リモート オブジェクト取得関数
次の関数を使用すると、ユーザーは公開キー 基盤 (PKI) オブジェクトを取得したり、証明書、CTL、または CRL の URL を取得したり、オブジェクトから URL を抽出したりできます。
機能 | 形容 |
---|---|
CryptGetObjectUrl | 証明書、CTL、または CRL からリモート オブジェクトの URL を取得します。 |
CryptRetrieveObjectByUrl | URL で指定された場所から PKI オブジェクトを取得します。 |
PFX 関数
次の関数は、BLOBPersonal Information Exchange (PFX) 形式をサポートします。
機能 | 形容 |
---|---|
PFXExportCertStoreの | 参照 証明書ストアから証明書を エクスポートし、使用可能な場合は、関連付けられている 秘密キー。 |
PFXExportCertStoreExの | 参照先の証明書からエクスポートすると、証明書と、その証明書に関連付けられている秘密キー (使用可能な場合) が格納されます。 |
PFXImportCertStoreの | PFX BLOB をインポートし、証明書と関連付けられている秘密キーを含むストアのハンドルを返します。 |
PFXIsPFXBlobの | BLOB の外部レイヤーを PFX パケットとしてデコードしようとします。 |
PFXVerifyPasswordをする | BLOB の外部レイヤーを PFX パケットとしてデコードし、指定されたパスワードで復号化しようとします。 |
証明書サービスのバックアップと復元の機能
Certificate Services には、Certificate Services データベースをバックアップおよび復元するための機能が含まれています。 これらの証明書サービスのバックアップと復元の機能は、Certadm.dllに含まれています。 Certificate Services に関連付けられている他の API 要素とは異なり、これらの関数は、クラス メソッドの呼び出しに使用できるオブジェクトにはカプセル化されません。 代わりに、最初に Certadm.dll ライブラリをメモリに読み込み、LoadLibrary を呼び出し、次に GetProcAddress呼び出して関数のアドレスを決定することで、バックアップ API と復元 API が呼び出されます。 Certificate Services のバックアップと復元の関数の呼び出しが完了したら、FreeLibrary呼び出して、Certadm.dll リソースをメモリから解放します。
手記
Certadm.dll によって提供されるバックアップおよび復元機能は、証明書サービスの 秘密キーをバックアップまたは復元しません。 証明書サービスの秘密キーのバックアップについては、「証明書サービスの秘密キー のバックアップと復元のを参照してください。
バックアップと復元の機能を呼び出すには、バックアップと復元 権限必要があります。 詳細については、「バックアップと復元の権限 の設定」を参照してください。
手記
CoInitializeEx が、Certificate Services のバックアップ API と復元 API の呼び出しに使用されたのと同じスレッドで以前に呼び出された場合、COINIT_APARTMENTTHREADED フラグは CoInitializeExに渡されている必要があります。 つまり、同じスレッドを使用する場合、CoInitializeEx の呼び出しでスレッドが以前に COINIT_MULTITHREADED フラグを渡した場合、Certificate Services のバックアップと復元 API呼び出すことはできません。
証明書サービス バックアップ API は Certbcli.h で定義されています。 ただし、プログラムを作成するときは、インクルード ファイルとして Certsrv.h を使用します。
次の API は、Certadm.dllによってエクスポートされます。
機能 | 形容 |
---|---|
CertSrvBackupClose | 開いているファイルを閉じます。 |
CertSrvBackupEnd | バックアップ セッションを終了します。 |
CertSrvBackupFree | バックアップ API と復元 API によって割り当てられたバッファーを解放します。 |
CertSrvBackupGetBackupLogs | バックアップする必要があるログ ファイルの一覧を返します。 |
CertSrvBackupGetDatabaseNames | バックアップする必要があるデータベース ファイルの一覧を返します。 |
CertSrvBackupGetDynamicFileList | 特定のバックアップ コンテキストに対してバックアップする必要がある証明書サービスの動的ファイル名の一覧を取得します。 |
CertSrvBackupOpenFile | バックアップの準備としてファイルを開きます。 |
CertSrvBackupPrepare | オンライン バックアップ用にデータベースを準備します。 |
CertSrvBackupRead | 開かれたファイルの内容を読み取ります。 |
CertSrvBackupTruncateLogs | ログ ファイルを切り捨てます。 |
CertSrvIsServerOnline | 証明書サービス サーバーがオンライン (アクティブに実行されている) かどうかを判断します。 |
CertSrvRestoreEnd | 復元セッションを終了します。 |
CertSrvRestoreGetDatabaseLocations | データベースの場所を取得します (バックアップと復元の両方のシナリオで使用されます)。 |
CertSrvRestorePrepare | 復元セッションを開始します。 |
CertSrvRestoreRegister | 復元操作を登録します。 |
CertSrvRestoreRegisterComplete | 以前に登録した復元操作を完了します。 |
CertSrvRestoreRegisterThroughFile | 復元操作を登録します。 |
CertSrvServerControl | Certificate Services インスタンスに制御コマンドを送信します。 |
コールバック関数
このセクションのコールバック関数は、アプリケーション定義の 証明書ストア プロバイダーを登録またはインストールし、コールバック関数を使用して関連する機能を提供するために使用されます。 コールバック関数はアプリケーションによって実装され、CryptoAPI関数によって呼び出されます。 コールバック関数を使用すると、CryptoAPI 関数がデータを操作する方法の一部をアプリケーションで制御できます。
コールバック関数 | 使う |
---|---|
CertChainFindByIssuerCallback | アプリケーションが証明書チェーンに追加される可能性のある証明書をフィルター処理できるようにする、アプリケーション定義のコールバック関数。 |
CertDllOpenStoreProv | ストア プロバイダーのオープン関数を定義します。 |
CertEnumPhysicalStoreCallback | CertEnumPhysicalStore 関数によって使用されるコールバック関数は、検出された各物理ストアに関する情報を書式設定して表示します。 |
CertEnumSystemStoreCallback | CertEnumSystemStore 関数によって使用されるコールバック関数は、検出された各物理ストアに関する情報を書式設定して表示します。 |
CertEnumSystemStoreLocationCallback | CertEnumSystemStoreLocation 関数によって使用されるコールバック関数は、検出された各物理ストアに関する情報を書式設定して表示します。 |
CertStoreProvCloseCallback | オープン ストアの 参照カウント が 0 になったときの動作を決定します。 |
CertStoreProvControl | 使用中のキャッシュされたストアの内容と、ストレージに永続化されているそのストアの内容の間に違いがある場合に、アプリケーションに通知を受け取ることができます。 |
CertStoreProvDeleteCertCallback | 証明書ストアから証明書を削除する前に実行するアクションを決定します。 |
CertStoreProvDeleteCRLCallback | 証明書失効リスト (CRL) が証明書ストアから削除される前に実行するアクションを決定します。 |
CertStoreProvDeleteCTL | CTL を削除できるかどうかを決定します。 |
CertStoreProvFindCert | 指定した条件に一致するストア内の最初または次の証明書を検索します。 |
CertStoreProvFindCRL | 指定した条件に一致するストア内の最初の CRL または次の CRL を検索します。 |
CertStoreProvFindCTL | 指定した条件に一致するストア内の最初の CTL または次の CTL を検索します。 |
CertStoreProvFreeFindCert | 以前に見つかった証明書コンテキストを解放します。 |
CertStoreProvFreeFindCRL | 以前に見つかった CRL コンテキストを解放します。 |
CertStoreProvFreeFindCTL | 以前に見つかった CTL コンテキストを解放します。 |
CertStoreProvGetCertProperty | 証明書の指定したプロパティを取得します。 |
CertStoreProvGetCRLProperty | CRL の指定したプロパティを取得します。 |
CertStoreProvGetCTLProperty | CTL の指定したプロパティを取得します。 |
CertStoreProvReadCertCallback | 現在は使用されていませんが、将来の CSP にエクスポートされる可能性があります。 |
CertStoreProvReadCRLCallback | 現在は使用されていませんが、将来の CSP にエクスポートされる可能性があります。 |
CertStoreProvReadCTL | プロバイダーの CTL コンテキストのコピーを読み取り、存在する場合は新しい CTL コンテキストを作成します。 |
CertStoreProvSetCertPropertyCallback | CertSetCertificateContextProperty または CertGetCertificateContextPropertyをする呼び出しの前に実行するアクションを決定します。 |
CertStoreProvSetCRLPropertyCallback | CertSetCRLContextProperty または CertGetCRLContextPropertyをする呼び出しの前に実行するアクションを決定します。 |
CertStoreProvSetCTLProperty | CTL でプロパティを設定できるかどうかを決定します。 |
CertStoreProvWriteCertCallback | 証明書をストアに追加する前に実行するアクションを決定します。 |
CertStoreProvWriteCRLCallback | CRL をストアに追加する前に実行するアクションを決定します。 |
CertStoreProvWriteCTL | CTL をストアに追加できるかどうかを決定します。 |
CRYPT_ENUM_KEYID_PROP | CryptEnumKeyIdentifierProperties 関数によって使用されるコールバック関数。 |
CRYPT_ENUM_OID_FUNCTION | CryptEnumOIDFunction 関数によって使用されるコールバック関数。 |
CRYPT_ENUM_OID_INFO | CryptEnumOIDInfo 関数によって使用されるコールバック関数。 |
CryptGetSignerCertificateCallback | メッセージ署名者の証明書を取得して検証するために、CRYPT_VERIFY_MESSAGE_PARA 構造体と共に使用されるコールバック関数。 |
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC | CryptImportPKCS8 関数によって使用されるコールバック関数。 |
PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC | CRYPT_ENCRYPTED_PRIVATE_KEY_INFO 構造体の作成時に使用されるコールバック関数。 |
PCRYPT_RESOLVE_HCRYPTPROV_FUNC | CryptImportPKCS8 関数によって使用されるコールバック関数。 |
PFN_CDF_PARSE_ERROR_CALLBACK | カタログ定義ファイル (CDF) の解析中に、カタログ定義関数エラーに対して呼び出されたユーザー定義関数。 |
PFN_CERT_CREATE_CONTEXT_SORT_FUNC | コンテキストが作成されるときに、並べ替えられたコンテキスト エントリごとに呼び出されます。 |
PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY | 既に復号化されたコンテンツ暗号化キー (CEK) をインポートするための CNG オブジェクト識別子 (OID) インストール可能な関数。 |
PFN_CMSG_CNG_IMPORT_KEY_AGREE | エンベロープ メッセージのキー トランスポート受信者のコンテンツ暗号化キーをインポートします。 |
PFN_CMSG_CNG_IMPORT_KEY_TRANS | キートランスポート受信者、暗号化されたコンテンツ、キー (CEK) のインポートおよび復号化暗号化解除のための CNG OID インストール可能な関数。 |
PFN_CMSG_EXPORT_KEY_AGREE | エンベロープメッセージのキー契約受信者のコンテンツ暗号化キーを暗号化およびエクスポートします。 |
PFN_CMSG_EXPORT_KEY_TRANS | エンベロープ メッセージのキー トランスポート受信者のコンテンツ暗号化キーを暗号化およびエクスポートします。 |
PFN_CMSG_EXPORT_MAIL_LIST | エンベロープメッセージのメーリング リスト受信者のコンテンツ暗号化キーを暗号化およびエクスポートします。 |
PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY | エンベロープ メッセージのコンテンツの暗号化に使用対称キーを生成します。 |
PFN_CMSG_IMPORT_KEY_AGREE | エンベロープ メッセージのキー トランスポート受信者のコンテンツ暗号化キーをインポートします。 |
PFN_CMSG_IMPORT_KEY_TRANS | エンベロープ メッセージのキー トランスポート受信者のコンテンツ暗号化キーをインポートします。 |
PFN_CMSG_IMPORT_MAIL_LIST | エンベロープ メッセージのキー トランスポート受信者のコンテンツ暗号化キーをインポートします。 |
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC | CryptExportPublicKeyInfoEx によって呼び出され、公開キー BLOB をエクスポートしてエンコードします。 |
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC | ハッシュ アルゴリズム識別子と必要に応じてシグネチャ パラメーターをデコードして返すために呼び出されます。 |
PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC | 計算されたハッシュに署名してエンコードするために呼び出されます。 |
PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC | エンコードされた署名を復号化し、計算されたハッシュと比較するために呼び出されます。 |
PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC | CryptImportPublicKeyInfoEx2 によって呼び出され、識別子公開キー アルゴリズムをデコードし、アルゴリズム プロバイダーを読み込み、キー ペアをインポート。 |
PFNCCERTDISPLAYPROC | CryptUIDlgSelectCertificate 関数の呼び出し元が、ユーザーが表示を選択した証明書の表示を処理できるようにするユーザー定義コールバック関数。 |
PFNCMFILTERPROCの | 各証明書をフィルター処理して、CertSelectCertificate 関数によって表示される証明書の選択ダイアログ ボックスに表示されるかどうかを判断します。 |
PFNCMHOOKPROCの | CertSelectCertificate 関数によって生成された証明書選択ダイアログ ボックスによってメッセージが処理される前に呼び出されます。 |
カタログ定義関数
これらの関数は、カタログの作成に使用されます。 これらの関数はすべて、MakeCatによって呼び出されます。
機能 | 形容 |
---|---|
CryptCATCDFClose | カタログ定義ファイルを閉じ、対応する CRYPTCATCDF 構造体のメモリを解放します。 |
CryptCATCDFEnumAttributesWithCDFTag | CDF の CatalogFiles セクションのメンバー ファイルの属性を列挙します。 |
CryptCATCDFEnumCatAttributes | CDF の CatalogHeader セクション内のカタログ レベルの属性を列挙します。 |
CryptCATCDFEnumMembersByCDFTagEx | CDF の CatalogFiles セクションの個々のファイル メンバーを列挙します。 |
CryptCATCDFOpen | 読み取り用の既存の CDF を開き、CRYPTCATCDF 構造体を初期化します。 |
カタログ関数
これらの関数は、カタログの管理に使用されます。
機能 | 形容 |
---|---|
CryptCATAdminAcquireContext | カタログ管理者コンテキストへのハンドルを取得します。 このハンドルは、CryptCATAdminAddCatalog、CryptCATAdminEnumCatalogFromHash、および CryptCATAdminRemoveCatalog 関数への後続の呼び出しで使用できます。 |
CryptCATAdminAcquireContext2 | 特定のハッシュ アルゴリズムとハッシュ ポリシーのカタログ管理者コンテキストへのハンドルを取得します。 |
CryptCATAdminAddCatalog | カタログ データベースにカタログを追加します。 |
CryptCATAdminCalcHashFromFileHandle | ファイルのハッシュを計算します。 |
CryptCATAdminCalcHashFromFileHandle2 | 指定したアルゴリズムを使用して、ファイルのハッシュを計算します。 |
CryptCATAdminEnumCatalogFromHash | 指定したハッシュを含むカタログを列挙します。 |
CryptCATAdminReleaseCatalogContext | CryptCATAdminAddCatalog 関数によって以前に返されたカタログ コンテキストへのハンドルを解放します。 |
CryptCATAdminReleaseContext | CryptCATAdminAcquireContext 関数によって以前に割り当てられたハンドルを解放します。 |
CryptCATAdminRemoveCatalog | カタログ ファイルを削除し、そのカタログのエントリを Windows カタログ データベースから削除します。 |
CryptCATAdminResolveCatalogPath | 指定したカタログの完全修飾パスを取得します。 |
CryptCATCatalogInfoFromContext | 指定したカタログ コンテキストからカタログ情報を取得します。 |
CryptCATClose | CryptCATOpen 関数によって以前に開かれたカタログ ハンドルを閉じます。 |
CryptCATEnumerateAttr | カタログのメンバーに関連付けられている属性を列挙します。 |
CryptCATEnumerateCatAttr | カタログに関連付けられている属性を列挙します。 |
CryptCATEnumerateMember | カタログのメンバーを列挙します。 |
CryptCATGetAttrInfo | カタログのメンバーの属性に関する情報を取得します。 |
CryptCATGetMemberInfo | カタログの PKCS #7 からメンバー情報を取得します。 この関数は、指定された参照タグのメンバー情報を取得するだけでなく、メンバー コンテキストを開きます。 |
CryptCATOpen | カタログを開き、開いているカタログにコンテキスト ハンドルを返します。 |
IsCatalogFileの | 指定したファイルがカタログ ファイルかどうかを示すブール値を取得します。 |
WinTrust Functions
次の関数は、さまざまな信頼操作を実行するために使用されます。
機能 | 形容 |
---|---|
WintrustAddActionID | 信頼プロバイダーアクションをユーザーのシステムに追加します。 |
WintrustGetRegPolicyFlagsの | ポリシー プロバイダーのポリシー フラグを取得します。 |
WintrustAddDefaultForUsage | プロバイダーの既定の使用状況識別子とコールバック情報を指定します |
WintrustGetDefaultForUsageの | 既定の使用状況識別子とコールバック情報を取得します。 |
WintrustLoadFunctionPointersの | 指定したアクション GUID の関数エントリ ポイントを読み込みます。 |
WintrustRemoveActionID | WintrustAddActionID 関数によって追加されたアクションを削除します。 |
WintrustSetDefaultIncludePEPageHashes | ポータブル実行可能ファイルのサブジェクト インターフェイス パッケージ (SIP) 間接データを作成するときにページ ハッシュを含めるかどうかを決定する既定の設定を設定します。 |
WintrustSetRegPolicyFlagsの | ポリシー プロバイダーのポリシー フラグを設定します。 |
WinVerifyTrust | 指定したオブジェクトに対して信頼確認アクションを実行します。 |
WinVerifyTrustExの | 指定したオブジェクトに対して信頼検証アクションを実行し、WINTRUST_DATA構造体へのポインターを受け取ります。 |
WTHelperCertCheckValidSignatureの | 署名が有効かどうかを確認します。 |
WTHelperCertFindIssuerCertificateの | 指定したサブジェクト証明書と一致する、指定した証明書ストアから発行者証明書を検索します。 |
WTHelperCertIsSelfSignedの | 証明書が自己署名されているかどうかを確認します。 |
WTHelperGetFileHashの | 署名されたファイルの署名を検証し、ファイルのハッシュ値とアルゴリズム識別子を取得します。 |
WTHelperGetProvCertFromChainの | 証明書チェーンから信頼プロバイダー証明書を取得します。 |
WTHelperGetProvPrivateDataFromChainの | プロバイダー ID を使用して、チェーンから CRYPT_PROVIDER_PRIVDATA 構造体を受け取ります。 |
WTHelperGetProvSignerFromChainの | チェーンからインデックスによって署名者または副署名者を取得します。 |
WTHelperProvDataFromStateDataをする | 指定したハンドルから信頼プロバイダー情報を取得します。 |
オブジェクト ロケーター関数
次のコールバック関数は、証明書を取得するために Secure Channel (Schannel) セキュリティ パッケージによって呼び出されることを意図したカスタム プロバイダーによって実装できます。
機能 | 形容 |
---|---|
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH | オブジェクトが変更されたことを指定します。 |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET | オブジェクトを取得します。 |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE | プロバイダーを解放します。 |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD | PFX バイト配列の暗号化に使用するパスワードを解放します。 |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE | プロバイダーから返されたオブジェクトを解放します。 |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER | オブジェクト識別子のメモリを解放します。 |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE | プロバイダーを初期化します。 |