enum TlsVersion
Source: tls.joule:9
enum TlsVersionSource: tls.joule:9
struct TlsConfigTLS configuration
Source: tls.joule:17
fn default() -> SelfSource: tls.joule:29
struct CertificateTLS certificate
Source: tls.joule:44
fn from_der(der: Vec<u8>) -> SelfLoad from DER bytes
Source: tls.joule:50
fn from_pem(pem: &str) -> Result<Self, TlsError>Load from PEM string
Source: tls.joule:55
fn from_file(path: &str) -> Result<Self, TlsError>Load from file
Source: tls.joule:62
fn der(&self) -> &[u8]Source: tls.joule:71
struct PrivateKeyPrivate key
Source: tls.joule:77
fn from_der(der: Vec<u8>) -> SelfLoad from DER bytes
Source: tls.joule:83
fn from_pem(pem: &str) -> Result<Self, TlsError>Load from PEM string
Source: tls.joule:88
fn from_file(path: &str) -> Result<Self, TlsError>Load from file
Source: tls.joule:96
struct TlsConnectorTLS connector for client connections
Source: tls.joule:107
fn new() -> Result<Self, TlsError>Create new TLS connector
Source: tls.joule:117
fn with_config(config: TlsConfig) -> Result<Self, TlsError>Create with config
Source: tls.joule:122
fn SSL_CTX_new(method: *const std::ffi::c_void) -> *mut std::ffi::c_void;Source: tls.joule:136
fn TLS_client_method() -> *const std::ffi::c_void;Source: tls.joule:137
fn connect(&self, hostname: &str, stream: TcpStream) -> Result<TlsStream, TlsError>Source: tls.joule:162
struct TlsAcceptorTLS acceptor for server connections
Source: tls.joule:168
fn new(cert: Certificate, key: PrivateKey) -> Result<Self, TlsError>Create new TLS acceptor
Source: tls.joule:176
fn with_config(Create with config
Source: tls.joule:181
fn accept(&self, stream: TcpStream) -> Result<TlsStream, TlsError>Source: tls.joule:191
struct TlsStreamTLS stream wrapping a TCP stream
Source: tls.joule:197
fn connect(hostname: &str, stream: TcpStream) -> Result<Self, TlsError>Source: tls.joule:206
fn connect_with_connector(Source: tls.joule:211
fn SSL_new(ctx: *mut std::ffi::c_void) -> *mut std::ffi::c_void;Source: tls.joule:219
fn SSL_set_fd(ssl: *mut std::ffi::c_void, fd: i32) -> i32;Source: tls.joule:220
fn SSL_set_tlsext_host_name(ssl: *mut std::ffi::c_void, name: *const i8) -> i32;Source: tls.joule:221
fn SSL_connect(ssl: *mut std::ffi::c_void) -> i32;Source: tls.joule:222
fn SSLCreateContext(Source: tls.joule:253
fn SSLSetIOFuncs(Source: tls.joule:259
fn SSLSetPeerDomainName(Source: tls.joule:265
fn SSLHandshake(context: *mut std::ffi::c_void) -> i32;Source: tls.joule:271
fn accept_with_acceptor(Source: tls.joule:307
fn SSL_CTX_new(method: *const std::ffi::c_void) -> *mut std::ffi::c_void;Source: tls.joule:315
fn TLS_server_method() -> *const std::ffi::c_void;Source: tls.joule:316
fn SSL_CTX_use_certificate_ASN1(Source: tls.joule:317
fn SSL_CTX_use_PrivateKey_ASN1(Source: tls.joule:322
fn SSL_new(ctx: *mut std::ffi::c_void) -> *mut std::ffi::c_void;Source: tls.joule:328
fn SSL_set_fd(ssl: *mut std::ffi::c_void, fd: i32) -> i32;Source: tls.joule:329
fn SSL_accept(ssl: *mut std::ffi::c_void) -> i32;Source: tls.joule:330
fn negotiated_protocol(&self) -> Option<&str>Get negotiated ALPN protocol
Source: tls.joule:380
fn peer_certificate(&self) -> Option<Certificate>Get peer certificate
Source: tls.joule:385
fn SSL_get_peer_certificate(ssl: *mut std::ffi::c_void) -> *mut std::ffi::c_void;Source: tls.joule:389
fn i2d_X509(cert: *mut std::ffi::c_void, out: *mut *mut u8) -> i32;Source: tls.joule:390
fn X509_free(cert: *mut std::ffi::c_void);Source: tls.joule:391
fn get_ref(&self) -> &TcpStreamGet underlying TCP stream
Source: tls.joule:420
fn read(&mut self, buf: &mut [u8]) -> Result<usize, std::io::Error>Source: tls.joule:427
fn SSL_read(ssl: *mut std::ffi::c_void, buf: *mut u8, num: i32) -> i32;Source: tls.joule:431
fn write(&mut self, buf: &[u8]) -> Result<usize, std::io::Error>Source: tls.joule:452
fn SSL_write(ssl: *mut std::ffi::c_void, buf: *const u8, num: i32) -> i32;Source: tls.joule:456
fn flush(&mut self) -> Result<(), std::io::Error>Source: tls.joule:473
fn drop(&mut self)Source: tls.joule:479
fn SSL_shutdown(ssl: *mut std::ffi::c_void) -> i32;Source: tls.joule:483
fn SSL_free(ssl: *mut std::ffi::c_void);Source: tls.joule:484
enum TlsErrorSource: tls.joule:499
fn from(e: std::io::Error) -> SelfSource: tls.joule:509
fn decode_pem(pem: &str, expected_label: &str) -> Result<Vec<u8>, TlsError>Decode PEM to DER
Source: tls.joule:515