Question

Je suis un développeur C++, mais n'ont pas une solide expérience dans le développement de Windows.

Ma principale question tourne autour de l'utilisation de la Crypto API.Je vais utiliser des fonctions comme CryptAcquireContext.Alors que la recherche de plus sur cette API, décrit comme "Win32 API de Chiffrement." Je me demande si il est "Win64 Crypto API"?

Si non, si je développe une application qui rend l'utilisation de "Win32 API Crypto" dans Visual Studio et le compiler en tant que mode 64 bits.Il serait mieux si j'avais compilé en 32 bits?

Que dois-je faire afin de développer une version 64 bits de l'application qui rend l'utilisation de l'API de Chiffrement?

Si possible, signaler les problèmes que vous avez eu le développement d'applications pour les systèmes 64 bits tout en utilisant l'API de chiffrement, récupérer les certificats, portent des signatures, etc..

Les Articles sont les bienvenus.

Était-ce utile?

La solution

L'API Crypto fonctionne bien en 64 bits, utilisez juste %ProgramFiles%\Microsoft SDKs\Windows\vX.X\Lib\x64 comme votre bibliothèque au lieu de %ProgramFiles%\Microsoft SDKs\Windows\vX.X\Lib Et cela fonctionnera bien, il ne devrait pas y avoir de différences entre la bibliothèque 32 bits et la bibliothèque 64 bits qui n'est pas gérée en utilisant les types de données corrects pour les appels (en particulier la largeur du pointeur)

Autres conseils

Le terme "Win32" est de le distinguer d'une API de cryptographie .NET, pas d'une API 64 bits. Vos ressources de recherche n'ont probablement pas été mises à jour pour utiliser des termes plus récents comme "Win64" ou "Native". Il ne semble cependant pas que MSDN fasse cette erreur.

Il ne devrait y avoir aucun problème à l'utiliser avec une application 64 bits (sauf CAPICOM, qui est vraiment 32 bits uniquement).

Crypto API réside dans ADVAPI DLL.Mais vous vous liez à CAPICOM, qui est obsolète, ne doit pas être utilisé, et est 32 bits uniquement.

CryptAcquireContext() est ADVAPI qui existe à la fois 64 bits et 32 bits de Windows.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top