Unit Grijjy.OpenSSL.API

DescriptionUsesClasses, Interfaces, Objects and RecordsFunctions and ProceduresTypesConstantsVariables

Description

 

Overview

Classes, Interfaces, Objects and Records

Name Description
record TASN1_STRING  
record TCRYPTO_dynlock_value  

Functions and Procedures

function BIOGetFlags(const ABIO: PBIO): Integer; inline;
function BIORetry(const ABIO: PBIO): Boolean; inline;
function SetSSLCTXOptions(const ACTX: Pointer; const AOP: Integer): Integer;
function SSLErrorFatal(const AError: Integer): Boolean;
function SSLError(const ASSL: PSSL; const AReturnCode: Integer; out AErrorMsg: String): Integer;
procedure LoadSSLEAY;
procedure UnloadSSLEAY;
procedure LoadLIBEAY;
procedure UnloadLIBEAY;
procedure SSLInitialize;
procedure SSLFinalize;

Types

PSSL_METHOD = Pointer;
PSSL_CTX = Pointer;
PBIO = Pointer;
PSSL = Pointer;
PX509_STORE = Pointer;
PEVP_PKEY = Pointer;
PPEVP_PKEY = ˆPEVP_PKEY;
PEVP_PKEY_CTX = Pointer;
PEVP_MD_CTX = Pointer;
PEVP_MD = Pointer;
PENGINE = Pointer;
PX509 = Pointer;
PPX509 = ˆPX509;
PASN1_STRING = ˆTASN1_STRING;
TASN1_BIT_STRING = TASN1_STRING;
PASN1_BIT_STRING = ˆTASN1_BIT_STRING;
TSetVerify_cb = function(Ok: Integer; StoreCtx: PX509_STORE): Integer; cdecl;
PCRYPTO_dynlock_value = ˆTCRYPTO_dynlock_value;
PBIO_METHOD = Pointer;
PX509_NAME = Pointer;
PSTACK = Pointer;
PASN1_OBJECT = Pointer;
TStatLockLockCallback = procedure(Mode: Integer; N: Integer; const _File: MarshaledAString; Line: Integer); cdecl;
TDynLockCreateCallback = function(const _file: MarshaledAString; Line: Integer): PCRYPTO_dynlock_value; cdecl;
TDynLockLockCallback = procedure(Mode: Integer; L: PCRYPTO_dynlock_value; _File: MarshaledAString; Line: Integer); cdecl;
TDynLockDestroyCallback = procedure(L: PCRYPTO_dynlock_value; _File: MarshaledAString; Line: Integer); cdecl;
TPemPasswordCallback = function(buf: Pointer; size: Integer; rwflag: Integer; userdata: Pointer): Integer; cdecl;

Constants

SSLEAY_DLL = 'ssleay32.dll';
LIBEAY_DLL = 'libeay32.dll';
SSL_ERROR_NONE = 0;
SSL_ERROR_SSL = 1;
SSL_ERROR_WANT_READ = 2;
SSL_ERROR_WANT_WRITE = 3;
SSL_ERROR_WANT_X509_LOOKUP = 4;
SSL_ERROR_SYSCALL = 5;
SSL_ERROR_ZERO_RETURN = 6;
SSL_ERROR_WANT_CONNECT = 7;
SSL_ERROR_WANT_ACCEPT = 8;
SSL_ST_OK = 3;
SSL_VERIFY_NONE = 0;
SSL_OP_ALL = $000FFFFF;
SSL_OP_NO_SSLv2 = $01000000;
SSL_OP_NO_SSLv3 = $02000000;
SSL_OP_NO_COMPRESSION = $00020000;
BIO_CTRL_INFO = 3;
BIO_CTRL_PENDING = 10;
CRYPTO_LOCK = 1;
CRYPTO_UNLOCK = 2;
CRYPTO_READ = 4;
CRYPTO_WRITE = 8;
BIO_FLAGS_READ = 1;
BIO_FLAGS_WRITE = 2;
BIO_FLAGS_IO_SPECIAL = 4;
BIO_FLAGS_RWS = (BIO_FLAGS_READ or BIO_FLAGS_WRITE or BIO_FLAGS_IO_SPECIAL);
BIO_FLAGS_SHOULD_RETRY = 8;
BIO_NOCLOSE = 0;
BIO_CLOSE = 1;

