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

Support for static certificate transparency files #1576

Closed
lenovouser opened this issue Apr 13, 2017 · 9 comments
Closed

Support for static certificate transparency files #1576

lenovouser opened this issue Apr 13, 2017 · 9 comments
Labels
discussion 💬 The right solution needs to be found feature ⚙️ New feature or request

Comments

@lenovouser
Copy link

Like this module allows it for NGINX

@tobya tobya added the feature ⚙️ New feature or request label Apr 13, 2017
@mholt
Copy link
Member

mholt commented Apr 14, 2017

Thanks for your feature request! I need to brush up on the latest CT technology, but I think @sleevi_ has some good insight on this. It'll be important to consider the long-term effects of implementing this feature into Caddy.

@mholt mholt added the discussion 💬 The right solution needs to be found label Apr 14, 2017
@alex
Copy link

alex commented Apr 16, 2017

(Let me know if this should be a separate issue)

I think Caddy can do one better than static SCT files -- in the same way Caddy made TLS easier than any other server -- Caddy could automatically submit certificates to CT logs, and include SCTs in the TLS handshake, all without requiring any additional configuration from server operators.

@alex
Copy link

alex commented Apr 16, 2017

Looks like all you need to do to server SCTs from Golang's TLS is to include them in this struct: https://golang.org/pkg/crypto/tls/#Certificate

The only other step then is agreeing how we get our SCTs. I'm in favor of Caddy automatically submitting certs to logs (possibly only if there aren't already SCTs embedded in the cert itself), and using those SCTs to serve.

There's a small compilation in agreeing on which CT logs to submit to, but that's a small detail :-)

@lenovouser
Copy link
Author

Sounds nice, even though the option for static generated *.sct's would be nice because I am not using Let's Encrypt because they don't support wildcard certificates yet 😄

@mholt
Copy link
Member

mholt commented Apr 16, 2017

Yes, I agree with @alex that Caddy should take care of this automatically if there aren't already embedded SCTs.

I'd be happy to discuss which logs to submit to as well.

@lenovouser

I am not using Let's Encrypt because they don't support wildcard certificates yet

Do you use the certificates for things other than your website?

@alex
Copy link

alex commented Apr 16, 2017

The first challenge, I think, is that different certs need to go to different logs -- for Google logs, Let's Encrypt go to Icarus, while everyone else goes to Pilot/Rocketeer/Aviator (this is all from memory, so I'm sure I got some of the names wrong).

Further, for non-publicly-trusted certs, submitting them to CT doesn't make sense -- they'll get rejected if they're not from a public issuer.

Perhaps for v1 of this we should have people opt into which logs (which no one will actually know how to do probably) with a default for Let's Encrypt (which will work automatically)?

If that sounds good, I can try to make some cycles for this.

@lenovouser
Copy link
Author

Sounds good, I use the certificates only for websites and things like a mailserver @mholt

I've tested all transparency servers listed on certificate-transparency.org/known-logs for Let's Encrypt and these ones accept their certificates:

ct.googleapis.com/pilot
ct.googleapis.com/icarus
ct.googleapis.com/rocketeer
ctlog.api.venafi.com
ctlog.wosign.com

@mholt
Copy link
Member

mholt commented Apr 16, 2017

@alex

Perhaps for v1 of this we should have people opt into which logs (which no one will actually know how to do probably) with a default for Let's Encrypt (which will work automatically)?

That's reasonable -- I wonder how this would be exposed, maybe a ct subdirective in the tls directive? And yeah, I think we can definitely have it "just work" for Let's Encrypt certs, which is I bet 90-95% of Caddy users that don't meddle with the TLS configuration that much or use their own certs anymore.

@mholt
Copy link
Member

mholt commented Feb 18, 2018

I have a gut feeling this feature would be supplanted by SCTs embedded into certificates, like Let's Encrypt will start doing hopefully this year, so I think that would eliminate the need for us to need to implement this. :)

@mholt mholt closed this as completed Feb 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion 💬 The right solution needs to be found feature ⚙️ New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants