Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sort CA chain into root and intermediates on VerifyCertificate. #29255

Merged
merged 2 commits into from
Dec 23, 2024

Conversation

victorr
Copy link
Contributor

@victorr victorr commented Dec 23, 2024

Description

In order for the Certificate.Verify method to work correctly, the certificates in the CA chain need to be sorted into separate root and intermediate certificate pools.

Add unit tests to verify that name constraints in both the root and intermediate certificates are checked.

TODO only if you're a HashiCorp employee

  • Backport Labels: If this fix needs to be backported, use the appropriate backport/ label that matches the desired release branch. Note that in the CE repo, the latest release branch will look like backport/x.x.x, but older release branches will be backport/ent/x.x.x+ent.
    • LTS: If this fixes a critical security vulnerability or severity 1 bug, it will also need to be backported to the current LTS versions of Vault. To ensure this, use all available enterprise labels.
  • ENT Breakage: If this PR either 1) removes a public function OR 2) changes the signature
    of a public function, even if that change is in a CE file, double check that
    applying the patch for this PR to the ENT repo and running tests doesn't
    break any tests. Sometimes ENT only tests rely on public functions in CE
    files.
  • Jira: If this change has an associated Jira, it's referenced either
    in the PR description, commit message, or branch name.
  • RFC: If this change has an associated RFC, please link it in the description.
  • ENT PR: If this change has an associated ENT PR, please link it in the
    description. Also, make sure the changelog is in this PR, not in your ENT PR.

@victorr victorr added this to the 1.18.4 milestone Dec 23, 2024
@victorr victorr self-assigned this Dec 23, 2024
@victorr victorr requested a review from a team as a code owner December 23, 2024 18:28
@github-actions github-actions bot added the hashicorp-contributed-pr If the PR is HashiCorp (i.e. not-community) contributed label Dec 23, 2024
@victorr victorr added backport/ent/1.16.x+ent Changes are backported to 1.16.x+ent backport/1.18.x backport/ent/1.17.x+ent Changes are backported to 1.17.x+ent and removed hashicorp-contributed-pr If the PR is HashiCorp (i.e. not-community) contributed labels Dec 23, 2024
In order for the Certificate.Verify method to work correctly, the certificates
in the CA chain need to be sorted into separate root and intermediate
certificate pools.

Add unit tests to verify that name constraints in both the root and intermediate
certificates are checked.
@victorr victorr force-pushed the victorr/vault-33182-chained-cert-name-constraints branch from 7bd9b95 to 728af4b Compare December 23, 2024 18:30
@victorr victorr requested a review from a team as a code owner December 23, 2024 18:30
@victorr victorr requested a review from tvo0813 December 23, 2024 18:30
@github-actions github-actions bot added the hashicorp-contributed-pr If the PR is HashiCorp (i.e. not-community) contributed label Dec 23, 2024
Copy link

github-actions bot commented Dec 23, 2024

CI Results:
All Go tests succeeded! ✅

Copy link

github-actions bot commented Dec 23, 2024

Build Results:
All builds succeeded! ✅

sgmiller
sgmiller previously approved these changes Dec 23, 2024
@victorr victorr force-pushed the victorr/vault-33182-chained-cert-name-constraints branch from 5524f27 to 43d11bb Compare December 23, 2024 19:39
@sgmiller sgmiller self-requested a review December 23, 2024 19:42
@victorr victorr enabled auto-merge (squash) December 23, 2024 19:44
@victorr victorr merged commit f6910bb into main Dec 23, 2024
90 of 92 checks passed
@victorr victorr deleted the victorr/vault-33182-chained-cert-name-constraints branch December 23, 2024 19:56
victorr added a commit that referenced this pull request Dec 23, 2024
Sort CA chain into root and intermediates on VerifyCertificate.

In order for the Certificate.Verify method to work correctly, the certificates
in the CA chain need to be sorted into separate root and intermediate
certificate pools.

Add unit tests to verify that name constraints in both the root and intermediate
certificates are checked.
kitography pushed a commit that referenced this pull request Jan 3, 2025
Sort CA chain into root and intermediates on VerifyCertificate.

In order for the Certificate.Verify method to work correctly, the certificates
in the CA chain need to be sorted into separate root and intermediate
certificate pools.

Add unit tests to verify that name constraints in both the root and intermediate
certificates are checked.
victorr added a commit that referenced this pull request Jan 6, 2025
…) (#29256)

Sort CA chain into root and intermediates on VerifyCertificate.

In order for the Certificate.Verify method to work correctly, the certificates
in the CA chain need to be sorted into separate root and intermediate
certificate pools.

Add unit tests to verify that name constraints in both the root and intermediate
certificates are checked.

Co-authored-by: Victor Rodriguez <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport/ent/1.16.x+ent Changes are backported to 1.16.x+ent backport/ent/1.17.x+ent Changes are backported to 1.17.x+ent backport/1.18.x hashicorp-contributed-pr If the PR is HashiCorp (i.e. not-community) contributed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants