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): https://fs.kcgdnetwork.cf:2028/file/CyHLeuevauHKHIg0np2lS4b-3bPr/test_file.txt
http2 (curl giving certificate error): https://main.kcgdnetwork.cf/kcgdnet/ <-- 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.

4 Likes

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 sslforfree.com

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.

2 Likes

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