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

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

PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC関数は秘密キーを暗号化し、pbEncryptedKey パラメーターで暗号化された内容を返します。 PKCS #8 CRYPT_ENCRYPTED_PRIVATE_KEY_INFO構造体を作成するCRYPT_PKCS8_EXPORT_PARAMS構造体で識別されるコールバック関数です。 関数は、各アプリケーションに合わせて開発者が実装する必要があります。

構文

PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC PcryptEncryptPrivateKeyFunc;

BOOL PcryptEncryptPrivateKeyFunc(
  [out]     CRYPT_ALGORITHM_IDENTIFIER *pAlgorithm,
  [in]      CRYPT_DATA_BLOB *pClearTextPrivateKey,
  [out]     BYTE *pbEncryptedKey,
  [in, out] DWORD *pcbEncryptedKey,
  [in]      LPVOID pVoidEncryptFunc
)
{...}

パラメーター

[out] pAlgorithm

PKCS #8 標準で見つかった PrivateKeyInfo ASN.1 型の暗号化に使用されるアルゴリズムを受け取る CRYPT_ALGORITHM_IDENTIFIER構造体への ポインター。

[in] pClearTextPrivateKey

暗号化するプレーンテキスト秘密キーを含むCRYPT_DATA_BLOB構造体へのポインター。

[out] pbEncryptedKey

暗号化された秘密キー BLOB を受け取る BYTE バッファーへのポインター。 このパラメーターが NULL の場合、 pcbEncryptedKey は、この関数の後続の呼び出しで暗号化されたキーを格納するために必要なメモリのサイズをバイト単位で返します。

[in, out] pcbEncryptedKey

pbEncryptedKey バッファーのサイズ (バイト単位) を含む DWORD 変数へのポインター。 pbEncryptedKey が NULL の場合、 pcbEncryptedKey はキーの暗号化に必要なサイズ (バイト単位) に設定されます。 詳細については、「 不明な長さのデータの取得」を参照してください。

[in] pVoidEncryptFunc

キー、初期化ベクトル、パスワードなど、暗号化に使用されるデータを含む LPVOID 変数。

戻り値

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

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

要件

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

関連項目

CRYPT_PKCS8_EXPORT_PARAMS

PCRYPT_DECRYPT_PRIVATE_KEY_FUNC