# Unit ssl_openssl

Description | uses | Classes, Interfaces, Objects and Records | Functions and Procedures | Types | Constants | Variables

## Description

SSL plugin for OpenSSL

You need OpenSSL libraries version 0.9.7. It can work with 0.9.6 too, but application mysteriously crashing when you are using freePascal on Linux. Use Kylix on Linux is OK! If you have version 0.9.7 on Linux, then I not see any problems with FreePascal.

OpenSSL libraries are loaded dynamicly - you not need OpenSSl librares even you compile your application with this unit. SSL just not working when you not have OpenSSL libraries.

This plugin have limited support for .NET too! Because is not possible to use callbacks with CDECL calling convention under .NET, is not supported key/certificate passwords and multithread locking. :-(

For handling keys and certificates you can use this properties:

TCustomSSL.CertificateFile for PEM or ASN1 DER (cer) format.
TCustomSSL.Certificate for ASN1 DER format only.
TCustomSSL.PrivateKeyFile for PEM or ASN1 DER (key) format.
TCustomSSL.PrivateKey for ASN1 DER format only.
TCustomSSL.CertCAFile for PEM CA certificate bundle.
TCustomSSL.PFXfile for PFX format.
TCustomSSL.PFX for PFX format from binary string.

This plugin is capable to create Ad-Hoc certificates. When you start SSL/TLS server without explicitly assigned key and certificate, then this plugin create Ad-Hoc key and certificate for each incomming connection by self. It slowdown accepting of new connections!

## uses

- SysUtils
- Classes
- blcksock
- synsock
- synautil
- ssl_openssl_lib

## Overview

### Classes, Interfaces, Objects and Records

Name | Description
--- | ---
Class `TSSLOpenSSL` | class implementing OpenSSL SSL plugin.

Generated by PasDoc 0.9.0 on 2012-04-23 21:38:51