I’ve been successfully using Let’s Encrypt on a particular domain for quite some time. I’ve chosen it to experiment with Must-Staple. So I issued the command:
$ certbot enhance --must-staple
certbot configured Apache to start stapling. But it didn’t create a new certificate. hmm. So I forced a renewal of the certificate. It renewed, no problem. But the renewed certificate does not have Must-Staple enabled.
Is something broken or am I doing something wrong?
--must-staple Adds the OCSP Must Staple extension to the
certificate. Autoconfigures OCSP Stapling for
supported setups (Apache version >= 2.3.3 ). (default:
False)
So if you only renew a certificate the extension doesn't exist.
But if you add the extension, you must have a working staple support.
So
add the staple support, use that a few weeks.
If that works, create one certificate with that flag.
Sometimes there may be a curious error message if the certificate has that extension.
The documentation says that “enhance” is supposed to “Add security enhancements to your existing configuration”. So is the “–must-staple” enhancement misnamed? It sounds like you’re saying all it’s supposed to do is enable stapling on the server. That is a very different thing from Must Staple.
I’m not following on the distinction between a new certificate and a renewed certificate. A renewal is the issuance of a new certificate, is it not? Why can’t the renewed certificate have the Must Staple flag set? I don’t see any reason it can’t.
You’re definitely right that “enhance” is poorly documented.
The documentation does say, though, that its purpose is to add SECURITY enhancements. If all it does is configure stapling (which is all it seems to be doing), then that is not a security enhancement. That’s a performance enhancement which does nothing for security. So I stand by my assertion that the “–must-staple” enhancement is broken:
“enhance” is intended for security, which failing to enable Must Staple is not achieving.
the enhancement is named “must-staple”, which is not what it seems to actually do.