boulder/test
Aaron Gable 11544756bb
Support new Google CT Policy (#6082)
Add a new code path to the ctpolicy package which enforces Chrome's new
CT Policy, which requires that SCTs come from logs run by two different
operators, rather than one Google and one non-Google log. To achieve
this, invert the "race" logic: rather than assuming we always have two
groups, and racing the logs within each group against each other, we now
race the various groups against each other, and pick just one arbitrary
log from each group to attempt submission to.

Ensure that the new code path does the right thing by adding a new zlint
which checks that the two SCTs embedded in a certificate come from logs
run by different operators. To support this lint, which needs to have a
canonical mapping from logs to their operators, import the Chrome CT Log
List JSON Schema and autogenerate Go structs from it so that we can
parse a real CT Log List. Also add flags to all services which run these
lints (the CA and cert-checker) to let them load a CT Log List from disk
and provide it to the lint.

Finally, since we now have the ability to load a CT Log List file
anyway, use this capability to simplify configuration of the RA. Rather
than listing all of the details for each log we're willing to submit to,
simply list the names (technically, Descriptions) of each log, and look
up the rest of the details from the log list file.

To support this change, SRE will need to deploy log list files (the real
Chrome log list for prod, and a custom log list for staging) and then
update the configuration of the RA, CA, and cert-checker. Once that
transition is complete, the deletion TODOs left behind by this change
will be able to be completed, removing the old RA configuration and old
ctpolicy race logic.

Part of #5938
2022-05-25 15:14:57 -07:00
..
akamai-test-srv Fix nits found by staticcheck (#4726) 2020-03-30 10:20:20 -07:00
block-a-key Block keys using hex(sha256(spki)). (#4745) 2020-04-09 09:41:33 -07:00
boulder-tools Support new Google CT Policy (#6082) 2022-05-25 15:14:57 -07:00
cert-ceremonies integration: save hierarchy across runs (#5729) 2021-10-20 17:06:33 -07:00
config Update config from config-next (#6051) 2022-04-19 12:10:26 -07:00
config-next Support new Google CT Policy (#6082) 2022-05-25 15:14:57 -07:00
ct-test-srv Support new Google CT Policy (#6082) 2022-05-25 15:14:57 -07:00
grafana Python upgrade os upgrades and travis config cleanup (#5186) 2020-11-23 18:12:04 -08:00
grpc-creds Add health-checker tool and use it from startservers.py (#5095) 2020-10-06 15:01:35 -07:00
health-checker Add health-checker tool and use it from startservers.py (#5095) 2020-10-06 15:01:35 -07:00
hierarchy Add name and key hashes to issuance.Certificate (#5812) 2021-12-01 12:11:10 -08:00
inmem Remove RA NewAuthorization and NewCertificate (#5900) 2022-01-20 14:47:21 -08:00
integration Support new Google CT Policy (#6082) 2022-05-25 15:14:57 -07:00
load-generator Improve error checking paradigm (#5920) 2022-02-01 14:42:43 -07:00
mail-test-srv Improve error checking paradigm (#5920) 2022-02-01 14:42:43 -07:00
ocsp Use new RA methods from WFE revocation path (#5983) 2022-03-28 14:14:11 -07:00
prometheus boulder-observer (#5315) 2021-03-29 12:56:54 -07:00
redis-tls Add Redis to Boulder's docker-compose (#5747) 2021-10-28 10:36:11 -07:00
sd-test-srv Update config from config-next (#6051) 2022-04-19 12:10:26 -07:00
secrets Support writing initial OCSP response to redis (#5958) 2022-03-21 20:33:12 -06:00
vars Remove dead code (#5893) 2022-01-19 12:23:06 -08:00
wfe-tls Add Redis to Boulder's docker-compose (#5747) 2021-10-28 10:36:11 -07:00
PKI.md Add Redis to Boulder's docker-compose (#5747) 2021-10-28 10:36:11 -07:00
asserts.go Support new Google CT Policy (#6082) 2022-05-25 15:14:57 -07:00
certs.go Remove wfe1 integration tests (#5840) 2021-12-10 12:40:22 -08:00
challtestsrv.py integration: use python3 (#4582) 2019-11-28 09:54:58 -05:00
chisel2.py Remove chisel.py (#5986) 2022-03-11 08:39:06 -08:00
create_db.sh Test: merge db-common.sh into db-create.sh (#5410) 2021-05-11 11:26:19 -07:00
db.go Improve error checking paradigm (#5920) 2022-02-01 14:42:43 -07:00
entrypoint-netaccess.sh Add rocsp-tool to manually store OCSP responses in Redis (#5758) 2021-11-02 11:04:03 -07:00
entrypoint.sh Quiet the output of wait-for-it (#5775) 2021-11-05 11:38:20 -07:00
example-bad-key-revoker-template Add bad-key-revoker daemon (#4788) 2020-04-23 11:51:59 -07:00
example-blocked-keys.yaml Block keys using hex(sha256(spki)). (#4745) 2020-04-09 09:41:33 -07:00
example-expiration-template Review fixes 2015-07-27 12:46:09 -07:00
example-weak-keys.json Basic RSA known weak key checking (#2765) 2017-05-25 09:33:58 -07:00
helpers.py Use new RA methods from WFE revocation path (#5983) 2022-03-28 14:14:11 -07:00
hostname-policy.yaml PA: Support YAML for hostname policy. (#4180) 2019-04-26 14:35:28 -04:00
integration-test.py Remove chisel.py (#5986) 2022-03-11 08:39:06 -08:00
issuer-ocsp-responder.json integration: save hierarchy across runs (#5729) 2021-10-20 17:06:33 -07:00
rate-limit-policies-b.yml Add lower, faster duplicate certificate rate limit (#5401) 2021-05-17 14:50:29 -07:00
rate-limit-policies.yml Add lower, faster duplicate certificate rate limit (#5401) 2021-05-17 14:50:29 -07:00
redis-cli.sh Add doc and debugging tool for Redis (#5885) 2022-01-18 18:32:37 -08:00
redis-create.sh Add rocsp-tool to manually store OCSP responses in Redis (#5758) 2021-11-02 11:04:03 -07:00
redis.config Support writing initial OCSP response to redis (#5958) 2022-03-21 20:33:12 -06:00
sa_db_users.sql Remove fqdnsets_old workaround (#6054) 2022-04-21 16:39:35 -07:00
startservers.py Update boulder-tools dependencies (#6129) 2022-05-20 14:24:01 -07:00
test-ca-cross.pem wfe: implement alternate certificate chains (#4714) 2020-03-24 12:43:26 -07:00
test-ca.der Unflake OCSP integration test 2015-10-21 14:38:15 -07:00
test-ca.key Make it easier to start a test config. 2015-04-09 18:26:40 -07:00
test-ca.key-pkcs11.json Switch to OS-provided SoftHSM2. (#5365) 2021-03-30 17:37:58 -07:00
test-ca.key.der Add DER form of test-ca key in-tree. (#2041) 2016-07-12 09:06:59 -07:00
test-ca.pem Unflake OCSP integration test 2015-10-21 14:38:15 -07:00
test-ca.pubkey.pem Fix test pubkey files. (#4826) 2020-05-27 12:30:47 -07:00
test-ca2-cross.pem wfe: implement alternate certificate chains (#4714) 2020-03-24 12:43:26 -07:00
test-ca2.pem Add multi-issuer support to the CA. 2016-03-21 20:56:58 -07:00
test-ee.key WFE: Always use precert revocation path (#5227) 2021-01-20 16:00:11 -08:00
test-ee.pem WFE: Always use precert revocation path (#5227) 2021-01-20 16:00:11 -08:00
test-example.key Implement TLS-ALPN-01 and integration test for it (#3654) 2018-06-06 13:04:09 -04:00
test-example.pem Implement TLS-ALPN-01 and integration test for it (#3654) 2018-06-06 13:04:09 -04:00
test-key-5.der Fix wfe2 key rollover (#3373) 2018-01-18 14:31:48 -08:00
test-root.der Update pkcs11key to v4 (#4602) 2019-12-09 10:03:33 -08:00
test-root.key Unflake OCSP integration test 2015-10-21 14:38:15 -07:00
test-root.key-pkcs11.json Switch to OS-provided SoftHSM2. (#5365) 2021-03-30 17:37:58 -07:00
test-root.key.der Improve single-ocsp command (#2181) 2016-09-15 15:28:54 -07:00
test-root.pem Unflake OCSP integration test 2015-10-21 14:38:15 -07:00
test-root.pubkey.pem Fix test pubkey files. (#4826) 2020-05-27 12:30:47 -07:00
test-root2.key wfe: implement alternate certificate chains (#4714) 2020-03-24 12:43:26 -07:00
test-root2.pem wfe: implement alternate certificate chains (#4714) 2020-03-24 12:43:26 -07:00
v2_integration.py Support new Google CT Policy (#6082) 2022-05-25 15:14:57 -07:00
wait-for-it.sh Quiet the output of wait-for-it (#5775) 2021-11-05 11:38:20 -07:00