Variables

SSL_library_init: function: Integer; cdecl = nil;
SSL_load_error_strings: procedure; cdecl = nil;
SSLv3_method: function: PSSL_METHOD; cdecl = nil;
SSLv23_method: function: PSSL_METHOD; cdecl = nil;
TLSv1_method: function: PSSL_METHOD; cdecl = nil;
TLSv1_1_method: function: PSSL_METHOD; cdecl = nil;
SSL_CTX_new: function(meth: PSSL_METHOD): PSSL_CTX; cdecl = nil;
SSL_CTX_free: procedure(ctx: PSSL_CTX); cdecl = nil;
SSL_CTX_set_verify: procedure(ctx: PSSL_CTX; mode: Integer; callback: TSetVerify_cb); cdecl = nil;
SSL_CTX_use_PrivateKey: function(ctx: PSSL_CTX; pkey: PEVP_PKEY): Integer; cdecl = nil;
SSL_CTX_use_RSAPrivateKey: function(ctx: PSSL_CTX; pkey: PEVP_PKEY): Integer; cdecl = nil;
SSL_CTX_use_certificate: function(ctx: PSSL_CTX; x: PX509): Integer; cdecl = nil;
SSL_CTX_check_private_key: function(ctx: PSSL_CTX): Integer; cdecl = nil;
SSL_CTX_use_certificate_file: function(ctx: PSSL_CTX; f: MarshaledAString; t: Integer): Integer; cdecl = nil;
SSL_CTX_use_RSAPrivateKey_file: function(ctx: PSSL_CTX; f: MarshaledAString; t: Integer): Integer; cdecl = nil;
SSL_CTX_get_cert_store: function(ctx: PSSL_CTX): PX509_STORE; cdecl = nil;
SSL_CTX_ctrl: function(ctx: PSSL_CTX; cmd, i: integer; p: pointer): Integer; cdecl = nil;
SSL_CTX_load_verify_locations: function(ctx: PSSL_CTX; CAFile: MarshaledAString; CAPath: MarshaledAString): Integer; cdecl = nil;
SSL_CTX_use_certificate_chain_file: function(ctx: PSSL_CTX; CAFile: MarshaledAString): Integer; cdecl = nil;
SSL_CTX_set_alpn_protos: function(ctx: PSSL_CTX; protos: MarshaledAString; protos_len: Integer): Integer; cdecl = nil;
SSL_new: function(ctx: PSSL_CTX): PSSL; cdecl = nil;
SSL_set_bio: procedure(s: PSSL; rbio, wbio: PBIO); cdecl = nil;
SSL_get_peer_certificate: function(s: PSSL): PX509; cdecl = nil;
SSL_get_error: function(s: PSSL; ret_code: Integer): Integer; cdecl = nil;
SSL_shutdown: function(s: PSSL): Integer; cdecl = nil;
SSL_free: procedure(s: PSSL); cdecl = nil;
SSL_connect: function(s: PSSL): Integer; cdecl = nil;
SSL_set_connect_state: procedure(s: PSSL); cdecl = nil;
SSL_set_accept_state: procedure(s: PSSL); cdecl = nil;
SSL_read: function(s: PSSL; buf: Pointer; num: Integer): Integer; cdecl = nil;
SSL_write: function(s: PSSL; const buf: Pointer; num: Integer): Integer; cdecl = nil;
SSL_state: function(s: PSSL): Integer; cdecl = nil;
SSL_pending: function(s: PSSL): Integer; cdecl = nil;
SSL_set_cipher_list: function(s: PSSL; ciphers: MarshaledAString): Integer; cdecl = nil;
SSL_get0_alpn_selected: procedure(s: PSSL; out data: MarshaledAString; out len: Integer); cdecl = nil;
SSL_clear: function(s: PSSL): Integer; cdecl = nil;
CRYPTO_num_locks: function: Integer; cdecl = nil;
CRYPTO_set_locking_callback: procedure(callback: TStatLockLockCallback); cdecl = nil;
CRYPTO_set_dynlock_create_callback: procedure(callback: TDynLockCreateCallBack); cdecl = nil;
CRYPTO_set_dynlock_lock_callback: procedure(callback: TDynLockLockCallBack); cdecl = nil;
CRYPTO_set_dynlock_destroy_callback: procedure(callback: TDynLockDestroyCallBack); cdecl = nil;
CRYPTO_cleanup_all_ex_data: procedure; cdecl = nil;
ERR_remove_state: procedure(tid: Cardinal); cdecl = nil;
ERR_free_strings: procedure; cdecl = nil;
ERR_error_string_n: procedure(err: Cardinal; buf: MarshaledAString; len: NativeUInt); cdecl = nil;
ERR_get_error: function: Cardinal; cdecl = nil;
ERR_remove_thread_state: procedure(pid: Cardinal); cdecl = nil;
ERR_load_BIO_strings: function: Cardinal; cdecl = nil;
EVP_cleanup: procedure; cdecl = nil;
EVP_PKEY_free: procedure(pkey: PEVP_PKEY); cdecl = nil;
BIO_new: function(BioMethods: PBIO_METHOD): PBIO; cdecl = nil;
BIO_ctrl: function(bp: PBIO; cmd: Integer; larg: Longint; parg: Pointer): Longint; cdecl = nil;
BIO_new_mem_buf: function(buf: Pointer; len: Integer): PBIO; cdecl = nil;
BIO_free: function(b: PBIO): Integer; cdecl = nil;
BIO_s_mem: function: PBIO_METHOD; cdecl = nil;
BIO_read: function(b: PBIO; Buf: Pointer; Len: Integer): Integer; cdecl = nil;
BIO_write: function(b: PBIO; Buf: Pointer; Len: Integer): Integer; cdecl = nil;
BIO_new_socket: function(sock: Integer; close_flag: Integer): PBIO; cdecl = nil;
X509_get_issuer_name: function(cert: PX509): PX509_NAME; cdecl = nil;
X509_get_subject_name: function(cert: PX509): PX509_NAME; cdecl = nil;
X509_free: procedure(cert: PX509); cdecl = nil;
X509_NAME_print_ex: function(bout: PBIO; nm: PX509_NAME; indent: Integer; flags: Cardinal): Integer; cdecl = nil;
sk_num: function(stack: PSTACK): Integer; cdecl = nil;
sk_pop: function(stack: PSTACK): Pointer; cdecl = nil;
ASN1_BIT_STRING_get_bit: function(a: PASN1_BIT_STRING; n: Integer): Integer; cdecl = nil;
OBJ_obj2nid: function(o: PASN1_OBJECT): Integer; cdecl = nil;
OBJ_nid2sn: function(n: Integer): MarshaledAString; cdecl = nil;
ASN1_STRING_data: function(x: PASN1_STRING): Pointer; cdecl = nil;
PEM_read_bio_X509: function(bp: PBIO; x: PX509; cb: TPemPasswordCallback; u: Pointer): PX509; cdecl = nil;
PEM_read_bio_PrivateKey: function(bp: PBIO; x: PPEVP_PKEY; cb: TPemPasswordCallback; u: Pointer): PEVP_PKEY; cdecl = nil;
PEM_read_bio_RSAPrivateKey: function(bp: PBIO; x: PPEVP_PKEY; cb: TPemPasswordCallback; u: Pointer): PEVP_PKEY; cdecl = nil;
EVP_MD_CTX_create: function: PEVP_MD_CTX; cdecl = nil;
EVP_MD_CTX_destroy: procedure(ctx: PEVP_MD_CTX); cdecl = nil;
EVP_sha256: function: PEVP_MD; cdecl = nil;
EVP_sha1: function: PEVP_MD; cdecl = nil;
EVP_PKEY_size: function(key: PEVP_PKEY): Integer; cdecl = nil;
EVP_DigestSignInit: function(aCtx: PEVP_MD_CTX; aPCtx: PEVP_PKEY_CTX; aType: PEVP_MD; aEngine: PENGINE; aKey: PEVP_PKEY): Integer; cdecl = nil;
EVP_DigestUpdate: function(ctx: PEVP_MD_CTX; const d: Pointer; cnt: Cardinal): Integer; cdecl = nil;
EVP_DigestSignFinal: function(ctx : PEVP_MD_CTX; const d: PByte; var cnt: Cardinal): Integer; cdecl = nil;
EVP_DigestVerifyInit: function(aCtx: PEVP_MD_CTX; aPCtx: PEVP_PKEY_CTX; aType: PEVP_MD; aEngine: PENGINE; aKey: pEVP_PKEY): Integer; cdecl = nil;
EVP_DigestVerifyFinal: function(ctx : pEVP_MD_CTX; const d: PByte; cnt: Cardinal) : Integer; cdecl = nil;
CRYPTO_malloc: function(aLength : LongInt; const f : MarshaledAString; aLine : Integer): Pointer; cdecl = nil;
CRYPTO_free: procedure(str: Pointer); cdecl = nil;
HMAC: function(evp: PEVP_MD; key: PByte; key_len: Integer; data: PByte; data_len: Integer; md: PByte; var md_len: integer): PByte; cdecl = nil;

