OpenSSL for windows

openssl-for-windows,host on google code,is an clean and lightweight OpenSSL library for windows(both 32bit and x64 version).

all versions are compiled in the assembly language routines with Microsoft Visual Studio 2005 and Microsoft MASM as “Multithreaded(/MT)”,you can using it with any version of MSVC.

Download openssl for windows

files included in this library are listed below:

|bin (libeay32.dll, ssleay32.dll,openssl.exe)
|– — openssl  (openssl head files)
|lib (

if you find it useful, a time saver,or even just mildly interesting,then my effort was worth it.
if you have any suggestions on how to improve it, I’d love to hear it.

link to this page:


83 thoughts on “OpenSSL for windows”

  1. Hi,

    Can you pls do me a favour ? I’ve download the Wind32 version of your openSSl. How can I istall in Windows2003 server ? I’ll be vry pleased if you kindly mail me about it..

    Thanks in advance.

  2. Hi Krishna:

    In order to use the OpenSSL functions you need to copy libeay32.dll, ssleay32.dll and msvcr80.dll to the SYSTEM32 folder of your windows machine. (Ex:C:\WINDOWS\SYSTEM32)

  3. Pingback: bbw porn movies
  4. Pingback: fountain garden
  5. Hi,

    What environment did you use to compile the x64 version? I am trying to compile it on my Vista x64 installation and I run into an error:

    ‘ml64’ is not recognized as an internal or external command


  6. @shmarya


    I got the same problem today. After searching for the ml64.exe I found it included in the WINDDK-Package.

    That helped me to do: “ms\do_win64a”.

    But compiling with “nmake -f ms\ntdll.mak” afterwards gave me another error:

    NMAKE : fatal error U1077: ‘”D:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\cl.EXE”‘ :
    return code ‘0xc0000135’

    Starting cl.exe told me it was missing mspdb80.dll. So I copied that to the same folder with the cl.exe.
    I found that in F:\Program Files (x86)\Common Files\microsoft shared\VSA\8.0\VsaEnv.

    Ok, cl.exe worked so far.
    But now it seems the compiler doesn’t find the include-dirs with windows.h, etc.

    ms\uplink.c(11) : fatal error C1083: Cannot open include file: ‘windows.h’: No such file or directory
    NMAKE : fatal error U1077: ‘”D:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\cl.EXE”‘ :
    return code ‘0x2’

    I confident of fixing that problem tomorrow and will then post again. It’s time for going home now! :-)

    Post I you find something in the meantime.

  7. Hi Andi,
    I had the same problem compiling ms\uplink.c. I fixed it by adding to CFLAG in ntdll.mak the directories for the missing headers.
    In my case:

    -I. -I”c:\Program Files\Microsoft Platform SDK”\include -I”c:\Program Files\Microsoft Platform


  8. Thanks for the SSL for x64. When I do a depends, I see dependencies to both msvcr80.dll and msjava.dll.

    Although depends shows msvcr80.dll in the AMD64 directory, depends is showing the cpu as x86, not amd64. Do you happen to know why?

    I don’t understand why msjava.dll is required. Microsoft is no longer distributing the Java VM of which msjava.dll is a component.

  9. Hi,

    I had downloaded the OpenSSL-0.9.8d for Windows(WIN32) Libraries and DLLs. I am trying use these in my project DIAMETER PROTOCOL. But in include –> openssl folder it is having only Header files.
    My problem is, I want to know how to use these libraries and DLLs in my Project? is there any Test files or sample programs are available to tell what these libs and DLLs are doing? what is the next step to do? and, Can I get the Source Code for OpenSSL-0.9.8d version? if it is, Where can i get?
    I’ll be very pleased if you kindly mail me about it..


  10. wasted time trying to get curl (w/ ssl support via openssl) to work on win32.
    finally got it, and it’s dead simple.
    (1) COPY the opensll .dll’s to your System32 folder.
    (2) MAKE A COPY of “ssleay32.dll” and RENAME IT “libssl32.dll”

    it’s is beyond comprehension that noone has posted these simple instructions, here nor at

    anyway hope it saves someone else the time I wasted hunting this down.

  11. hi i want to use google gamil in my webapplication ,
    there will be one login form where i provide my gmail username and password so that i need to redirect to those username password inbox plz help me what all required to do tht

  12. I had downloaded the OpenSSL-0.9.8d for Windows(WIN32) Libraries and DLLs and I use it in VC++ project.
    I have produced the executable with “Debug Multithreaded DLL” but as soon as I use the first function PEM_read_RSAPrivateKey the program “crash” with the errors:

    Loaded ‘ntdll.dll’, no matching symbolic information found.
    Loaded ‘C:\WINDOWS\system32\kernel32.dll’, no matching symbolic information found.
    Loaded ‘D:\MySourceC++\Crypt2\Debug\libeay32.dll’, no matching symbolic information found.
    Loaded ‘C:\WINDOWS\system32\wsock32.dll’, no matching symbolic information found.
    Loaded ‘C:\WINDOWS\system32\ws2_32.dll’, no matching symbolic information found.
    Loaded ‘C:\WINDOWS\system32\msvcrt.dll’, no matching symbolic information found.
    Loaded ‘C:\WINDOWS\system32\ws2help.dll’, no matching symbolic information found.
    Loaded ‘C:\WINDOWS\system32\advapi32.dll’, no matching symbolic information found.
    Loaded ‘C:\WINDOWS\system32\rpcrt4.dll’, no matching symbolic information found.
    Loaded ‘C:\WINDOWS\system32\gdi32.dll’, no matching symbolic information found.
    Loaded ‘C:\WINDOWS\system32\user32.dll’, no matching symbolic information found.
    Loaded ‘C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd\msvcr80.dll’, no matching symbolic information found.
    Loaded ‘D:\MySourceC++\Crypt2\Debug\ssleay32.dll’, no matching symbolic information found.
    Loaded symbols for ‘C:\WINDOWS\system32\MSVCIRTD.DLL’
    Loaded symbols for ‘C:\WINDOWS\system32\MSVCRTD.DLL’
    The thread 0xE04 has exited with code -1073741811 (0xC000000D).
    The program ‘D:\MYSOURCEC++\Crypt2\Debug\Crypt2.exe’ has exited with code -1073741811 (0xC000000D).

    Help me please! ;)

  13. hi sory for my english but i am french.
    I can t create a new certificat with openssl (win32 version).

  14. Thanks a lot for these dll, they saved me much time to get my app running.

    BTW, you shouldn’t redistribute msvcr80.dll. That lib is using the new microsoft scheme for dll (the WinSxS thing). Putting your msvcr80.dll in my path made explorer.exe generate weird runtime errors on my WinXP x64. Instead you should instead point to (or redistribute) the dll installer available at that address :

  15. To compile x64 under MSVC 8.0:

    1) Use “Visual Studio 2005 x64 Cross Tools Command Prompt”

    2) You need to follow instructions to compile OpenSSL in README.W64

    All compiles just fine.

    Same to 32-bit version, but use “Visual Studio 2005 Command Prompt” instead and follow README.W32 instructions.

  16. Hey. – I downloaded the latest Version of x64. – And getting the following error:

    C:\OpenSSL\bin>openssl req -new -x509 -keyout “C:/OpenSSL/bin/ca-key.pem” -out ”
    C:/OpenSSL/bin/ca-cert.pem” -config “C:/OpenSSL/bin/openssl.cnf”
    error on line -1 of C:/OpenSSL/bin/openssl.cnf
    632:error:02001002:system library:fopen:No such file or directory:.\crypto\bio\b
    632:error:2006D080:BIO routines:BIO_new_file:no such file:.\crypto\bio\bss_file.
    632:error:0E078072:configuration file routines:DEF_LOAD:no such file:.\crypto\co

    This is my openssl.cnf:

    [ CA_default ]
    dir = c:/OpenSSL # Hier findet die OpenSSL “Buchführung” statt
    default_days = 0 # Solange gilt ein Zertifikat (default)
    # Für die Einrichtung der CA sollte da ein
    # größerer Wert eingetragen werden, z.B. 7300
    default_crl_days= 30 # In diesen Abständen sollten CRL Listen publiziert werden
    policy = policy_anything # Damit wird eine Policy festgelegt
    # Je nach Policy müssen bestimmte Felder des Subjects mit der
    # CA übereinstimmen
    # For the CA policy
    # Hier müssen countryName, stateOrProvinceName und organizationName
    # Mit denen der CA übereinstimmen.
    [ policy_match ]
    countryName = match
    stateOrProvinceName = match
    organizationName = match
    organizationalUnitName = optional
    commonName = supplied
    emailAddress = optional

    # For the ‘anything’ policy
    # Hier werden alle Werte mit beliebigem Inhalt akzeptiert, aber
    # diese Felder des Subjects müssen vorhanden sein
    [ policy_anything ]
    countryName = optional
    stateOrProvinceName = optional
    localityName = optional
    organizationName = optional
    organizationalUnitName = optional
    commonName = supplied
    emailAddress = optional
    [ req_distinguished_name ]
    countryName = AT
    countryName_default = AT
    countryName_min = 2
    countryName_max = 2
    stateOrProvinceName = State
    stateOrProvinceName_default = Country
    localityName = STP
    0.organizationName = Intelli Soft
    0.organizationName_default = Penguin User Group
    organizationalUnitName = NO
    organizationalUnitName_default = Trustcenter
    commonName = Harald Bacik
    commonName_max = 64
    emailAddress =
    emailAddress_max = 64

    [ req_attributes ]
    challengePassword =
    challengePassword_min = 4
    challengePassword_max = 20
    unstructuredName =

  17. Thanks Dean Lee 4 this effort.

    I ran into problems 2day installing openssl 0.9.8h and hoping to post d problem but stumbled on ur site.
    I’ll try it out and report back soon.

  18. When I run openssl on my Windows box, it’s complaining that it can’t load the config file from /usr/local/ssl/openssl.cnf

  19. LNK2019: Unresolved external symbol _SHA1_Init referenced in function _main appeared in MVS 2005
    -1 Lib directory has been included in linker
    -2 .h also included
    -3 applink.c is included in application file

    Could you anyone tell how can I resolve the above linker problem? Have I missed out any step in Visual studio compiler? Your help is greatly appreciated

  20. Hi! I installed in my computer x86 version, and when I run the program, apear that “WARNING: can’t open config file: C:\OpenSSL\bin\openssl.cnf”
    What do u think is it wrong?

    openssl genrsa -out privada 1024


  21. Hi,

    any chance to compile to the new openssl 098i
    so we can use it instead for the outdated version “e”

    thanks for your awesome work

  22. Hi!

    I want to use Openssl in Visual studio 2008. I have installed Openssl 0_9_8i win32 and Visual C++ 2008 Redistributable . When I use some Openssl function in the code I get the following error message:
    TEST_CLIENT.obj : error LNK2019: unresolved external symbol _PEM_read_X509 referenced in function “int __cdecl ace_main_i(int,char * * const)” (?ace_main_i@@YAHHQAPAD@Z)
    1>.\Release/TEST_CLIENT.exe : fatal error LNK1120: 1 unresolved externals

    I have added to include directories the openssl/include and to the addition lib directories openssl/lib/vc.

    Could you give me any help?

  23. Thanks for your effort, which is wonderful. But there is problem which make it useless for me, I succeeded to generate private key file but when I wanted to generate Certificate File with command “req -new -key server.key -out server.csr” I got this error :
    Unable to load config info from /usr/local/ssl/openssl.cnf

  24. Hi there

    Thanks for a great lightweight OpenSSL implementation.

    I’ve a problem with a ‘problem encountered and must close’ Windows message when decrypting.

    I’ve encrypted a file fine using the -pass pass argument but when I come to decrypt using enc -d etc it just dies!

    Any ideas would be very welcome.



  25. Hi, I need to use the RSA algoritm in VB6 application. Do you can suggest the good way for use the openssl ?

  26. Hi .. when use the function “PEM_write_RSAPrivateKey” Or “PEM_write_RSAPublicKey” in my program with your library the program go in scrash!! Do you know why?

  27. unable to load config info
    from /usr/local/ssl/openssl.cnf.

    hello Mahdi, I know it’s been long time since you posted that message, but if anyone else out time is caught up in the same situation, just use the relative url of the openssl.cnf file. for example

    1. go into the ‘bin’ folder where the openssl.exe file is.
    2. type something like.
    openssl req -config ..\openssl.cnf and then the rest code.
    hope that helps

  28. Hello

    Could You tell me, what type of font do you use in your site? It’s beautiful.


  29. Ok can these be used with a 32bit app (but on 64 bit windows platform)?
    trying to use these with ftprush a ftp application but says unable to load ssl dll, however when using 32bit openssl it works.

  30. Using openssl-0.9.8k_WIN32 I too get this error–why? The path described does not exist, so I changed root folder name and added folder ssl, moved the openssl.cnf there and still get the same error. Please help, thanks.
    Unable to load config info from c:/openssl/ssl/openssl.cnf

  31. Hi,
    Thanks a lot for posting this library files. I was unable to compile my source code using .dlls. I used the .lib files and it got compiled like magic!
    Thanks much

  32. Hi Dean, thanks for the files.
    How come the binaries are under gnugpl when openssl is allowed for commercial usage.
    I want to ship both 32 bit and 64 bit programs in the same install package but the problem is that both the 32 bit and 64 bit libeay32.dll is called libeay32.dll is that a mistake can i just rename the 64 bit versions as libeay64.dll etc? as they conflict in a side by side installation in the same folder of the install package.

  33. Every time I browse a page of comments. this text adds to the bottom of the comment page. if i viewed seven pages it appears seven times "This visual editor brought to you by fckeditor for wordpress plugin"

  34. unable to load config info from /usr/local/ssl/openssl.cnf

    There is a simple solution:
    1. move all your file to c:\openssl
    2. add a folder c:\openssl\ssl\
    3. move c:\openssl\openssl.cnf to c:\openssl\ssl\openssl.cnf
    It works in winxp

  35. Please help.  I'm getting the following error…

    C:\openssl-0.9.8k_WIN32\bin>openssl s_client -connect > gmail
    Loading 'screen' into random state – done
    depth=1 /C=US/O=Google Inc/CN=Google Internet Authority
    verify error:num=20:unable to get local issuer certificate
    verify return:0

  36. Ok can these be used with a 32bit app (but on 64 bit windows platform)?
    trying to use these with ftprush a ftp application but says unable to load ssl dll, however when using 32bit openssl it works.

Leave a Reply

Your email address will not be published.