web-dev-qa-db-fra.com

Comment utiliser OpenSSL avec Visual Studio

J'essaie de porter mon application console écrite en C vers Visual Studio 2010. Sur Linux/Mac, l'application fonctionne parfaitement, y compris la prise en charge de OpenSSL.

Quelqu'un peut-il fournir de l'aide pour utiliser/lier les bibliothèques OpenSSL dans un projet Visual Studio?

Merci!

33
user435739

Je sais que c'est vieux! J'ai moi-même fait face au problème et voici la solution.

Tout d'abord, vous devez installer (installation ordinaire normale) openssl. (C'est de ici ).

Maintenant, après avoir créé un projet, je cite:

Assurez-vous que les paramètres suivants sont configurés dans les pages de propriétés du projet:

Valeur [C/C++ -> General -> Additional Include Directories]: répertoire d'inclusion d'OpenSSL sur votre machine (par exemple C:\openssl\include)

Valeur [Linker -> General -> Additional Library Directories]: répertoire lib d'OpenSSL sur votre machine (par exemple C:\openssl\lib)

Valeur [Linker -> Input -> Additional Dependencies]: libeay32.lib

Source .

34
joker

Ajoutez des fichiers d'en-tête liés à OpenSSL et des en-têtes ci-dessous:

#include <winsock2.h>
#include <windows.h>

Ouvrez ci-dessous Lien et téléchargez les fichiers précompilés.

http://www.npcglib.org/~stathis/blog/precompiled-openssl/

extraire et conserver le dossier dans le lecteur C utiliser readme_precompile.txt pour les instructions.

Ouvrez le projet Visual C++ et la procédure de suivi indiquée ci-dessous pour inclure les options Linker et.

Assurez-vous que les paramètres suivants sont configurés dans les pages de propriétés du projet:

  • [C/C++ -> Général -> Répertoires d'inclusion supplémentaires]
    • Répertoire d'inclusion d'OpenSSL dans votre machine (par exemple C:\openssl\include) ou (par exemple C:\openssl\include64)
  • [Éditeur de liens -> Général -> Répertoires de bibliothèque supplémentaires]
    • Le répertoire lib d'OpenSSL sur votre machine (par exemple C:\openssl\lib) ou (par exemple C:\openssl\lib64)
  • [Éditeur de liens -> Entrée -> Dépendances supplémentaires]
    • ws2_32.lib
    • libsslMT.lib
    • Crypt32.lib
    • libcryptoMT.lib
8
Nagaraj Gaonkar

Eh bien, cela fait plus d'un an, mais je n'ai pas trouvé la réponse, alors je me suis musclé. J'ai eu openssl-1.0.1e pour compiler en utilisant VS 11 en tant que tel:

J'ai essayé d'utiliser le Perl fourni avec git, ça n'a pas marché, j'ai dû installer ActivePerl

Tiré du lien fourni par Nitesh:

Perl Configure VC-WIN64A no-asm

Suivi par:

ms\do_win64a

Par cet article , j'ai édité ms\ntdll.mak et changé CC en:

CC="c:\Program Files (x86)\Microsoft visual Studio 11.0\VC\bin\AMD64\cl.exe"

Enfin:

nmake -f ms\ntdll.mak

Je n'ai pas pris la peine d'installer et j'ai simplement ajouté le répertoire openssl-1.0.1e\out32dll aux propriétés de configuration -> Linker -> Répertoires de bibliothèque supplémentaires et openssl-1.0.1e\inc32 aux propriétés de configuration -> C/C++ -> C/C++ -> Général -> Inclut des répertoires supplémentaires, a copié libeay32.dll quelque part sur mon chemin, et l'a appelé bon. Semble fonctionner.

4
user2460683

Voici quelques ressources: Compilation et installation d'OpenSSL pour Windows , ainsi que tilisation d'OpenSSL pour la cryptographie (Blowfish, DES, RC2, RC4)

Je les ai essayés moi-même mais je reçois toujours des erreurs. OpenSSL et Visual Studio ne sont pas mon point fort, mais vous pouvez peut-être le comprendre.

3
Nitesh