Description

Functions and Procedures

function BIOGetFlags(const ABIO: PBIO): Integer; inline;

Helpers

function BIORetry(const ABIO: PBIO): Boolean; inline;
 
function SetSSLCTXOptions(const ACTX: Pointer; const AOP: Integer): Integer;
 
function SSLErrorFatal(const AError: Integer): Boolean;
 
function SSLError(const ASSL: PSSL; const AReturnCode: Integer; out AErrorMsg: String): Integer;
 
procedure LoadSSLEAY;
 
procedure UnloadSSLEAY;
 
procedure LoadLIBEAY;
 
procedure UnloadLIBEAY;
 
procedure SSLInitialize;
 
procedure SSLFinalize;
 

Types

PSSL_METHOD = Pointer;
 
PSSL_CTX = Pointer;
 
PBIO = Pointer;
 
PSSL = Pointer;
 
PX509_STORE = Pointer;
 
PEVP_PKEY = Pointer;
 
PPEVP_PKEY = ˆPEVP_PKEY;
 
PEVP_PKEY_CTX = Pointer;
 
PEVP_MD_CTX = Pointer;
 
PEVP_MD = Pointer;
 
PENGINE = Pointer;
 
PX509 = Pointer;
 
PPX509 = ˆPX509;
 
PASN1_STRING = ˆTASN1_STRING;
 
