2010-05-24 9 views
4

J'essaie de tester la bibliothèque de chiffrement qui vient avec openssl, j'ai téléchargé openssl de et il contient un dossier/crypto avec des sous-dossiers pour chaque type de chiffrement. Je voulais essayer BIO_f_base64, j'ai donc créé une application de console vide, ajouté les inclusions nécessaires, ajouté les chemins vers les répertoires/bio et/evp vers les répertoires C++ incl, et ajouté le dossier principal/openssl.Comment utiliser les entêtes openssl crypto lib en C++?

Quand je tente de compiler je me Impossible d'ouvrir le fichier include: « OpenSSL/e_os2.h »: Aucun fichier ou répertoire

Mais le dossier est là, dois-je utiliser la lib Crypto dans un autre façon? Comment puis-je l'utiliser en ajoutant seulement le chemin/openssl et pas tous les sous-dossiers crypto que j'utilise?

De même, je n'ai aucun fichier .lib, où puis-je les obtenir?

+0

La bibliothèque OpenSSL téléchargée contient tous les en-têtes, mais ils sont stockés sous forme de liens symboliques que Windows n'aime pas (Cygwin peut les gérer). Vous voudrez utiliser la bibliothèque précompilée ci-dessous (voir la réponse de Joe) –

+0

Voir aussi [EVP Symmetric Encryption and Decryption | Programmes C++] (https://wiki.openssl.org/index.php/EVP_Symmetric_Encryption_and_Decryption#C.2B.2B_Programs) pour quelques astuces lorsque vous travaillez avec C++. Les mêmes astuces ont été appliquées à [Comment ajouter 2 entiers de taille arbitrairement en C++?] (Https://stackoverflow.com/a/45940572/608639). – jww

Répondre

5

Vous avez besoin d'une version d'OpenSSL conçue pour Windows, pas la version source. Je recommande d'installer une version de here, qui a quelques installateurs agréables pour les fichiers .lib et les en-têtes. Une fois que vous l'avez installé, vous devrez mettre à jour votre projet VS avec les chemins d'inclusion appropriés pour récupérer les en-têtes d'où le programme d'installation les a placés.

+0

Ok merci je vais essayer cette version. – peterg

1

Dans les fenêtres, si vous voulez compiler vous-même, vous pouvez le faire en cours d'exécution:

64 bits:

perl Configure VC-WIN64A 
ms\do_win64a.bat 
nmake -k -f ms\ntdll.mak 

32 bits:

perl Configure VC-WIN32 
ms\do_nasm.bat 
nmake -k -f ms\ntdll.mak 

Une fois que vous compilez les sources, les en-têtes se trouvent dans le dossier inc32 et le libs/dlls dans le dossier out32dll.

Vous trouverez des informations beaucoup plus détaillées dans les fichiers INSTALL.