Hyperman
view release on metacpan or search on metacpan
include/hyperman/hm_tls.h view on Meta::CPAN
(void)tkey; (void)tkeylen;
#endif
if (SSL_CTX_use_certificate_chain_file(ctx, cert) <= 0) {
fprintf(stderr, "Hyperman TLS: cannot load certificate '%s'\n", cert);
ERR_print_errors_fp(stderr); SSL_CTX_free(ctx); return NULL;
}
if (SSL_CTX_use_PrivateKey_file(ctx, key, SSL_FILETYPE_PEM) <= 0) {
fprintf(stderr, "Hyperman TLS: cannot load private key '%s'\n", key);
ERR_print_errors_fp(stderr); SSL_CTX_free(ctx); return NULL;
}
if (!SSL_CTX_check_private_key(ctx)) {
fprintf(stderr, "Hyperman TLS: certificate and key do not match\n");
SSL_CTX_free(ctx); return NULL;
}
#ifdef HM_HAVE_ALPN
/* h3 only on a QUIC context: offering h2 or http/1.1 over QUIC is a
* protocol error. The TCP list is untouched - h3 is discovered through
* Alt-Svc, never through ALPN over TCP. */
if (quic) SSL_CTX_set_alpn_select_cb(ctx, hm_tls_alpn_h3_cb, NULL);
else if (alpn_h2) SSL_CTX_set_alpn_select_cb(ctx, hm_tls_alpn_cb, NULL);
#else
( run in 0.655 second using v1.01-cache-2.11-cpan-8dfa8b56332 )