boulder/cmd
Samantha Frank dda8acc34a
RA/VA: Add MPIC compliant DCV and CAA checks (#7870)
Today, we have VA.PerformValidation, a method called by the RA at
challenge time to perform DCV and check CAA. We also have VA.IsCAAValid,
a method invoked by the RA at finalize time when a CAA re-check is
necessary. Both of these methods can be executed on remote VA
perspectives by calling the generic VA.performRemoteValidation.

This change splits VA.PerformValidation into VA.DoDCV and VA.DoCAA,
which are both called on remote VA perspectives by calling the generic
VA.doRemoteOperation. VA.DoDCV, VA.DoCAA, and VA.doRemoteOperation
fulfill the requirements of SC-067 V3: Require Multi-Perspective
Issuance Corroboration by:

- Requiring at least three distinct perspectives, as outlined in the
"Phased Implementation Timeline" in BRs section 3.2.2.9 ("Effective
March 15, 2025").
- Ensuring that the number of non-corroborating (failing) perspectives
remains below the threshold defined by the "Table: Quorum Requirements"
in BRs section 3.2.2.9.
- Ensuring that corroborating (passing) perspectives reside in at least
2 distinct Regional Internet Registries (RIRs) per the "Phased
Implementation Timeline" in BRs section 3.2.2.9 ("Effective March 15,
2026").
- Including an MPIC summary consisting of: passing perspectives, failing
perspectives, passing RIRs, and a quorum met for issuance (e.g., 2/3 or
3/3) in each validation audit log event, per BRs Section 5.4.1,
Requirement 2.8.

When the new SeparateDCVAndCAAChecks feature flag is enabled on the RA,
calls to VA.IsCAAValid (during finalization) and VA.PerformValidation
(during challenge) are replaced with calls to VA.DoCAA and a sequence of
VA.DoDCV followed by VA.DoCAA, respectively.

Fixes #7612
Fixes #7614
Fixes #7615
Fixes #7616
2024-12-10 11:26:08 -05:00
..
admin refactor: remove usages of experimental maps package (#7849) 2024-12-06 11:50:32 -08:00
admin-revoker Strip old admin-revoker down to bare bones (#7317) 2024-03-05 12:36:29 -08:00
akamai-purger Better compile-time type checking for gRPC server implementations (#7504) 2024-05-28 09:26:29 -07:00
bad-key-revoker Remove logging of contact email addresses (#7833) 2024-11-25 13:33:56 -08:00
boulder Clean up migration to separate remoteva executable (#7787) 2024-11-05 07:44:08 -08:00
boulder-ca Introduce SerialPrefixHex field in CA (#7721) 2024-10-04 10:50:57 -07:00
boulder-observer Add --addr and/or --debug-addr flags to all commands (#7175) 2023-12-07 17:41:01 -08:00
boulder-publisher Simplify issuance.NameID and how it is used (#7260) 2024-01-17 12:55:56 -08:00
boulder-ra RA/VA: Add MPIC compliant DCV and CAA checks (#7870) 2024-12-10 11:26:08 -05:00
boulder-sa Simplify the features package (#7204) 2023-12-12 15:51:57 -05:00
boulder-va va: Check for RIR and Perspective mismatches at runtime when they're provided (#7841) 2024-12-06 14:27:28 -05:00
boulder-wfe2 WFE/nonce: Add NonceHMACKey field (#7793) 2024-11-13 10:31:28 -05:00
ceremony ceremony: Remove deprecated id-qt-cps support (#7750) 2024-10-08 16:09:33 -04:00
cert-checker Remove weakKeyFile and blockedKeyFile support (#7783) 2024-11-06 10:48:39 -08:00
contact-auditor ratelimit: Remove legacy registrations per IP implementation (#7760) 2024-11-19 18:39:21 -05:00
crl-checker Log version string for more tools at startup (#7087) 2023-09-19 12:46:55 -04:00
crl-storer Simplify the features package (#7204) 2023-12-12 15:51:57 -05:00
crl-updater all: use proper deprecation comment (#7273) 2024-01-22 12:26:55 -05:00
expiration-mailer Remove logging of contact email addresses (#7833) 2024-11-25 13:33:56 -08:00
id-exporter ratelimit: Remove legacy registrations per IP implementation (#7760) 2024-11-19 18:39:21 -05:00
log-validator Add --addr and/or --debug-addr flags to all commands (#7175) 2023-12-07 17:41:01 -08:00
nonce-service WFE/nonce: Add NonceHMACKey field (#7793) 2024-11-13 10:31:28 -05:00
notify-mailer Remove repeated words in comments (#7445) 2024-04-23 10:30:33 -04:00
ocsp-responder Dynamically generate grpc-creds at integration test startup (#7477) 2024-05-15 11:31:23 -04:00
remoteva va: Check for RIR and Perspective mismatches at runtime when they're provided (#7841) 2024-12-06 14:27:28 -05:00
reversed-hostname-checker PA: Improve wildcard exact blocklist implementation (#7218) 2023-12-19 14:22:18 -05:00
rocsp-tool Update to math/rand/v2 (#7657) 2024-08-12 09:17:09 -07:00
sfe WFE: Reject new orders containing paused identifiers (#7599) 2024-07-25 13:46:40 -04:00
testdata Allow validating config.Duration type (#7564) 2024-06-27 13:45:19 -04:00
clock_generic.go Update golangci-lint from v1.29.0 to v1.42.1 (#5745) 2021-10-22 16:26:59 -07:00
clock_integration.go gRPC: reject request if clock skew is too large (#7686) 2024-08-29 11:32:24 -07:00
config.go WFE/nonce: Add NonceHMACKey field (#7793) 2024-11-13 10:31:28 -05:00
config_test.go Dynamically generate grpc-creds at integration test startup (#7477) 2024-05-15 11:31:23 -04:00
registry.go main: Validate config files by default (#6885) 2023-05-15 14:16:04 -04:00
shell.go Log the time hourly (#7723) 2024-09-26 11:49:54 -07:00
shell_test.go Allow validating config.Duration type (#7564) 2024-06-27 13:45:19 -04:00