Curl giving certificate error on http2 but not http1

So i have a weird error, ive got 2 webserver programs, one running front end websites (using http2) and another running a file hosting service (using http1), for some reason i cant curl from the http2 server but i can from the http1 server. They both work in my web browser (google chrome dev). Honestly i have no clue whats causing this, they use the same certificate. I got some links below for examples:

http1 (curl working):
http2 (curl giving certificate error): <-- yes this is the right page

this is the curl error i got: curl: (35) schannel: failed to receive handshake, SSL/TLS connection failed
also neither of the links work curling from the server, gives this error: (60) SSL certificate problem: unable to get local issuer certificate

the server is running linux mint 19 Tara 64 bit and i was testing from windows 10, the webserver program is a custom built webserver in node, any suggestions would be really appreciated!

1 Like

You're not sending the intermediate. See a previous response of mine:

I don't think HTTP/2 has anything to do with it.


how does one get an intermediate? when i get the certificates it gives me ca_bundle.crt, certificate.crt and private.key, i converted all the files except the key to .pem with openSSL, i got the cert through

1 Like

It’s ca_bundle.crt.

So you should create a file with the contents of certificate.crt + ca_bundle.crt concatenated together, and use that for your cert parameter.

.crt is usually already PEM-encoded, so you shouldn’t need to do any conversions with OpenSSL. The file suffix doesn’t matter.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.