boulder/ca
Daniel McCarney eb20b2accd
CA: implement CFSSL/zlint pre-issuance linting. (#4378)
The `test/config-next` CA configs are both updated to use `zlint` to lint TBS
pre-certificates with a throw-away key and treat any lint findings >=
`lints.Pass` as an error, blocking the CA from signing the TBS pre-cert with its
private key.

The CA `issuePrecertificateInner` function is updated to specifically catch
linting related errors from CFSSL to marshal the linting findings to the audit
log. A small unit test for this change is included.

The CA `IssueCertificateForPrecertificate` function remains unchanged: the CFSSL
interface that defines `SignFromPrecert` doesn't facilitate linting. We still
lint final certificates post-issuance with `cert-checker` and accept the
possibility there may be some compliance issues that could occur between the
precertificate passing linting and the final certificate being signed.

Resolves https://github.com/letsencrypt/boulder/issues/4255
2019-07-31 15:08:57 -04:00
..
config Clean up must staple and precert options in CA (#4201) 2019-05-21 15:34:28 -04:00
proto Clean up must staple and precert options in CA (#4201) 2019-05-21 15:34:28 -04:00
testdata CA: Test that the CT poison extension in CSRs is ignored. (#2915) 2017-07-28 10:51:46 -07:00
ca.go CA: implement CFSSL/zlint pre-issuance linting. (#4378) 2019-07-31 15:08:57 -04:00
ca_test.go CA: implement CFSSL/zlint pre-issuance linting. (#4378) 2019-07-31 15:08:57 -04:00