TASN1_BIT_STRING = TASN1_STRING;
 
PASN1_BIT_STRING = ˆTASN1_BIT_STRING;
 
TSetVerify_cb = function(Ok: Integer; StoreCtx: PX509_STORE): Integer; cdecl;
 
PCRYPTO_dynlock_value = ˆTCRYPTO_dynlock_value;
 
PBIO_METHOD = Pointer;
 
PX509_NAME = Pointer;
 
PSTACK = Pointer;
 
PASN1_OBJECT = Pointer;
 
TStatLockLockCallback = procedure(Mode: Integer; N: Integer; const _File: MarshaledAString; Line: Integer); cdecl;
 
TDynLockCreateCallback = function(const _file: MarshaledAString; Line: Integer): PCRYPTO_dynlock_value; cdecl;
 
TDynLockLockCallback = procedure(Mode: Integer; L: PCRYPTO_dynlock_value; _File: MarshaledAString; Line: Integer); cdecl;
 
TDynLockDestroyCallback = procedure(L: PCRYPTO_dynlock_value; _File: MarshaledAString; Line: Integer); cdecl;
 
TPemPasswordCallback = function(buf: Pointer; size: Integer; rwflag: Integer; userdata: Pointer): Integer; cdecl;
 

Constants

SSLEAY_DLL = 'ssleay32.dll';
 
