std/openssl (original) (raw)
proc BIO_free(b: BIO): cint {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc BIO_new_ssl_connect(ctx: SslCtx): BIO {.cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
proc bioCtrlPending(b: BIO): cint {.cdecl, dynlib: DLLUtilName, importc: "BIO_ctrl_pending", ...raises: [], tags: [], forbids: [].}
proc bioFreeAll(b: BIO) {.cdecl, dynlib: DLLUtilName, importc: "BIO_free_all", ...raises: [], tags: [], forbids: [].}
proc bioNew(b: PBIO_METHOD): BIO {.cdecl, dynlib: DLLUtilName, importc: "BIO_new", ...raises: [], tags: [], forbids: [].}
proc bioRead(b: BIO; Buf: cstring; length: cint): cint {.cdecl, dynlib: DLLUtilName, importc: "BIO_read", ...raises: [], tags: [], forbids: [].}
proc bioSMem(): PBIO_METHOD {.cdecl, dynlib: DLLUtilName, importc: "BIO_s_mem", ...raises: [], tags: [], forbids: [].}
proc bioWrite(b: BIO; Buf: cstring; length: cint): cint {.cdecl, dynlib: DLLUtilName, importc: "BIO_write", ...raises: [], tags: [], forbids: [].}
proc CRYPTO_malloc_init() {....raises: [], tags: [], forbids: [].}
proc d2i_X509(b: string): PX509 {....raises: [Exception], tags: [], forbids: [].}
decode DER/BER bytestring into X.509 certificate structSource Edit
proc ERR_get_error(): culong {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc ERR_load_BIO_strings() {....raises: [Exception], tags: [RootEffect], forbids: [].}
proc ERR_peek_last_error(): culong {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc ERR_print_errors_fp(fp: File) {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc ErrClearError() {.cdecl, dynlib: DLLUtilName, importc: "ERR_clear_error", ...raises: [], tags: [], forbids: [].}
proc ErrFreeStrings() {.cdecl, dynlib: DLLUtilName, importc: "ERR_free_strings", ...raises: [], tags: [], forbids: [].}
proc ErrRemoveState(pid: cint) {.cdecl, dynlib: DLLUtilName, importc: "ERR_remove_state", ...raises: [], tags: [], forbids: [].}
proc EVP_dss(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_dss1(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_ecdsa(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_md2(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_md4(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_md5(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_MD_CTX_create(): EVP_MD_CTX {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_MD_CTX_destroy(ctx: EVP_MD_CTX) {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_md_null(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_MD_size(md: EVP_MD): cint {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_mdc2(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_PKEY_free(p: EVP_PKEY) {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_ripemd160(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_sha(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_sha1(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_sha224(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_sha256(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_sha384(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_sha512(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc EVP_whirlpool(): EVP_MD {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc getOpenSSLVersion(): culong {....raises: [Exception], tags: [RootEffect], forbids: [].}
Return OpenSSL version as unsigned long or 0 if not availableSource Edit
proc i2d_X509(cert: PX509): string {....raises: [Exception], tags: [], forbids: [].}
encode cert to DER stringSource Edit
proc i2d_X509(cert: PX509; o: ptr ptr uint8): cint {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc md5_Str(str: string): string {....raises: [], tags: [], forbids: [].}
Generate MD5 hash for a string. Result is a 32 character hex string with lowercase charactersSource Edit
proc OpenSSL_add_all_algorithms() {....raises: [LibraryError, Exception], tags: [RootEffect], forbids: [].}
proc OPENSSL_config(configName: cstring) {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc OPENSSL_sk_num(stack: PSTACK): int {.cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
proc RSA_free(rsa: PRSA) {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc RSA_size(rsa: PRSA): cint {.cdecl, dynlib: DLLUtilName, importc, ...raises: [], tags: [], forbids: [].}
proc SSL_accept(ssl: SslPtr): cint {.cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
proc SSL_connect(ssl: SslPtr): cint {.cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
proc SSL_CTX_check_private_key(ctx: SslCtx): cint {.cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
proc SSL_CTX_free(arg0: SslCtx) {.cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
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.
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: [].}
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_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: [].}
proc SSL_get_error(s: SslPtr; ret_code: cint): cint {.cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
proc SSL_get_psk_identity(ssl: SslPtr): cstring {.cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
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: [].}
proc SSL_get_verify_result(ssl: SslPtr): int {.cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
proc SSL_in_init(ssl: SslPtr): cint {....raises: [LibraryError, Exception], tags: [RootEffect], forbids: [].}
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_initSource Edit
proc SSL_load_error_strings() {....raises: [LibraryError, Exception], tags: [RootEffect], forbids: [].}
proc SSL_new(context: SslCtx): SslPtr {.cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
proc SSL_pending(ssl: SslPtr): cint {.cdecl, dynlib: DLLSSLName, importc, ...raises: [], tags: [], forbids: [].}
proc SSL_set_shutdown(ssl: SslPtr; mode: cint) {.cdecl, dynlib: DLLSSLName, importc: "SSL_set_shutdown", ...raises: [], tags: [], forbids: [].}
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: [].}
proc sslDoHandshake(ssl: SslPtr): cint {.cdecl, dynlib: DLLSSLName, importc: "SSL_do_handshake", ...raises: [], tags: [], forbids: [].}
proc sslSetAcceptState(s: SslPtr) {.cdecl, dynlib: DLLSSLName, importc: "SSL_set_accept_state", ...raises: [], tags: [], forbids: [].}
proc sslSetBio(ssl: SslPtr; rbio, wbio: BIO) {.cdecl, dynlib: DLLSSLName, importc: "SSL_set_bio", ...raises: [], tags: [], forbids: [].}
proc sslSetConnectState(s: SslPtr) {.cdecl, dynlib: DLLSSLName, importc: "SSL_set_connect_state", ...raises: [], tags: [], forbids: [].}