Development of 64-bit applications using MS CryptoAPI

I am a C ++ developer, but do not have a strong background in Windows development.

My main question is related to using the Crypto API . I will use features like CryptAcquireContext . Learning more about this API, is described only as the "Win32 Crypto API". I wonder if there is a "Win64 Crypto API"?

If not, if I am developing an application using the "Win32 Crypto API" in Visual Studio and compiled in 64-bit mode. Would it be better if I compiled in 32 bit?

What do I need to do to develop a 64-bit application using the Crypto API?

If possible, report any problems with which you developed applications for 64-bit when using the cryptographic API, obtaining certificates, transferring signatures, etc.

Articles are welcome.

+4
source share
3 answers

Crypto api works fine in 64 bit, just use %ProgramFiles%\Microsoft SDKs\Windows\vX.X\Lib\x64 as your library instead of %ProgramFiles%\Microsoft SDKs\Windows\vX.X\Lib and it will work fine , there should be no difference between a 32-bit and 64-bit library, which is not processed using the correct data types for calls (in particular, pointer width)

+5
source

The term "Win32" is to distinguish it from a .Net cryptographic API, and not from a 64-bit API. Your research resources probably just have not been updated to use newer terms such as "Win64" or "native." However, this is not like MSDN is making this error.

There should be no problem using a 64-bit application (except for CAPICOM, which is really only 32-bit).

+3
source

The Crypto API is located in the ADVAPI DLL. But you are referring to CAPICOM, which is deprecated, should not be used, and only 32-bit.

CryptAcquireContext () is an ADVAPI that exists in both 64-bit and 32-bit Windows.

+2
source

Source: https://habr.com/ru/post/1397864/


All Articles