暗号化関数
暗号化関数は、使用法に応じて次のように分類されます。
- CryptXML 関数
- 署名者関数
- 基本暗号化関数
- 証明書と証明書ストアの関数
- MakeCert 関数
- 証明書検証関数
- メッセージ関数
- 補助関数
- 証明書サービスのバックアップと復元の機能
- コールバック関数
- カタログ定義関数
- カタログ関数
- WinTrust 関数
- オブジェクト ロケーター関数
CryptXML 関数
暗号化 XML 関数は、XML 形式のデータを使用してデジタル署名を作成および表す API を提供します。 XML 形式の署名の詳細については、「構文と処理の XML-Signature の仕様 https://go.microsoft.com/fwlink/p/?linkid=139649」を参照してください。
機能 | 説明 |
---|---|
A_SHAFinal | MD5Update 関数によって入力されたデータの最終的なハッシュを計算します。 |
A_SHAInit | データストリームのハッシュを開始します。 |
A_SHAUpdate | 指定したハッシュ オブジェクトにデータを追加します。 |
CryptXmlCreateReference | XML 署名への参照を作成します。 |
CryptXmlAddObject | エンコード用に開かれたドキュメント コンテキストの Signature に Object 要素を追加します。 |
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 | 指定されたハンドルで指定された Reference 要素を返します。 |
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 を使用する場合は、CryptoAPI 暗号化関数呼び出しで使用する CSP を指定できます。 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 は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 既定のコンテキストとして使用するために、以前に取得した HCRYPTPROV コンテキストをインストールします。 |
CryptReleaseContext |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 CryptAcquireContext 関数によって取得されたハンドルを解放します。 |
CryptSetProvider と CryptSetProviderEx |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 特定の CSP の種類のユーザーの既定の CSP を指定します。 |
CryptSetProvParam |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 CSP の属性を指定します。 |
CryptUninstallDefaultContext |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 CryptInstallDefaultContext によって以前にインストールされた既定のコンテキストを削除します。 |
FreeCryptProvFromCertEx | ハンドルを 暗号化サービス プロバイダー (CSP) または Cryptography API: Next Generation (CNG) キーに解放します。 |
キー生成と Exchange 関数
キー生成および交換関数は、他のユーザーと キーを交換 し、 暗号化キーの作成、構成、破棄を行います。
機能 | 説明 |
---|---|
CryptDeriveKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 パスワードから派生したキーを作成します。 |
CryptDestroyKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 キーを破棄します。 |
CryptDuplicateKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 キーの 状態 を含め、キーの正確なコピーを作成します。 |
CryptExportKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 CSP からアプリケーションのメモリ空間内の キー BLOB にキー を転送します。 |
CryptGenKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 ランダムなキーを作成します。 |
CryptGenRandom |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 ランダム なデータを生成します。 |
CryptGetKeyParam |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 キーのパラメーターを取得します。 |
CryptGetUserKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 キー交換キーまたは署名キーへのハンドルを取得します。 |
CryptImportKey |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 キー BLOB から CSP にキーを転送します。 |
CryptSetKeyParam |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 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 コンテキストまたは次の 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 コンテキストまたは次の 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 に変換します。 |
証明書検証関数
証明書は、 CCTL または証明書チェーンを使用して検証されます。 関数は、次の両方に対して提供されます。
- 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 | 2 つの整数 BLOB を比較します。 |
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 | プロバイダーの対応する秘密キーに関連付けられている公開キー情報をエクスポートします。 この関数は、ユーザーが公開キー アルゴリズムを指定できるため、CSP によって提供される既定値をオーバーライドできる点で、 CryptExportPublicKeyInfo とは異なります。 |
CryptExportPublicKeyInfoFromBCryptKeyHandle | プロバイダーの対応する秘密キーに関連付けられている公開キー情報をエクスポートします。 |
CryptFindCertificateKeyProvInfo | 暗号化プロバイダーとその キー コンテナー を列挙して、証明書の公開キーに対応する秘密キーを検索します。 |
CryptFindLocalizedName | たとえば、ルート システムのストア名のローカライズされた名前を検索するなど、指定した名前のローカライズされた名前を検索します。 |
CryptHashCertificate |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 エンコードされたコンテンツをハッシュします。 |
CryptHashCertificate2 | Cryptography API: Next Generation (CNG) ハッシュ プロバイダーを使用して、データのブロックをハッシュします。 |
CryptHashPublicKeyInfo |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 エンコードされた公開キー情報のハッシュを計算します。 |
CryptHashToBeSigned |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 エンコードされた署名済みコンテンツ (CERT_SIGNED_CONTENT_INFO) 内の "署名対象" 情報のハッシュを計算します。 |
CryptImportPKCS8 |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 PKCS #8 形式の 秘密キー を 暗号化サービス プロバイダー (CSP) にインポートします。 |
CryptImportPublicKeyInfo |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 公開キー情報をプロバイダーに変換してインポートし、公開キーのハンドルを返します。 |
CryptImportPublicKeyInfoEx |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。 公開キー情報をプロバイダーに変換してインポートし、公開キーのハンドルを返します。 既定値をオーバーライドするために使用できる追加のパラメーター ( CryptImportPublicKeyInfo で指定されたものに対するパラメーター) は、 CERT_PUBLIC_KEY_INFOを補完するために提供されます。 |
CryptImportPublicKeyInfoEx2 | 公開キーを CNG 非対称プロバイダーにインポートします。 |
CryptMemAlloc | バッファーにメモリを割り当てます。 このメモリは、割り当てられたバッファーを返すすべての Crypt32.lib 関数で使用されます。 |
CryptMemFree | CryptMemAlloc または CryptMemRealloc によって割り当てられたメモリを解放します。 |
CryptMemRealloc | バッファーに現在割り当てられているメモリを解放し、新しいバッファーにメモリを割り当てます。 |
CryptQueryObject |
重要: この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 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) を 抽象構文表記 1 (ASN.1) オブジェクト識別子 (OID) 文字列に変換します。 |
CertGetNameString | 証明書からサブジェクト名または発行者名を取得し、null で終わる文字列に変換します。 |
CertNameToStr | 証明書名 BLOB を 0 で終わる文字列に変換します。 |
CertOIDToAlgId | ASN.1 オブジェクト識別子文字列を CSP アルゴリズム識別子に変換します。 |
CertRDNValueToStr | Name Value を null で終わる文字列に変換します。 |
CertStrToName | null で終わる X.500 文字列をエンコードされた証明書名に変換します。 |
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 関数
次の関数は、個人情報 Exchange (PFX) 形式 の BLOB をサポートしています。
機能 | 説明 |
---|---|
PFXExportCertStore | 参照先の 証明書ストアから証明書 をエクスポートし、使用可能な場合は関連付けられている 秘密キーをエクスポートします。 |
PFXExportCertStoreEx | 参照先の証明書ストアから証明書をエクスポートし、使用可能な場合は関連付けられている秘密キーをエクスポートします。 |
PFXImportCertStore | PFX BLOB をインポートし、証明書と関連付けられている秘密キーを含むストアのハンドルを返します。 |
PFXIsPFXBlob | BLOB の外部レイヤーを PFX パケットとしてデコードしようとします。 |
PFXVerifyPassword | BLOB の外部レイヤーを PFX パケットとしてデコードし、指定されたパスワードで復号化しようとします。 |
証明書サービスのバックアップと復元の機能
Certificate Services には、Certificate Services データベースをバックアップおよび復元するための機能が含まれています。 これらの Certificate Services のバックアップおよび復元機能は、Certadm.dll に含まれています。 Certificate Services に関連付けられている他の API 要素とは異なり、これらの関数は、クラス メソッドの呼び出しに使用できるオブジェクトにカプセル化されません。 代わりに、バックアップ API と復元 API を呼び出すには、まず LoadLibrary を呼び出して Certadm.dll ライブラリをメモリに読み込み、 GetProcAddress を呼び出して関数のアドレスを決定します。 Certificate Services のバックアップと復元の関数の呼び出しが完了したら、 FreeLibrary を呼び出して、Certadm.dll リソースをメモリから解放します。
注意
Certadm.dll によって提供されるバックアップおよび復元機能は、証明書サービスの 秘密キーをバックアップまたは復元しません。 Certificate Services 秘密キーのバックアップの詳細については、「Certificate Services 秘密キー のバックアップと復元」を参照してください。
バックアップと復元の機能を呼び出すには、バックアップと復元 の特権が必要です。 詳細については、「 バックアップと復元の特権の設定」を参照してください。
注意
証明書サービスのバックアップ API と復元 API の呼び出しに使用したのと同じスレッドで CoInitializeEx が以前に呼び出された場合は、COINIT_APARTMENTTHREADED フラグが CoInitializeEx に渡されている必要があります。 つまり、同じスレッドを使用する場合、 スレッドが CoInitializeEx の呼び出しで COINIT_MULTITHREADED フラグを渡した場合、Certificate Services のバックアップおよび復元 API を呼び出すことはできません。
Certificate Services Backup API は Certbcli.h で定義されています。 ただし、プログラムを作成するときは、インクルード ファイルとして Certsrv.h を使用します。
次の API は、Certadm.dll によってエクスポートされます。
機能 | 説明 |
---|---|
CertSrvBackupClose | 開いているファイルを閉じます。 |
CertSrvBackupEnd | バックアップ セッションを終了します。 |
CertSrvBackupFree | バックアップ API と復元 API によって割り当てられたバッファーを解放します。 |
CertSrvBackupGetBackupLogs | バックアップする必要があるログ ファイルの一覧を返します。 |
CertSrvBackupGetDatabaseNames | バックアップする必要があるデータベース ファイルの一覧を返します。 |
CertSrvBackupGetDynamicFileList | 特定のバックアップ コンテキストに対してバックアップする必要がある Certificate Services の動的ファイル名の一覧を取得します。 |
CertSrvBackupOpenFile | バックアップの準備としてファイルを開きます。 |
CertSrvBackupPrepare | オンライン バックアップ用にデータベースを準備します。 |
CertSrvBackupRead | 開かれたファイルの内容を読み取ります。 |
CertSrvBackupTruncateLogs | ログ ファイルを切り捨てます。 |
CertSrvIsServerOnline | Certificate Services サーバーがオンライン (アクティブに実行されている) かどうかを判断します。 |
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 | 公開キー BLOB をエクスポートしてエンコードするために 、CryptExportPublicKeyInfoEx によって呼び出されます。 |
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 関数
次の関数は、さまざまな信頼操作を実行するために使用されます。
機能 | 説明 |
---|---|
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 | プロバイダーを初期化します。 |