Skip to content

Allow storing CA cert bundles #2221

Closed
@letmaik

Description

@letmaik

Currently, set_ca_cert allows to store single named certs, which are used for the JWT auto-refresh feature.
It makes sense to generalize this to allow storing named lists of CA certs. This supports scenarios where a trusted/curated Root CA list is imported wholesale, e.g. from the Microsoft Trust Root Program or the Mozilla CA Cert Program. Note that the existing use case of a single cert will be supported as before (as that is just a special case).

The following changes are necessary:

  • set_ca_cert proposal: Store PEM as-is (multiple certs are a concatenation, no change to payload) instead of converting to DER (there is no such thing as concatenated DER certs, see also docs on mbedtls_x509_crt_parse)
  • Rename proposal {set|remove}_ca_cert to {set|remove}_ca_cert_bundle
  • Rename kv table from public:ccf.gov.jwt.ca_certs_der to public:ccf.gov.tls.ca_cert_bundles
  • Rename ca_cert_name in JWT Issuer metadata to ca_cert_bundle_name

Note that there won't be a performance impact from this change since JWT key auto-refresh is not on the critical path.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions