Support HSM for Windows Desktop and database AD access#55429
Merged
Conversation
zmb3
reviewed
Jun 4, 2025
54ae4e2 to
47e7504
Compare
303f786 to
5bad0e8
Compare
6630e28 to
a810a1e
Compare
a810a1e to
63b346e
Compare
Contributor
|
@probakowski See the table below for backport results.
|
zmb3
pushed a commit
that referenced
this pull request
Jul 17, 2025
zmb3
pushed a commit
that referenced
this pull request
Jul 18, 2025
zmb3
pushed a commit
that referenced
this pull request
Jul 18, 2025
zmb3
pushed a commit
that referenced
this pull request
Jul 18, 2025
zmb3
pushed a commit
that referenced
this pull request
Jul 18, 2025
zmb3
pushed a commit
that referenced
this pull request
Jul 18, 2025
zmb3
pushed a commit
that referenced
this pull request
Jul 19, 2025
github-merge-queue bot
pushed a commit
that referenced
this pull request
Jul 23, 2025
* Proto changes for supporting HSM in Windows Desktop and Database access w/AD (#55428) Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com> * Support HSM for Windows Desktop and database AD access (#55429) * Support out parameter for `tctl auth crl` command (#55430) Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com> --------- Co-authored-by: Przemko Robakowski <przemko.robakowski@goteleport.com>
zmb3
pushed a commit
that referenced
this pull request
Jul 23, 2025
github-merge-queue bot
pushed a commit
that referenced
this pull request
Jul 23, 2025
* Proto changes for supporting HSM in Windows Desktop and Database access w/AD Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com> * Support HSM for Windows Desktop and database AD access (#55429) * Support out parameter for `tctl auth crl` command (#55430) Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com> --------- Co-authored-by: Przemko Robakowski <przemko.robakowski@goteleport.com>
zmb3
added a commit
that referenced
this pull request
Aug 12, 2025
In #55429 we added an empty certificate revocation list to the TLS keypairs in the certificate_authority backend resource. The intent was that the CRL would be signed by the keypair it is assocaited with, but the code mistakenly used a function that would find _any_ suitable keypair, which could create CRLS signed by the wrong key. This commit corrects both the initial CRL generation as well as any existing CRLs that have invalid signatures.
zmb3
added a commit
that referenced
this pull request
Aug 12, 2025
In #55429 we added an empty certificate revocation list to the TLS keypairs in the certificate_authority backend resource. The intent was that the CRL would be signed by the keypair it is assocaited with, but the code mistakenly used a function that would find _any_ suitable keypair, which could create CRLS signed by the wrong key. This commit corrects both the initial CRL generation as well as any existing CRLs that have invalid signatures.
github-merge-queue bot
pushed a commit
that referenced
this pull request
Aug 14, 2025
* Fix CRLs in the backend In #55429 we added an empty certificate revocation list to the TLS keypairs in the certificate_authority backend resource. The intent was that the CRL would be signed by the keypair it is assocaited with, but the code mistakenly used a function that would find _any_ suitable keypair, which could create CRLS signed by the wrong key. This commit corrects both the initial CRL generation as well as any existing CRLs that have invalid signatures. * Add some extra warnings re: CRL generation In clusters with multiple active signers (like those using HSMs or KMS for private keys), the only safe way to get a CRL is to use the one that's already present in the certificate_authority resource. Generating a CRL with GenerateCertAuthorityCRL will give you a valid CRL, but you have no control over which certificate signs it, which is likely to cause revocation failures later on. * Rename GenerateCRLForCA In most cases, we're looking up an existing CRL, not generating one. * Improve DELETE IN comments while the context is fresh
backport-bot-workflows bot
pushed a commit
that referenced
this pull request
Aug 14, 2025
In #55429 we added an empty certificate revocation list to the TLS keypairs in the certificate_authority backend resource. The intent was that the CRL would be signed by the keypair it is assocaited with, but the code mistakenly used a function that would find _any_ suitable keypair, which could create CRLS signed by the wrong key. This commit corrects both the initial CRL generation as well as any existing CRLs that have invalid signatures.
backport-bot-workflows bot
pushed a commit
that referenced
this pull request
Aug 14, 2025
In #55429 we added an empty certificate revocation list to the TLS keypairs in the certificate_authority backend resource. The intent was that the CRL would be signed by the keypair it is assocaited with, but the code mistakenly used a function that would find _any_ suitable keypair, which could create CRLS signed by the wrong key. This commit corrects both the initial CRL generation as well as any existing CRLs that have invalid signatures.
github-merge-queue bot
pushed a commit
that referenced
this pull request
Aug 14, 2025
* Fix CRLs in the backend In #55429 we added an empty certificate revocation list to the TLS keypairs in the certificate_authority backend resource. The intent was that the CRL would be signed by the keypair it is assocaited with, but the code mistakenly used a function that would find _any_ suitable keypair, which could create CRLS signed by the wrong key. This commit corrects both the initial CRL generation as well as any existing CRLs that have invalid signatures. * Add some extra warnings re: CRL generation In clusters with multiple active signers (like those using HSMs or KMS for private keys), the only safe way to get a CRL is to use the one that's already present in the certificate_authority resource. Generating a CRL with GenerateCertAuthorityCRL will give you a valid CRL, but you have no control over which certificate signs it, which is likely to cause revocation failures later on. * Rename GenerateCRLForCA In most cases, we're looking up an existing CRL, not generating one. * Improve DELETE IN comments while the context is fresh
github-merge-queue bot
pushed a commit
that referenced
this pull request
Aug 14, 2025
* Fix CRLs in the backend In #55429 we added an empty certificate revocation list to the TLS keypairs in the certificate_authority backend resource. The intent was that the CRL would be signed by the keypair it is assocaited with, but the code mistakenly used a function that would find _any_ suitable keypair, which could create CRLS signed by the wrong key. This commit corrects both the initial CRL generation as well as any existing CRLs that have invalid signatures. * Add some extra warnings re: CRL generation In clusters with multiple active signers (like those using HSMs or KMS for private keys), the only safe way to get a CRL is to use the one that's already present in the certificate_authority resource. Generating a CRL with GenerateCertAuthorityCRL will give you a valid CRL, but you have no control over which certificate signs it, which is likely to cause revocation failures later on. * Rename GenerateCRLForCA In most cases, we're looking up an existing CRL, not generating one. * Improve DELETE IN comments while the context is fresh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This change implements RFD 210, supporting HMS for Windows Desktop and Database access with Active Directory.
Empty CRLs (valid for 10 years) are generated during each new TLS key pair creation and all existing cert authorities are updated during startup to also have one.
changelog: Fix certificate revocation failures in Active Directory environments when Teleport is using HSM-backed key material.