2012-02-22 6 views
4

私はC++開発者ですが、Windows開発の背景はありません。MS CryptoAPIを使用した64ビットアプリケーションの開発

私の主な質問は、Crypto APIの使用に関するものです。私はCryptAcquireContextのような機能を使用します。 このAPIの詳細については、「Win32 Crypto API」としてのみ説明しています。 「Win64 Crypto API」があるのだろうか?

もしそうでなければ、私はVisual Studioで "Win32 Crypto API"を使い、64ビットモードでコンパイルするアプリケーションを開発します。私が32ビットでコンパイルした方が良いでしょうか?

Crypto APIを使用する64ビットアプリケーションを開発するにはどうすればよいですか?

可能であれば、

記事は非常に歓迎されている...など、署名を運ぶ、証明書を取得し、暗号化APIを使用しているときに64ビット用のアプリケーションを開発していたすべての問題を報告します。

+1

プラットフォームSDKのcrypt32.libとadvapi32.libには64ビットのインポートライブラリがあります。 – Rup

答えて

5

暗号のapiは64ビットで正常に動作し、%ProgramFiles%\Microsoft SDKs\Windows\vX.X\Libの代わりに%ProgramFiles%\Microsoft SDKs\Windows\vX.X\Lib\x64をライブラリとして使用してください。正常に動作します。正しいものを使用して32ビットと64ビットのライブラリに違いはありません呼び出しのデータ型(具体的にはポインタの幅)

2

暗号化APIはADVAPI DLLにあります。しかし、廃止予定のCAPICOMへのリンクは使用すべきではなく、32ビットのみです。

CryptAcquireContext()は64ビットと32ビットの両方のWindowsに存在するADVAPIです。

3

「Win32」という用語は、64ビットAPIではなく、.Net暗号化APIと区別するためのものです。あなたの研究リソースは、おそらく "Win64"や "ネイティブ"のような新しい用語を使用するように更新されていません。しかし、それはMSDNが間違っているようには見えません。

64ビットアプリケーションでは問題ありません(CAPICOMは実際には32ビットのみ)。

関連する問題