#pragma once #include enum ssl_X509_obj_type { SSL_X509_OBJ_CERT, SSL_X509_OBJ_CRL }; struct ssl_trusted_cert_storage; struct ssl_trusted_cert_storage* ssl_trusted_cert_storage_create(const char* pem_bundle, const char* pem_dir); void ssl_trusted_cert_storage_destroy(struct ssl_trusted_cert_storage* storage); int ssl_trusted_cert_storage_verify_conn(struct ssl_trusted_cert_storage* storage, const SSL * ssl, char* reason, size_t n_reason); int ssl_trusted_cert_storage_add(struct ssl_trusted_cert_storage* storage, enum ssl_X509_obj_type type, const char* filename); int ssl_trusted_cert_storage_del(struct ssl_trusted_cert_storage* storage, enum ssl_X509_obj_type type, const char* filename); void ssl_trusted_cert_storage_reset(struct ssl_trusted_cert_storage* storage);