Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TLS Certificate Issue #81

Open
NebulaMods opened this issue Jan 16, 2025 · 11 comments
Open

TLS Certificate Issue #81

NebulaMods opened this issue Jan 16, 2025 · 11 comments
Assignees
Labels
help wanted Extra attention is needed question Further information is requested

Comments

@NebulaMods
Copy link

Hello,

It seems after providing the TLS cert, TLS private key, and TLS chain some web clients seem to fail to verify the certificate. The domain in question is orbitalsolutions.ca, and I don't see anything in the logs showing an issues related to TLS.

Image

@vicanso
Copy link
Owner

vicanso commented Jan 17, 2025

Please show me more curl log. curl -v 'https://baidu.com'

@NebulaMods
Copy link
Author

@vicanso

*   Trying 142.44.241.201:443...
* Connected to orbitalsolutions.ca (142.44.241.201) port 443 (#0)
* ALPN: offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (OUT), TLS alert, unknown CA (560):
* SSL certificate problem: unable to get local issuer certificate
* Closing connection 0
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

@vicanso
Copy link
Owner

vicanso commented Jan 17, 2025

I found that curl 7.81.0 is ok, but curl 7.74.0 fail.

@NebulaMods
Copy link
Author

What do you suggest as a solution? I believe the issue is solved by the client using AIA, but this can't be expected by all clients.

@vicanso
Copy link
Owner

vicanso commented Jan 17, 2025

What is the version of your system? Is is relatively old? And you can see the test results of ssllabs.

https://www.ssllabs.com/ssltest/analyze.html?d=orbitalsolutions.ca

@atinm
Copy link

atinm commented Jan 17, 2025

Is the certificate chain misconfigured or incomplete so the client has to go to the AIA endpoint? It looks like it is missing an intermediate cert so it is up to the client to pull it. Are you using transparent or reverse proxy?

@NebulaMods
Copy link
Author

@vicanso ssllabs shows it is successful only on system's that use AIA. If you use any other ssl checker it will report an error.

@atinm I am using the full chain bundle given directly from ssl2buys, and it works fine when used on nginx for some reason.

@atinm
Copy link

atinm commented Jan 17, 2025

I am not sure how the server makes a difference since this is client side that has to pull from the AIA endpoint if intermediate certs are missing as is the case here. If you look at the openssl -connect output, the server is returning two certs in the chain. The intermediate cert that is missing is pulled by the browser from the AIA endpoint before it does the verification.

@NebulaMods
Copy link
Author

Nginx is giving the correct chain to the client, while Pingap is not... That is why AIA is needed. This is what I provided to Pingap and Nginx https://help.configuressl.com/primessl-ca-bundle-rsa-dv-root-e46/ as the fullchain, so it should be working fine yet it isn't.

@atinm
Copy link

atinm commented Jan 17, 2025

What does echo "" |openssl s_client -showcerts <insert your server here>:443 | openssl crl2pkcs7 -nocrl -certfile /dev/stdin | openssl pkcs7 -noout -print_certs -text
show?

echo "" |openssl s_client -showcerts orbitalsolutions.ca:443 | openssl crl2pkcs7 -nocrl -certfile /dev/stdin | openssl pkcs7 -noout -print_certs -text shows only two certs, so is missing the intermediate and has to be pulled from the AIA from what I understand.

@vicanso vicanso self-assigned this Jan 17, 2025
@vicanso vicanso added the question Further information is requested label Jan 17, 2025
@vicanso
Copy link
Owner

vicanso commented Jan 18, 2025

Nginx is giving the correct chain to the client, while Pingap is not... That is why AIA is needed. This is what I provided to Pingap and Nginx https://help.configuressl.com/primessl-ca-bundle-rsa-dv-root-e46/ as the fullchain, so it should be working fine yet it isn't.

Do you try to use only chain certificate?

@vicanso vicanso added the help wanted Extra attention is needed label Jan 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants