net.mbedtls #
Constants #
const (
is_used = 1
)
fn init() { $if ssl_pre_1_1_version ? { // OPENSSL_VERSION_NUMBER < 0x10100000L C.SSL_load_error_strings() C.SSL_library_init() } $else { C.OPENSSL_init_ssl(C.OPENSSL_INIT_LOAD_SSL_STRINGS, 0) } }
fn new_ssl_conn #
fn new_ssl_conn(config SSLConnectConfig) !&SSLConn
new_ssl_conn returns a new SSLConn with the given config.
struct SSLConn #
struct SSLConn {
config SSLConnectConfig
mut:
server_fd C.mbedtls_net_context
ssl C.mbedtls_ssl_context
conf C.mbedtls_ssl_config
certs &SSLCerts = unsafe { nil }
handle int
duration time.Duration
opened bool
owns_socket bool
}
SSLConn is the current connection
fn (SSLConn) shutdown #
fn (mut s SSLConn) shutdown() !
shutdown terminates the ssl connection and does cleanup
fn (SSLConn) connect #
fn (mut s SSLConn) connect(mut tcp_conn net.TcpConn, hostname string) !
connect sets up an ssl connection on an existing TCP connection
fn (SSLConn) dial #
fn (mut s SSLConn) dial(hostname string, port int) !
dial opens an ssl connection on hostname:port
fn (SSLConn) socket_read_into_ptr #
fn (mut s SSLConn) socket_read_into_ptr(buf_ptr &u8, len int) !int
socket_read_into_ptr reads len bytes into buf
fn (SSLConn) read #
fn (mut s SSLConn) read(mut buffer []u8) !int
read reads data from the ssl connection into buffer
fn (SSLConn) write_ptr #
fn (mut s SSLConn) write_ptr(bytes &u8, len int) !int
write_ptr writes len bytes from bytes to the ssl connection
fn (SSLConn) write #
fn (mut s SSLConn) write(bytes []u8) !int
write writes data from bytes to the ssl connection
fn (SSLConn) write_string #
fn (mut s SSLConn) write_string(str string) !int
write_string writes a string to the ssl connection
struct SSLConnectConfig #
struct SSLConnectConfig {
verify string // the path to a rootca.pem file, containing trusted CA certificate(s)
cert string // the path to a cert.pem file, containing client certificate(s) for the request
cert_key string // the path to a key.pem file, containing private keys for the client certificate(s)
validate bool // set this to true, if you want to stop requests, when their certificates are found to be invalid
in_memory_verification bool // if true, verify, cert, and cert_key are read from memory, not from a file
}