open-vault/builtin/logical
Alexander Scheel 15ae00d147
Add unified crl building (#18792)
* Add unified CRL config storage helpers

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add support to build unified CRLs

This allows us to build unified versions of both the complete and delta
CRLs. This mostly involved creating a new variant of the
unified-specific CRL builder, fetching certs from each cluster's storage
space.

Unlike OCSP, here we do not unify the node's local storage with the
cross-cluster storage: this node is the active of the performance
primary, so writes to unified storage happen exactly the same as
writes to cluster-local storage, meaning the two are always in
sync. Other performance secondaries do not rebuild the CRL, and hence
the out-of-sync avoidance that we'd like to solve with the OCSP
responder is not necessary to solve here.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add ability to fetch unified CRLs

This adds to the path-fetch APIs the ability to return the unified CRLs.
We update the If-Modified-Since infrastructure to support querying the
unified CRL specific data and fetchCertBySerial to support all unified
variants. This works for both the default/global fetch APIs and the
issuer-specific fetch APIs.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Rebuild CRLs on unified status changes

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Handle rebuilding CRLs due to either changing

This allows detecting if the Delta CRL needs to be rebuilt because
either the local or the unified CRL needs to be rebuilt. We never
trigger rebuilding the unified delta on a non-primary cluster.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Ensure serials aren't added to unified CRL twice

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
2023-01-23 19:17:34 +00:00
..
aws [QT-309] Resolve AWS config before testing ACC (#17949) 2022-11-17 11:55:27 -07:00
consul Check if plugin version matches running version (#17182) 2022-09-21 12:25:04 -07:00
database Remove pinned builtin plugin versions from storage (#18051) 2022-11-23 18:36:25 +00:00
nomad Allow reading Nomad CA/Client cert configuration (#15809) 2022-06-10 10:09:54 -04:00
pki Add unified crl building (#18792) 2023-01-23 19:17:34 +00:00
pkiext Disable nginx integration test in pki test suites (#18141) 2022-11-29 13:30:25 -05:00
rabbitmq Use hashicorp mirror for container pulls (#17778) 2022-11-02 13:33:17 -04:00
ssh Expose ssh algorithm_signer in web interface (#10114) (#10299) 2022-11-10 14:24:53 -08:00
totp base32.DecodeString expects length 8 for the buffer (#11887) 2021-07-14 07:38:10 -04:00
transit Resolve unrecognized parameter warnings on batch_input parameter in transit (#18299) 2023-01-04 09:15:48 -05:00