LIBEAY_DLL = 'libeay32.dll';
 
SSL_ERROR_NONE = 0;
 
SSL_ERROR_SSL = 1;
 
SSL_ERROR_WANT_READ = 2;
 
SSL_ERROR_WANT_WRITE = 3;
 
SSL_ERROR_WANT_X509_LOOKUP = 4;
 
SSL_ERROR_SYSCALL = 5;
 
SSL_ERROR_ZERO_RETURN = 6;
 
SSL_ERROR_WANT_CONNECT = 7;
 
SSL_ERROR_WANT_ACCEPT = 8;
 
SSL_ST_OK = 3;
 
SSL_VERIFY_NONE = 0;
 
SSL_OP_ALL = $000FFFFF;
 
SSL_OP_NO_SSLv2 = $01000000;
 
SSL_OP_NO_SSLv3 = $02000000;
 
SSL_OP_NO_COMPRESSION = $00020000;
 
BIO_CTRL_INFO = 3;
 
BIO_CTRL_PENDING = 10;
 
CRYPTO_LOCK = 1;
 
CRYPTO_UNLOCK = 2;
 
CRYPTO_READ = 4;
 
CRYPTO_WRITE = 8;
 
BIO_FLAGS_READ = 1;
 
BIO_FLAGS_WRITE = 2;
 
BIO_FLAGS_IO_SPECIAL = 4;
 
BIO_FLAGS_RWS = (BIO_FLAGS_READ or BIO_FLAGS_WRITE or BIO_FLAGS_IO_SPECIAL);
 
BIO_FLAGS_SHOULD_RETRY = 8;
 
BIO_NOCLOSE = 0;
 
BIO_CLOSE = 1;
 

Variables

SSL_library_init: function: Integer; cdecl = nil;
 
SSL_load_error_strings: procedure; cdecl = nil;
 
SSLv3_method: function: PSSL_METHOD; cdecl = nil;
 
SSLv23_method: function: PSSL_METHOD; cdecl = nil;
 
TLSv1_method: function: PSSL_METHOD; cdecl = nil;
 
TLSv1_1_method: function: PSSL_METHOD; cdecl = nil;
 
SSL_CTX_new: function(meth: PSSL_METHOD): PSSL_CTX; cdecl = nil;
 
SSL_CTX_free: procedure(ctx: PSSL_CTX); cdecl = nil;
 
SSL_CTX_set_verify: procedure(ctx: PSSL_CTX; mode: Integer; callback: TSetVerify_cb); cdecl = nil;
 
SSL_CTX_use_PrivateKey: function(ctx: PSSL_CTX; pkey: PEVP_PKEY): Integer; cdecl = nil;
 
SSL_CTX_use_RSAPrivateKey: function(ctx: PSSL_CTX; pkey: PEVP_PKEY): Integer; cdecl = nil;
 
SSL_CTX_use_certificate: function(ctx: PSSL_CTX; x: PX509): Integer; cdecl = nil;
 
SSL_CTX_check_private_key: function(ctx: PSSL_CTX): Integer; cdecl = nil;
 
SSL_CTX_use_certificate_file: function(ctx: PSSL_CTX; f: MarshaledAString; t: Integer): Integer; cdecl = nil;
 
SSL_CTX_use_RSAPrivateKey_file: function(ctx: PSSL_CTX; f: MarshaledAString; t: Integer): Integer; cdecl = nil;
 
SSL_CTX_get_cert_store: function(ctx: PSSL_CTX): PX509_STORE; cdecl = nil;
 
