次の方法で共有


PCRYPT_DECRYPT_PRIVATE_KEY_FUNC コールバック関数 (wincrypt.h)

[ PCRYPT_DECRYPT_PRIVATE_KEY_FUNC 関数は、[要件] セクションで指定したオペレーティング システムで使用できます。 以降のバージョンでは変更または使用できない場合があります。]

PCRYPT_DECRYPT_PRIVATE_KEY_FUNC関数は秘密キーを復号化し、pbClearTextKey パラメーターで暗号化解除されたキーを返します。 PCRYPT_DECRYPT_PRIVATE_KEY_FUNC は、 CRYPT_PKCS8_IMPORT_PARAMS 構造体で指定されたコールバック関数です。 これは、 CRYPT_ENCRYPTED_PRIVATE_KEY_INFO 構造体に暗号化解除する必要がある秘密キーが含まれている場合に使用されます。 CryptImportPKCS8 関数は、この関数を使用します。 関数は、各アプリケーションに合わせて開発者が実装する必要があります。

構文

PCRYPT_DECRYPT_PRIVATE_KEY_FUNC PcryptDecryptPrivateKeyFunc;

BOOL PcryptDecryptPrivateKeyFunc(
  [in]      CRYPT_ALGORITHM_IDENTIFIER Algorithm,
  [in]      CRYPT_DATA_BLOB EncryptedPrivateKey,
  [out]     BYTE *pbClearTextKey,
  [in, out] DWORD *pcbClearTextKey,
  [in]      LPVOID pVoidDecryptFunc
)
{...}

パラメーター

[in] Algorithm

PKCS #8 標準で見つかった PrivateKeyInfo ASN.1 型の暗号化に使用されるアルゴリズムを識別するCRYPT_ALGORITHM_IDENTIFIER構造体。

[in] EncryptedPrivateKey

暗号化された秘密キー BLOB を識別するCRYPT_DATA_BLOB値。

[out] pbClearTextKey

プレーンテキストを受け取る BYTE バッファーへのポインター。 このパラメーターは、NULL でもかまいません。 詳細については、「 不明な長さのデータの取得」を参照してください。

[in, out] pcbClearTextKey

pbClearTextKey バッファーのサイズをバイト単位で識別する DWORD 値へのポインター。 サイズが 0 の場合、 pcbClearTextKey にはキーの暗号化を解除するために必要なサイズ (バイト単位) を入力し、 pbClearTextKey は 無視する必要があります。

[in] pVoidDecryptFunc

キー、初期化ベクトル、パスワードなど、復号化で使用されるデータを提供する LPVOID 値。

戻り値

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

関数が失敗した場合は、0 (FALSE) を返します。

要件

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

こちらもご覧ください

CRYPT_ENCRYPTED_PRIVATE_KEY_INFO

CRYPT_PKCS8_IMPORT_PARAMS

CryptImportPKCS8