Use DB Client CA when connecting to SQL Server using PKINIT #48772
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.
Closes #48517
Brief overview: For the SQL Server with PKINIT, we use the
kinit
CLI to authenticate with Kerberos. To use this CLI, we need to generate the user certificates (DB Client CA) and add the LDAP cert to the anchors file so it can trust the AD/KDC certificates.This issue is related to
kinit
not trusting our certificates as we're using the DB Server CA (instead of DB Client, which was used to generate the connection certificates). This causeskinit
to fail while verifying our certificates.Note: This solution isn't ideal (as we're adding a new exception for the
GenerateDatabaseCert
). However, given this function will be replaced withGenerateDatabaseClientCert
andGenerateDatabaseHostCert
(as per RFD 0168), we can bring this into the discussion when introducing these new RPC calls so it can be solved without having those protocol-specific exceptions.changelog: Fixed users not being able to connect to SQL server instances with PKINIT integration when the cluster is configured with different CAs for database access.