libwebsockets
Lightweight C library for HTML5 websockets
|
#include <lws-secure-streams-policy.h>
Data Fields | |
struct lws_ss_x509 * | next |
const char * | vhost_name |
const uint8_t * | ca_der |
size_t | ca_der_len |
uint8_t | keep:1 |
lws_ss_plugin_auth_t - api for an auth plugin
Auth plugins create and sequence authenticated connections that can carry one or more streams to an endpoint. That may involve other connections to other places to eg, gather authenticated tokens and then make the real connection using the tokens.
The secure stream object contains members to record which auth plugin the stream is bound to and an over-allocation of the secure stream object to contain the plugin auth private data.
The auth plugin controls the state of the stream connection via the status callback, and handles retries.
Network connections may require one kind of auth sequencing, and streams inside those connections another kind of auth sequencing depending on their role. So the secure stream object allows defining plugins for both kinds.
Streams may disappear at any time and require reauth to bring a new one up. The auth plugin sequencer will connect / reconnect either on demand, or from the start and after any connectivity loss if any stream using the connection has the LWSSSPOLF_NAILED_UP flag.
const uint8_t* lws_ss_x509::ca_der |
DER x.509 cert
size_t lws_ss_x509::ca_der_len |
length of DER cert
uint8_t lws_ss_x509::keep |
ie, if used in server tls
const char* lws_ss_x509::vhost_name |
vhost name using cert ctx