From Grandville.net

OpenSSL: La compilation d'OpenSSL sous windows

Un setup d'installation est disponible ici.

Compilation d'OpenSSL

Voici une procédure pour la compilation d'OpenSSL sous Windows avec le compilateur Microsoft Visual Studio 6.0 SP5.

  1. téléchargement et décompression des codes sources sur OpenSSL
  2. installation et installation du moteur PERL
  3. téléchargement et installation du Processor Pack de Microsoft

depuis la racine du répertoire dans lequel a été décompressé OpenSSL.

D:\openssl-0.9.8k>PERL CONFIGURE VC-WIN32
D:\openssl-0.9.8k>VCVARS32BAT
D:\openssl-0.9.8k>ms\32all.bat

OpenSSL est maintenant compilé, le résultat des compilations est stocké dans les répertoires \out32,out32.dbg,\out32dll,out32dll.dbg.

Téléchargement d'OpenSSL

Vous pouvez aussi éviter toutes ces manipulations en téléchargeant la version compilée d'OpenSSL à cette adresse http://www.grandville.net/OpenSSL/Installation

Compilation des librairies en mode debug

L'option /Zi a été ajoutée à la configuration DEBUG à partir de la version 1.0.0

Les librairies en mode DEBUG ne permettent pas de tracer les exécutions en mode STEP INTO sous VS6
Pour cela, il est nécessaire d'ajouter l'option de compilation /Zi au makefile.

1. éditer le fichier d32dll.mak pour ajouter l'option de compilation à la variable CFLAG

.../...
CC=cl
CFLAG= /MDd /Od -DDEBUG -D_DEBUG /W3 /WX /Gs0 /GF /Gy /Zi /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN
-DL_ENDIAN -DDSO_WIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_USE_APPLINK -I. /Fdout32dll
-DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_ENGINE

APP_CFLAG=
.../...

2. recompiler les DLL du mode debug

D:\openssl-0.9.8k>nmake -f d32dll.mak clean
D:\openssl-0.9.8k>nmake -f d32dll.mak

Le fichier ssleay32.pdb est passé de 656Ko à 1,20Mo et libeay32.pdb de 3,45Mo à 7,46Mo.
Il ne reste plus qu'à copier les fichiers libeay32.dll,libeay32.lib,libeay32.pdb,ssleay32.dll,ssleay32.lib et ssleay32.pdb dans le répertoire de l'exécutable du projet pour qu'il soit maintenant possible de suivre les exécutions dans le code source d'OpenSSL.

voici un petit code permettant de tester le bon fonctionnement du mode pas à pas sous VS6

#include <openssl/sha.h>
#include <openssl/evp.h>

#pragma comment(lib, "ssleay32.lib")
#pragma comment(lib, "libeay32.lib")

int main(int argc, char* argv[])

{
        unsigned char md[SHA256_DIGEST_LENGTH];

        EVP_Digest("abc",3,md,NULL,EVP_sha256(),NULL);

        return 0;
}
Retrieved from http://www.grandville.net?n=OpenSSL.Openssl-compilation-windows
Page last modified on June 12, 2010, at 05:48 PM