25 enum lws_tls_cert_info {
26 LWS_TLS_CERT_INFO_VALIDITY_FROM,
28 LWS_TLS_CERT_INFO_VALIDITY_TO,
30 LWS_TLS_CERT_INFO_COMMON_NAME,
32 LWS_TLS_CERT_INFO_ISSUER_NAME,
34 LWS_TLS_CERT_INFO_USAGE,
36 LWS_TLS_CERT_INFO_VERIFIED,
39 LWS_TLS_CERT_INFO_OPAQUE_PUBLIC_KEY,
45 LWS_TLS_CERT_INFO_DER_RAW,
53 unsigned int verified;
84 LWS_VISIBLE LWS_EXTERN
int
85 lws_x509_create(
struct lws_x509_cert **x509);
103 LWS_VISIBLE LWS_EXTERN
int
104 lws_x509_parse_from_pem(
struct lws_x509_cert *x509,
const void *pem,
size_t len);
118 LWS_VISIBLE LWS_EXTERN
int
119 lws_x509_verify(
struct lws_x509_cert *x509,
struct lws_x509_cert *trusted,
120 const char *common_name);
135 LWS_VISIBLE LWS_EXTERN
int
136 lws_x509_public_to_jwk(
struct lws_jwk *jwk,
struct lws_x509_cert *x509,
137 const char *curves,
int rsabits);
157 LWS_VISIBLE LWS_EXTERN
int
158 lws_x509_jwk_privkey_pem(
struct lws_jwk *jwk,
void *pem,
size_t len,
159 const char *passphrase);
168 LWS_VISIBLE LWS_EXTERN
void
169 lws_x509_destroy(
struct lws_x509_cert **x509);
171 LWS_VISIBLE LWS_EXTERN
int
172 lws_x509_info(
struct lws_x509_cert *x509,
enum lws_tls_cert_info type,
192 LWS_VISIBLE LWS_EXTERN
int
193 lws_tls_peer_cert_info(
struct lws *wsi,
enum lws_tls_cert_info type,
213 LWS_VISIBLE LWS_EXTERN
int
214 lws_tls_vhost_cert_info(
struct lws_vhost *vhost,
enum lws_tls_cert_info type,
231 LWS_VISIBLE LWS_EXTERN
int
232 lws_tls_acme_sni_cert_create(
struct lws_vhost *vhost,
const char *san_a,
257 LWS_VISIBLE LWS_EXTERN
int
258 lws_tls_acme_sni_csr_create(
struct lws_context *context,
const char *elements[],
259 uint8_t *csr,
size_t csr_len,
char **privkey_pem,
260 size_t *privkey_len);
279 LWS_VISIBLE LWS_EXTERN
int
280 lws_tls_cert_updated(
struct lws_context *context,
const char *certpath,
282 const char *mem_cert,
size_t len_mem_cert,
283 const char *mem_privkey,
size_t len_mem_privkey);
Definition: lws-x509.h:52