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

Document how to use a non-self-signed certificate #10

Open
Toxaris opened this issue Apr 11, 2014 · 1 comment
Open

Document how to use a non-self-signed certificate #10

Toxaris opened this issue Apr 11, 2014 · 1 comment

Comments

@Toxaris
Copy link

Toxaris commented Apr 11, 2014

We want to use the handin-server with a SSL certificate signed by a certifying authority to increase security and convenience for the status server (no security warnings). This seems to work fine, the only hard part was that the server-cert.pem file needs to contain the whole PEM-format certification chain.

Maybe this could be mentioned in the documentation as an alternative to self-signed certificate?

Or is there some reason not to use this configuration?

@Toxaris Toxaris changed the title SSL Certificate Chain Document how to use a non-self-signed certificate Apr 11, 2014
@Blaisorblade
Copy link
Contributor

This seems to work fine, the only hard part was that the server-cert.pem file needs to contain the whole PEM-format certification chain.

18 months later, I realized this:

  • server side, the server-cert.pem should not include the root of the certificate chain — it's not needed (since the root certificate only matters when it appears in the certificate store), and it's bad practice (mostly because it adds overhead at connection time). When getting this wrong, I think I even got warnings from ssllabs.com's testing service.
  • client side, the root should be included, because server-cert.pem is just a certificate store. Trickily, omitting the root certificate will create no problem until you ship to users without configured certificate stores — apparently Windows users. Since the actual error message is by default omitted, this masquerades as "connection failed", so we tried to debug firewall problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants