C_OpenSSL¶
Usage
use Crypto.C_OpenSSL;
or
import Crypto.C_OpenSSL;
Support for low-level native OpenSSL bindings in C. This submodule wraps the C_OpenSSL implementation, providing access to most of the C_OpenSSL calls.
Refer to the C_OpenSSL documentation of the reference version for the usage of this module.
- type EVP_PKEY_CTX¶
- type EVP_PKEY¶
- var EVP_PKEY_RSA: c_int¶
- type EVP_PKEY_CTX_PTR = c_ptr(EVP_PKEY_CTX)¶
- type EVP_PKEY_PTR = c_ptr(EVP_PKEY)¶
- type CONST_EVP_MD_PTR¶
- type CONST_EVP_CIPHER_PTR¶
- type EVP_MD¶
- type EVP_MD_CTX¶
- type CHPL_EVP_MD_CTX¶
- type ENGINE¶
- type EVP_MD_PTR = c_ptr(EVP_MD)¶
- type EVP_MD_CTX_PTR = c_ptr(EVP_MD_CTX)¶
- type ENGINE_PTR = c_ptr(ENGINE)¶
- type EVP_CIPHER¶
- type EVP_CIPHER_CTX¶
- type CHPL_EVP_CIPHER_CTX¶
- type EVP_CIPHER_PTR = c_ptr(EVP_CIPHER)¶
- type EVP_CIPHER_CTX_PTR = c_ptr(EVP_CIPHER_CTX)¶
- proc EVP_CIPHER_iv_length(e: CONST_EVP_CIPHER_PTR): c_int¶
- proc EVP_PKEY_size(pkey: EVP_PKEY_PTR): c_int¶
- proc EVP_PKEY_CTX_new_id(id: c_int, e: ENGINE_PTR): EVP_PKEY_CTX_PTR¶
- proc EVP_PKEY_keygen_init(ctx: EVP_PKEY_CTX_PTR): c_int¶
- proc EVP_PKEY_CTX_set_rsa_keygen_bits(ctx: EVP_PKEY_CTX_PTR, mbits: c_int): c_int¶
- proc EVP_PKEY_keygen(ctx: EVP_PKEY_CTX_PTR, ref ppkey: EVP_PKEY_PTR): c_int¶
- proc EVP_PKEY_CTX_free(ctx: EVP_PKEY_CTX_PTR)¶
- proc EVP_SealInit(ref ctx: EVP_CIPHER_CTX, types: CONST_EVP_CIPHER_PTR, ek: c_ptr(c_ptr(c_uchar)), ekl: c_ptr(c_int), iv: c_ptr(c_uchar), pubk: c_ptr(EVP_PKEY_PTR), npubk: c_int): c_int¶
- proc EVP_SealUpdate(ref ctx: EVP_CIPHER_CTX, outm: c_ptr(c_uchar), outl: c_ptr(c_int), inp: c_ptr(c_uchar), inl: c_int): c_int¶
- proc EVP_SealFinal(ref ctx: EVP_CIPHER_CTX, outm: c_ptr(c_uchar), outl: c_ptr(c_int)): c_int¶
- proc EVP_OpenInit(ref ctx: EVP_CIPHER_CTX, types: CONST_EVP_CIPHER_PTR, ek: c_ptr(c_uchar), ekl: c_int, iv: c_ptr(c_uchar), priv: EVP_PKEY_PTR): c_int¶
- proc EVP_OpenUpdate(ref ctx: EVP_CIPHER_CTX, outm: c_ptr(c_uchar), outl: c_ptr(c_int), inp: c_ptr(c_uchar), inl: c_int): c_int¶
- proc EVP_OpenFinal(ref ctx: EVP_CIPHER_CTX, outm: c_ptr(c_uchar), outl: c_ptr(c_int)): c_int¶
- proc CHPL_OpenSSL_add_all_digests()¶
- proc EVP_get_digestbyname(name: c_ptrConst(c_char)): CONST_EVP_MD_PTR¶
- proc CHPL_EVP_MD_CTX_new(): CHPL_EVP_MD_CTX¶
- proc CHPL_EVP_MD_CTX_free(ref c: CHPL_EVP_MD_CTX)¶
- proc CHPL_EVP_MD_CTX_ptr(ref c: CHPL_EVP_MD_CTX): EVP_MD_CTX_PTR¶
- proc EVP_DigestInit_ex(ctx: EVP_MD_CTX_PTR, types: CONST_EVP_MD_PTR, impl: ENGINE_PTR): c_int¶
- proc EVP_DigestUpdate(ctx: EVP_MD_CTX_PTR, const d: c_ptr(void), cnt: c_size_t): c_int¶
- proc EVP_DigestFinal_ex(ctx: EVP_MD_CTX_PTR, md: c_ptr(c_uchar), ref s: c_uint): c_int¶
- proc RAND_bytes(buf: c_ptr(c_uchar), num: c_int): c_int¶
- proc EVP_sha256(): CONST_EVP_MD_PTR¶
- proc PKCS5_PBKDF2_HMAC(pass: c_ptrConst(c_char), passlen: c_int, const salt: c_ptr(c_uchar), saltlen: c_int, iterCount: c_int, digest: CONST_EVP_MD_PTR, keylen: c_int, outx: c_ptr(c_uchar)): c_int¶
- proc CHPL_EVP_CIPHER_CTX_new(): CHPL_EVP_CIPHER_CTX¶
- proc CHPL_EVP_CIPHER_CTX_free(ref c: CHPL_EVP_CIPHER_CTX)¶
- proc CHPL_EVP_CIPHER_CTX_ptr(ref c: CHPL_EVP_CIPHER_CTX): EVP_CIPHER_CTX_PTR¶
- proc EVP_EncryptInit_ex(ctx: EVP_CIPHER_CTX_PTR, cipher: CONST_EVP_CIPHER_PTR, impl: ENGINE_PTR, const key: c_ptr(c_uchar), const iv: c_ptr(c_uchar)): c_int¶
- proc EVP_EncryptUpdate(ctx: EVP_CIPHER_CTX_PTR, outm: c_ptr(c_uchar), outl: c_ptr(c_int), const ins: c_ptr(c_uchar), inl: c_int): c_int¶
- proc EVP_EncryptFinal_ex(ctx: EVP_CIPHER_CTX_PTR, outm: c_ptr(c_uchar), outl: c_ptr(c_int)): c_int¶
- proc EVP_DecryptInit_ex(ctx: EVP_CIPHER_CTX_PTR, cipher: CONST_EVP_CIPHER_PTR, impl: ENGINE_PTR, const key: c_ptr(c_uchar), const iv: c_ptr(c_uchar)): c_int¶
- proc EVP_DecryptUpdate(ctx: EVP_CIPHER_CTX_PTR, outm: c_ptr(c_uchar), outl: c_ptr(c_int), const ins: c_ptr(c_uchar), inl: c_int): c_int¶
- proc EVP_DecryptFinal_ex(ctx: EVP_CIPHER_CTX_PTR, outm: c_ptr(c_uchar), outl: c_ptr(c_int)): c_int¶
- proc EVP_aes_128_cbc(): CONST_EVP_CIPHER_PTR¶
- proc EVP_aes_128_ecb(): CONST_EVP_CIPHER_PTR¶
- proc EVP_aes_128_cfb(): CONST_EVP_CIPHER_PTR¶
- proc EVP_aes_128_ofb(): CONST_EVP_CIPHER_PTR¶
- proc EVP_aes_192_cbc(): CONST_EVP_CIPHER_PTR¶
- proc EVP_aes_192_ecb(): CONST_EVP_CIPHER_PTR¶
- proc EVP_aes_192_cfb(): CONST_EVP_CIPHER_PTR¶
- proc EVP_aes_192_ofb(): CONST_EVP_CIPHER_PTR¶
- proc EVP_aes_256_cbc(): CONST_EVP_CIPHER_PTR¶
- proc EVP_aes_256_ecb(): CONST_EVP_CIPHER_PTR¶
- proc EVP_aes_256_cfb(): CONST_EVP_CIPHER_PTR¶
- proc EVP_aes_256_ofb(): CONST_EVP_CIPHER_PTR¶
- proc EVP_bf_cbc(): CONST_EVP_CIPHER_PTR¶
- proc EVP_bf_ecb(): CONST_EVP_CIPHER_PTR¶
- proc EVP_bf_cfb(): CONST_EVP_CIPHER_PTR¶
- proc EVP_bf_ofb(): CONST_EVP_CIPHER_PTR¶
- proc RAND_seed(const buf: c_ptr(void), num: c_int)¶