Source
Edit
OpenSSL wrapper. Supports OpenSSL >= 1.1.0 dynamically (as default) or statically linked using --dynlibOverride:ssl.
-d:sslVersion=1.2.3 can be used to force an SSL version. This version must be included in the library name. -d:useOpenssl3 may be set for OpenSSL 3 instead.
There is also limited support for OpenSSL 1.0.x which may require -d:openssl10.
Build and test examples:
./bin/nim c -d:ssl -p:. -r tests/stdlib/tssl.nim
./bin/nim c -d:ssl --threads:on -p:. -r tests/stdlib/thttpclient_ssl.nim
./bin/nim c -d:ssl -p:. -r tests/untestable/tssl.nim
./bin/nim c -d:ssl -p:. --dynlibOverride:ssl --passl:-lcrypto --passl:-lssl -r tests/untestable/tssl.nim
./bin/nim r --putenv:NIM_TESTAMENT_REMOTE_NETWORKING:1 -d:ssl -p:testament/lib --threads:on tests/untestable/thttpclient_ssl_remotenetwork.nim
PaddingType = enum
RSA_PKCS1_PADDING = 1, RSA_SSLV23_PADDING = 2, RSA_NO_PADDING = 3,
RSA_PKCS1_OAEP_PADDING = 4, RSA_X931_PADDING = 5, RSA_PKCS1_PSS_PADDING = 6
-
Source
Edit
DLLSSLName = "(libssl-1_1-x64|ssleay64|libssl64).dll"
-
Source
Edit
DLLUtilName = "(libcrypto-1_1-x64|libeay64).dll"
-
Source
Edit
SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS = 11
-
Source
Edit
SSL_CTRL_GET_TOTAL_RENEGOTIATIONS = 12
-
Source
Edit
SSL_CTRL_SESS_CONNECT_RENEGOTIATE = 23
-
Source
Edit
SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER = 2
-
Source
Edit
X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH = 31
-
Source
Edit
X509_V_ERR_APPLICATION_VERIFICATION = 50
-
Source
Edit
X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT = 18
-
Source
Edit
X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD = 14
-
Source
Edit
X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD = 13
-
Source
Edit
X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD = 15
-
Source
Edit
X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD = 16
-
Source
Edit
X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN = 19
-
Source
Edit
X509_V_ERR_SUBJECT_ISSUER_MISMATCH = 29
-
Source
Edit
X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY = 6
-
Source
Edit
X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE = 4
-
Source
Edit
X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE = 5
-
Source
Edit
X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER = 33
-
Source
Edit
X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT = 2
-
Source
Edit
X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY = 20
-
Source
Edit
X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE = 21
-
Source
Edit
X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION = 34
-
Source
Edit
proc BIO_ctrl(bio: BIO; cmd: cint; larg: int; arg: cstring): int {.cdecl,
dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc BIO_do_connect(bio: BIO): int {....raises: [], tags: [], forbids: [].}
-
Source
Edit
proc BIO_do_handshake(bio: BIO): int {....raises: [], tags: [], forbids: [].}
-
Source
Edit
proc BIO_free(b: BIO): cint {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc BIO_new_mem_buf(data: pointer; len: cint): BIO {.cdecl,
dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc BIO_new_ssl_connect(ctx: SslCtx): BIO {.cdecl, dynlib: DLLSSLName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc BIO_read(b: BIO; data: cstring; length: cint): cint {.cdecl,
dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc BIO_write(b: BIO; data: cstring; length: cint): cint {.cdecl,
dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc bioCtrlPending(b: BIO): cint {.cdecl, dynlib: DLLUtilName,
importc: "BIO_ctrl_pending", ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc bioFreeAll(b: BIO) {.cdecl, dynlib: DLLUtilName, importc: "BIO_free_all",
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc bioNew(b: PBIO_METHOD): BIO {.cdecl, dynlib: DLLUtilName,
importc: "BIO_new", ...raises: [], tags: [],
forbids: [].}
-
Source
Edit
proc bioRead(b: BIO; Buf: cstring; length: cint): cint {.cdecl,
dynlib: DLLUtilName, importc: "BIO_read", ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc bioSMem(): PBIO_METHOD {.cdecl, dynlib: DLLUtilName, importc: "BIO_s_mem",
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc bioWrite(b: BIO; Buf: cstring; length: cint): cint {.cdecl,
dynlib: DLLUtilName, importc: "BIO_write", ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc CRYPTO_malloc_init() {....raises: [], tags: [], forbids: [].}
-
Source
Edit
proc d2i_X509(b: string): PX509 {....raises: [Exception], tags: [], forbids: [].}
-
decode DER/BER bytestring into X.509 certificate struct
Source
Edit
proc d2i_X509(px: ptr PX509; i: ptr ptr uint8; len: cint): PX509 {.cdecl,
dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc ERR_get_error(): culong {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc ERR_load_BIO_strings() {....raises: [Exception], tags: [RootEffect],
forbids: [].}
-
Source
Edit
proc ERR_peek_last_error(): culong {.cdecl, dynlib: DLLUtilName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc ERR_print_errors_fp(fp: File) {.cdecl, dynlib: DLLUtilName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc ErrClearError() {.cdecl, dynlib: DLLUtilName, importc: "ERR_clear_error",
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc ErrFreeStrings() {.cdecl, dynlib: DLLUtilName, importc: "ERR_free_strings",
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc ErrRemoveState(pid: cint) {.cdecl, dynlib: DLLUtilName,
importc: "ERR_remove_state", ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_dss(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_dss1(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_ecdsa(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_md2(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_md4(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_md5(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_MD_CTX_cleanup(ctx: EVP_MD_CTX): cint {.cdecl,
importc: "EVP_MD_CTX_cleanup", dynlib: DLLUtilName, ...raises: [], tags: [],
forbids: [].}
-
Source
Edit
proc EVP_MD_CTX_create(): EVP_MD_CTX {.cdecl, importc: "EVP_MD_CTX_new",
dynlib: DLLUtilName, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_MD_CTX_destroy(ctx: EVP_MD_CTX) {.cdecl, importc: "EVP_MD_CTX_free",
dynlib: DLLUtilName, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc EVP_md_null(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_MD_size(md: EVP_MD): cint {.cdecl, dynlib: DLLUtilName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc EVP_mdc2(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_PKEY_CTX_free(pkeyCtx: EVP_PKEY_CTX) {.cdecl, dynlib: DLLUtilName,
importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc EVP_PKEY_free(p: EVP_PKEY) {.cdecl, dynlib: DLLUtilName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc EVP_PKEY_sign_init(c: EVP_PKEY_CTX): cint {.cdecl, dynlib: DLLUtilName,
importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc EVP_ripemd160(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_sha(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_sha1(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_sha224(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_sha256(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_sha384(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_sha512(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc EVP_whirlpool(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc getOpenSSLVersion(): culong {....raises: [Exception], tags: [RootEffect],
forbids: [].}
-
Return OpenSSL version as unsigned long or 0 if not available
Source
Edit
proc i2d_X509(cert: PX509): string {....raises: [Exception], tags: [], forbids: [].}
-
encode cert to DER string
Source
Edit
proc i2d_X509(cert: PX509; o: ptr ptr uint8): cint {.cdecl, dynlib: DLLUtilName,
importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc md5_File(file: string): string {....raises: [IOError, Exception],
tags: [ReadIOEffect], forbids: [].}
-
Generate MD5 hash for a file. Result is a 32 character
Source
Edit
proc md5_Init(c: var MD5_CTX): cint {.importc: "MD5_Init", ...raises: [], tags: [],
forbids: [].}
-
Source
Edit
proc md5_Str(str: string): string {....raises: [], tags: [], forbids: [].}
-
Generate MD5 hash for a string. Result is a 32 character hex string with lowercase characters
Source
Edit
proc OpenSSL_add_all_algorithms() {....raises: [LibraryError, Exception],
tags: [RootEffect], forbids: [].}
-
Source
Edit
proc OPENSSL_config(configName: cstring) {.cdecl, dynlib: DLLUtilName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc OPENSSL_sk_num(stack: PSTACK): int {.cdecl, dynlib: DLLSSLName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc OPENSSL_sk_value(stack: PSTACK; index: int): pointer {.cdecl,
dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc RSA_free(rsa: PRSA) {.cdecl, dynlib: DLLUtilName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc RSA_size(rsa: PRSA): cint {.cdecl, dynlib: DLLUtilName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_accept(ssl: SslPtr): cint {.cdecl, dynlib: DLLSSLName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_connect(ssl: SslPtr): cint {.cdecl, dynlib: DLLSSLName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_check_private_key(ctx: SslCtx): cint {.cdecl, dynlib: DLLSSLName,
importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_free(arg0: SslCtx) {.cdecl, dynlib: DLLSSLName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_get_ex_data(ssl: SslCtx; idx: cint): pointer {.cdecl,
dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_load_verify_locations(ctx: SslCtx; CAfile: cstring; CApath: cstring): cint {.
cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_set_alpn_protos(ctx: SslCtx; protos: cstring; protos_len: cuint): cint {.
cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_set_cipher_list(s: SslCtx; ciphers: cstring): cint {.cdecl,
dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_set_ciphersuites(ctx: SslCtx; str: cstring): cint {.
...raises: [LibraryError, Exception], tags: [RootEffect], forbids: [].}
-
Source
Edit
proc SSL_CTX_set_ecdh_auto(ctx: SslCtx; onoff: cint): cint {.inline,
...raises: [Exception], tags: [RootEffect], forbids: [].}
-
Set automatic curve selection.
On OpenSSL >= 1.1.0 this is on by default and cannot be disabled.
Source
Edit
proc SSL_CTX_set_ex_data(ssl: SslCtx; idx: cint; arg: pointer): cint {.cdecl,
dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_set_psk_client_callback(ctx: SslCtx; callback: PskClientCallback) {.
cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Set callback called when OpenSSL needs PSK (for client).
Source
Edit
proc SSL_CTX_set_psk_server_callback(ctx: SslCtx; callback: PskServerCallback) {.
cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Set callback called when OpenSSL needs PSK (for server).
Source
Edit
proc SSL_CTX_set_session_id_context(context: SslCtx; sid_ctx: string;
sid_ctx_len: int) {.cdecl,
dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_set_tlsext_servername_arg(ctx: SslCtx; arg: pointer): int {.
...raises: [], tags: [], forbids: [].}
-
Set the pointer to be used in the callback registered to SSL_CTX_set_tlsext_servername_callback.
Source
Edit
proc SSL_CTX_set_tlsext_servername_callback(ctx: SslCtx;
cb: proc (ssl: SslPtr; cb_id: int; arg: pointer): int {.cdecl.}): int {.
...raises: [], tags: [], forbids: [].}
-
Set the callback to be used on listening SSL connections when the client hello is received.
The callback should return one of:
- SSL_TLSEXT_ERR_OK
- SSL_TLSEXT_ERR_ALERT_WARNING
- SSL_TLSEXT_ERR_ALERT_FATAL
- SSL_TLSEXT_ERR_NOACK
Source
Edit
proc SSL_CTX_set_verify(s: SslCtx; mode: int;
cb: proc (a: int; b: pointer): int {.cdecl.}) {.cdecl,
dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_use_certificate_chain_file(ctx: SslCtx; filename: cstring): cint {.
stdcall, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_use_certificate_file(ctx: SslCtx; filename: cstring; typ: cint): cint {.
stdcall, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_use_PrivateKey_file(ctx: SslCtx; filename: cstring; typ: cint): cint {.
cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_CTX_use_psk_identity_hint(ctx: SslCtx; hint: cstring): cint {.cdecl,
dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Set PSK identity hint to use.
Source
Edit
proc SSL_free(ssl: SslPtr) {.cdecl, dynlib: DLLSSLName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc SSL_get0_alpn_selected(ssl: SslPtr; data: ptr cstring; len: ptr cuint) {.
cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_get0_next_proto_negotiated(s: SslPtr; data: ptr cstring; len: ptr cuint) {.
cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_get0_verified_chain(ssl: SslPtr): PSTACK {.cdecl, dynlib: DLLSSLName,
importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_get_error(s: SslPtr; ret_code: cint): cint {.cdecl, dynlib: DLLSSLName,
importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_get_peer_certificate(ssl: SslCtx): PX509 {....raises: [LibraryError],
tags: [RootEffect], forbids: [].}
-
Source
Edit
proc SSL_get_psk_identity(ssl: SslPtr): cstring {.cdecl, dynlib: DLLSSLName,
importc, ...raises: [], tags: [], forbids: [].}
-
Get PSK identity.
Source
Edit
proc SSL_get_servername(ssl: SslPtr; typ: cint = TLSEXT_NAMETYPE_host_name): cstring {.
cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Retrieve the server name requested in the client hello. This can be used in the callback set in SSL_CTX_set_tlsext_servername_callback to implement virtual hosting. May return nil.
Source
Edit
proc SSL_get_shutdown(ssl: SslPtr): cint {.cdecl, dynlib: DLLSSLName,
importc: "SSL_get_shutdown", ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_get_SSL_CTX(ssl: SslPtr): SslCtx {.cdecl, dynlib: DLLSSLName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_get_verify_result(ssl: SslPtr): int {.cdecl, dynlib: DLLSSLName,
importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_in_init(ssl: SslPtr): cint {....raises: [LibraryError, Exception],
tags: [RootEffect], forbids: [].}
-
Source
Edit
proc SSL_library_init(): cint {.discardable, ...raises: [LibraryError, Exception],
tags: [RootEffect], forbids: [].}
-
Initialize SSL using OPENSSL_init_ssl for OpenSSL >= 1.1.0 otherwise SSL_library_init
Source
Edit
proc SSL_load_error_strings() {....raises: [LibraryError, Exception],
tags: [RootEffect], forbids: [].}
-
Source
Edit
proc SSL_new(context: SslCtx): SslPtr {.cdecl, dynlib: DLLSSLName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_pending(ssl: SslPtr): cint {.cdecl, dynlib: DLLSSLName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_set_alpn_protos(ssl: SslPtr; protos: cstring; protos_len: cuint): cint {.
cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_set_shutdown(ssl: SslPtr; mode: cint) {.cdecl, dynlib: DLLSSLName,
importc: "SSL_set_shutdown", ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_set_SSL_CTX(ssl: SslPtr; ctx: SslCtx): SslCtx {.cdecl,
dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSL_set_tlsext_host_name(ssl: SslPtr; name: cstring): int {....raises: [],
tags: [], forbids: [].}
-
Set the SNI server name extension to be used in a client hello. Returns 1 if SNI was set, 0 if current SSL configuration doesn't support SNI.
Source
Edit
proc SSL_shutdown(ssl: SslPtr): cint {.cdecl, dynlib: DLLSSLName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc sslDoHandshake(ssl: SslPtr): cint {.cdecl, dynlib: DLLSSLName,
importc: "SSL_do_handshake", ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc sslPeek(ssl: SslPtr; buf: cstring; num: cint): cint {.cdecl,
dynlib: DLLSSLName, importc: "SSL_peek", ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc sslRead(ssl: SslPtr; buf: cstring; num: cint): cint {.cdecl,
dynlib: DLLSSLName, importc: "SSL_read", ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc sslSetAcceptState(s: SslPtr) {.cdecl, dynlib: DLLSSLName,
importc: "SSL_set_accept_state", ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc sslSetBio(ssl: SslPtr; rbio, wbio: BIO) {.cdecl, dynlib: DLLSSLName,
importc: "SSL_set_bio", ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc sslSetConnectState(s: SslPtr) {.cdecl, dynlib: DLLSSLName,
importc: "SSL_set_connect_state",
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc SSLv2_method(): PSSL_METHOD {....raises: [LibraryError], tags: [RootEffect],
forbids: [].}
-
Source
Edit
proc SSLv3_method(): PSSL_METHOD {....raises: [LibraryError], tags: [RootEffect],
forbids: [].}
-
Source
Edit
proc SSLv23_client_method(): PSSL_METHOD {....raises: [LibraryError],
tags: [RootEffect], forbids: [].}
-
Source
Edit
proc SSLv23_method(): PSSL_METHOD {....raises: [LibraryError], tags: [RootEffect],
forbids: [].}
-
Source
Edit
proc sslWrite(ssl: SslPtr; buf: cstring; num: cint): cint {.cdecl,
dynlib: DLLSSLName, importc: "SSL_write", ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc TLS_client_method(): PSSL_METHOD {....raises: [LibraryError],
tags: [RootEffect], forbids: [].}
-
Source
Edit
proc TLS_method(): PSSL_METHOD {....raises: [LibraryError], tags: [RootEffect],
forbids: [].}
-
Source
Edit
proc TLS_server_method(): PSSL_METHOD {....raises: [LibraryError],
tags: [RootEffect], forbids: [].}
-
Source
Edit
proc TLSv1_method(): PSSL_METHOD {.cdecl, dynlib: DLLSSLName, importc,
...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc X509_free(cert: PX509) {.cdecl, dynlib: DLLSSLName, importc, ...raises: [],
tags: [], forbids: [].}
-
Source
Edit
proc X509_get_issuer_name(a: PX509): PX509_NAME {.cdecl, dynlib: DLLUtilName,
importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc X509_get_subject_name(a: PX509): PX509_NAME {.cdecl, dynlib: DLLSSLName,
importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit
proc X509_NAME_get_text_by_NID(subject: cstring; NID: cint; buf: cstring;
size: cint): cint {.cdecl, dynlib: DLLSSLName,
importc, ...raises: [], tags: [], forbids: [].}
-
Source
Edit