ae.net.ssl.openssl

This module selects which OpenSSL version to target depending on what version of D bindings are available. The "openssl" Deimos package version 1.x targets OpenSSL 1.0, and version 2.x targets OpenSSL 1.1.

If you use ae with Dub, you can specify the version of the OpenSSL D bindings in your project's dub.sdl. The ae:openssl subpackage also has configurations which indicate the library file names to link against.

Thus, to target OpenSSL 1.0, you can use:

dependency "ae:openssl" version="..."
dependency "openssl" version="~>1.0"
subConfiguration "ae:openssl" "lib-explicit-1.0"

And, to target OpenSSL 1.1:

dependency "ae:openssl" version="..."
dependency "openssl" version="~>2.0"
subConfiguration "ae:openssl" "lib-implicit-1.1"

Members

Classes

OpenSSLAdapter
class OpenSSLAdapter

SSLAdapter implementation.

OpenSSLCertificate
class OpenSSLCertificate

SSLCertificate implementation.

OpenSSLContext
class OpenSSLContext

SSLContext implementation.

OpenSSLProvider
class OpenSSLProvider

SSLProvider implementation.

Functions

sslEnforce
T sslEnforce(T v, string message)

Convert an OpenSSL error into a thrown D exception.

Manifest constants

isOpenSSL11
enum isOpenSSL11;
Undocumented in source.
isOpenSSL11
enum isOpenSSL11;
Undocumented in source.

Mixin templates

SSLUseLib
mixintemplate SSLUseLib()

mixin this in your program to link to OpenSSL.

Structs

MemoryBIO
struct MemoryBIO

TODO: replace with custom BIO which hooks into IConnection

Meta