开发使用MS CryptoAPI的64位应用程序

Cob*_*aia 4 c++ windows cryptography cryptoapi mscapi

我是一名C++开发人员,但在Windows开发方面没有强大的背景.

我的主要问题围绕使用Crypto API.我将使用CryptAcquireContext等函数.在研究有关此API的更多信息时,仅将其描述为"Win32加密API".我想知道是否有"Win64加密API"?

如果没有,如果我开发一个在Visual Studio中使用"Win32 Crypto API"并编译为64位模式的应用程序.如果我用32位编译会更好吗?

我该怎么做才能开发一个使用Crypto API的64位应用程序?

如果可能,请在使用加密API,检索证书,携带签名等时报告您为64位开发应用程序时遇到的任何问题.

文章非常受欢迎.

Sco*_*ain 5

加密api在64位工作正常,只是%ProgramFiles%\Microsoft SDKs\Windows\vX.X\Lib\x64用作你的库而不是 %ProgramFiles%\Microsoft SDKs\Windows\vX.X\Lib它会工作正常,32位和64位库之间应该没有区别,这是通过使用正确的数据类型来处理调用(具体指针宽度)


Rob*_*edy 5

术语“Win32”是为了将其与 .Net 加密 API 区分开来,而不是 64 位 API。您的研究资源可能只是尚未更新以使用“Win64”或“本机”等较新的术语。不过,MSDN 看起来并没有犯这样的错误。

在 64 位应用程序中使用它应该不会有任何问题(CAPICOM 除外,它实际上只是 32 位)。