SSL_CTX_ctrl: function(ctx: PSSL_CTX; cmd, i: integer; p: pointer): Integer; cdecl = nil;
 
SSL_CTX_load_verify_locations: function(ctx: PSSL_CTX; CAFile: MarshaledAString; CAPath: MarshaledAString): Integer; cdecl = nil;
 
SSL_CTX_use_certificate_chain_file: function(ctx: PSSL_CTX; CAFile: MarshaledAString): Integer; cdecl = nil;
 
SSL_CTX_set_alpn_protos: function(ctx: PSSL_CTX; protos: MarshaledAString; protos_len: Integer): Integer; cdecl = nil;
 
SSL_new: function(ctx: PSSL_CTX): PSSL; cdecl = nil;
 
SSL_set_bio: procedure(s: PSSL; rbio, wbio: PBIO); cdecl = nil;
 
SSL_get_peer_certificate: function(s: PSSL): PX509; cdecl = nil;
 
SSL_get_error: function(s: PSSL; ret_code: Integer): Integer; cdecl = nil;
 
SSL_shutdown: function(s: PSSL): Integer; cdecl = nil;
 
SSL_free: procedure(s: PSSL); cdecl = nil;
 
SSL_connect: function(s: PSSL): Integer; cdecl = nil;
 
SSL_set_connect_state: procedure(s: PSSL); cdecl = nil;
 
SSL_set_accept_state: procedure(s: PSSL); cdecl = nil;
 
SSL_read: function(s: PSSL; buf: Pointer; num: Integer): Integer; cdecl = nil;
 
SSL_write: function(s: PSSL; const buf: Pointer; num: Integer): Integer; cdecl = nil;
 
SSL_state: function(s: PSSL): Integer; cdecl = nil;
 
SSL_pending: function(s: PSSL): Integer; cdecl = nil;
 
SSL_set_cipher_list: function(s: PSSL; ciphers: MarshaledAString): Integer; cdecl = nil;
 
SSL_get0_alpn_selected: procedure(s: PSSL; out data: MarshaledAString; out len: Integer); cdecl = nil;
 
SSL_clear: function(s: PSSL): Integer; cdecl = nil;
 
CRYPTO_num_locks: function: Integer; cdecl = nil;
 
CRYPTO_set_locking_callback: procedure(callback: TStatLockLockCallback); cdecl = nil;
 
CRYPTO_set_dynlock_create_callback: procedure(callback: TDynLockCreateCallBack); cdecl = nil;
 
CRYPTO_set_dynlock_lock_callback: procedure(callback: TDynLockLockCallBack); cdecl = nil;
 
CRYPTO_set_dynlock_destroy_callback: procedure(callback: TDynLockDestroyCallBack); cdecl = nil;
 
CRYPTO_cleanup_all_ex_data: procedure; cdecl = nil;
 
ERR_remove_state: procedure(tid: Cardinal); cdecl = nil;
 
ERR_free_strings: procedure; cdecl = nil;
 
ERR_error_string_n: procedure(err: Cardinal; buf: MarshaledAString; len: NativeUInt); cdecl = nil;

thread-unsafe, Application-global cleanup functions

ERR_get_error: function: Cardinal; cdecl = nil;
 
ERR_remove_thread_state: procedure(pid: Cardinal); cdecl = nil;
 
ERR_load_BIO_strings: function: Cardinal; cdecl = nil;
 
EVP_cleanup: procedure; cdecl = nil;
 
EVP_PKEY_free: procedure(pkey: PEVP_PKEY); cdecl = nil;
 
BIO_new: function(BioMethods: PBIO_METHOD): PBIO; cdecl = nil;
 
BIO_ctrl: function(bp: PBIO; cmd: Integer; larg: Longint; parg: Pointer): Longint; cdecl = nil;
 
BIO_new_mem_buf: function(buf: Pointer; len: Integer): PBIO; cdecl = nil;
 
BIO_free: function(b: PBIO): Integer; cdecl = nil;
 
