Skip to content
This repository has been archived by the owner. It is now read-only.
Delphi import unit for OpenSSL DLL
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE Import from old website Nov 8, 2018
OpenSSLUtils.pas Link to the new mantainer's repo Nov 21, 2018 Import from old website Nov 8, 2018

Delphi import unit for OpenSSL DLL

(this is the verbatim copy from the old site

This repo is not maintained anymore, you can get an updated version here:

Versione italiana

OpenSSL is a collaborative project to develop an Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library.
To use OpenSSL software on Microsoft Windows 32 bit systems, you can get DDLs from the GNU Win32 project site.

Borland Delphi and OpenSSL

Delphi can use OpenSSL library invoking DLL.

OpenSSL toolkit is divided in two modules: libssl, implementing SSLv2/v3 and TLS for network communications and libcrypto, that implements cryptography functions.

To use SLv2/v3 and TLS network function with Delphi, you can use components from Indy project.

CSITA has developed a unit to import some function about X.509 certificate.

Required files

  • Gnu Win32 libeay32.dll
    • OpenSSL DLL. Present unit has been developed for 0.9.6b version. Version 0.9.6g compiled by Intelicom for Indy project seem to work correctly;
  • libeay32.pas v. 0.7m
    • DLL functions prototypes. Not all libeay32.dll functions have a prototype there; all functions that use C-style file pointer are not defined;
    • What's new in 0.7m version, 05/11/2010
      • typos and bugs fixes
      • added support for PCKS#8 functions (contributed by Luis Carrasco - Bambu Code, Mexico)
      • redefinition of PChar as PCharacter to handle PChar and PAnsiChar types
    • What's new in 0.7d version, 12/15/2006
      • typos and bugs fixes
      • removed EVP_MD_size and EVP_MD_CTX_size: these functions not defined in DLL and handle their parameter in a non-opaque way.
      • add BIGNUM functions: between 0.9.6h and 0.9.7, OpenSSL project splits OpenSSL_add_all_algorithms in two new functions. Some versions of libeay32.dll use old name, some use new one. See In this unit, OpenSSL_add_all_algorithms is now a wrapper that dynamically loads appropriate function from DLL.
    • What's new in 0.7 version, 09/14/2006
      • bug fix (thanks to M. Hlavac and R. Tamme)
      • funzioni di gestione della memoria
      • funzioni di gestione diretta dei file
    • What's new in 0.6 version, 07/15/2003
      • fixed some record type (EVP_MD, EVP_MD_CTX, etc...)
      • new function prototipes
    • What's new in 0.4 version, 03/17/2003
      • renamed libeay32.pas
      • some small bug fixed
      • several new function prototipes defined
  • OpenSSLUtils.pas v. 0.5
    • Utility functions and classes. This unit is a "technological exercise" and not a production grade component.
    • New in 0.5 version, 06/01/2010
      • Thanks to Pablo Romero (Cordoba, Argentina) now compile on Delphi 2006, 2007, 2009 and 2010
    • New examples in 0.3 version, 03/24/2003
      • new TPKCS7 class for PCKS#7 envelope reading
      • new TX509Certificate class for X.509 certificate verifing
      • some new function

Functions documentation are included with OpenSSL distribution.



Any suggestion, contribution and comment are appreciated.

You can’t perform that action at this time.