BIO_s_mem: function: PBIO_METHOD; cdecl = nil;
 
BIO_read: function(b: PBIO; Buf: Pointer; Len: Integer): Integer; cdecl = nil;
 
BIO_write: function(b: PBIO; Buf: Pointer; Len: Integer): Integer; cdecl = nil;
 
BIO_new_socket: function(sock: Integer; close_flag: Integer): PBIO; cdecl = nil;
 
X509_get_issuer_name: function(cert: PX509): PX509_NAME; cdecl = nil;
 
X509_get_subject_name: function(cert: PX509): PX509_NAME; cdecl = nil;
 
X509_free: procedure(cert: PX509); cdecl = nil;
 
X509_NAME_print_ex: function(bout: PBIO; nm: PX509_NAME; indent: Integer; flags: Cardinal): Integer; cdecl = nil;
 
sk_num: function(stack: PSTACK): Integer; cdecl = nil;
 
sk_pop: function(stack: PSTACK): Pointer; cdecl = nil;
 
ASN1_BIT_STRING_get_bit: function(a: PASN1_BIT_STRING; n: Integer): Integer; cdecl = nil;
 
OBJ_obj2nid: function(o: PASN1_OBJECT): Integer; cdecl = nil;
 
OBJ_nid2sn: function(n: Integer): MarshaledAString; cdecl = nil;
 
ASN1_STRING_data: function(x: PASN1_STRING): Pointer; cdecl = nil;
 
PEM_read_bio_X509: function(bp: PBIO; x: PX509; cb: TPemPasswordCallback; u: Pointer): PX509; cdecl = nil;
 
PEM_read_bio_PrivateKey: function(bp: PBIO; x: PPEVP_PKEY; cb: TPemPasswordCallback; u: Pointer): PEVP_PKEY; cdecl = nil;
 
PEM_read_bio_RSAPrivateKey: function(bp: PBIO; x: PPEVP_PKEY; cb: TPemPasswordCallback; u: Pointer): PEVP_PKEY; cdecl = nil;
 
EVP_MD_CTX_create: function: PEVP_MD_CTX; cdecl = nil;
 
EVP_MD_CTX_destroy: procedure(ctx: PEVP_MD_CTX); cdecl = nil;
 
EVP_sha256: function: PEVP_MD; cdecl = nil;
 
EVP_sha1: function: PEVP_MD; cdecl = nil;
 
EVP_PKEY_size: function(key: PEVP_PKEY): Integer; cdecl = nil;
 
EVP_DigestSignInit: function(aCtx: PEVP_MD_CTX; aPCtx: PEVP_PKEY_CTX; aType: PEVP_MD; aEngine: PENGINE; aKey: PEVP_PKEY): Integer; cdecl = nil;
 
EVP_DigestUpdate: function(ctx: PEVP_MD_CTX; const d: Pointer; cnt: Cardinal): Integer; cdecl = nil;
 
EVP_DigestSignFinal: function(ctx : PEVP_MD_CTX; const d: PByte; var cnt: Cardinal): Integer; cdecl = nil;
 
EVP_DigestVerifyInit: function(aCtx: PEVP_MD_CTX; aPCtx: PEVP_PKEY_CTX; aType: PEVP_MD; aEngine: PENGINE; aKey: pEVP_PKEY): Integer; cdecl = nil;
 
EVP_DigestVerifyFinal: function(ctx : pEVP_MD_CTX; const d: PByte; cnt: Cardinal) : Integer; cdecl = nil;
 
CRYPTO_malloc: function(aLength : LongInt; const f : MarshaledAString; aLine : Integer): Pointer; cdecl = nil;
 
CRYPTO_free: procedure(str: Pointer); cdecl = nil;
 
HMAC: function(evp: PEVP_MD; key: PByte; key_len: Integer; data: PByte; data_len: Integer; md: PByte; var md_len: integer): PByte; cdecl = nil;
 

Generated by P2PasDoc 0.13.0 on 2017-04-25 12:54:26