Expose configuration to set maximum number of PKCS#11 sessions#52768
Merged
rosstimothy merged 1 commit intomasterfrom Mar 6, 2025
Merged
Expose configuration to set maximum number of PKCS#11 sessions#52768rosstimothy merged 1 commit intomasterfrom
rosstimothy merged 1 commit intomasterfrom
Conversation
Contributor
|
Amplify deployment status
|
2e864bd to
8a43abd
Compare
rosstimothy
commented
Mar 4, 2025
zmb3
reviewed
Mar 4, 2025
lib/service/servicecfg/auth.go
Outdated
| return trace.BadParameter("must provide one of SlotNumber or TokenLabel") | ||
| } | ||
|
|
||
| if cfg.MaxSessions == 1 { |
Collaborator
There was a problem hiding this comment.
Suggested change
| if cfg.MaxSessions == 1 { | |
| if cfg.MaxSessions <= 1 { |
It's a signed integer, so might as well protect against 0 or negative values too.
Contributor
Author
There was a problem hiding this comment.
The PKCS11 library will accept zero and interprets it as use the default value. It will however reject a value of 1. If we want I can defer this entirely to the PKCS11 library, though I was trying to produce a more helpful error message by catching a value of 1 explicitly here.
Contributor
Author
There was a problem hiding this comment.
It looks like the library doesn't handle negative values though, so perhaps we want to handle negative values, zero, and one specifically here.
nklaassen
approved these changes
Mar 4, 2025
8a43abd to
547d3de
Compare
hugoShaka
approved these changes
Mar 5, 2025
The PKCS#11 that we use defaults to allowing 1024 concurrent sessions. If an HSM is configured with a lower limit it results in broken UX since the PKCS#11 library does not reuse open and available sessions until it has opened the maximum number of sessions that it can. While the library behavior is out of our control, we now allow users the ability to specify what their desired max and propagate it on to the PKCS#11 library so that it will not open more sessions than the HSM will allow. The auth config reference was updated to include `ca_key_params`. While these config options were somewhat discoverable via individual HSM guides, they were not mentioned in the auth reference.
78a95d4 to
5547855
Compare
zmb3
approved these changes
Mar 6, 2025
|
@rosstimothy See the table below for backport results.
|
rosstimothy
added a commit
that referenced
this pull request
Mar 7, 2025
The PKCS#11 that we use defaults to allowing 1024 concurrent sessions. If an HSM is configured with a lower limit it results in broken UX since the PKCS#11 library does not reuse open and available sessions until it has opened the maximum number of sessions that it can. While the library behavior is out of our control, we now allow users the ability to specify what their desired max and propagate it on to the PKCS#11 library so that it will not open more sessions than the HSM will allow. The auth config reference was updated to include `ca_key_params`. While these config options were somewhat discoverable via individual HSM guides, they were not mentioned in the auth reference.
github-merge-queue bot
pushed a commit
that referenced
this pull request
Mar 7, 2025
… (#52880) The PKCS#11 that we use defaults to allowing 1024 concurrent sessions. If an HSM is configured with a lower limit it results in broken UX since the PKCS#11 library does not reuse open and available sessions until it has opened the maximum number of sessions that it can. While the library behavior is out of our control, we now allow users the ability to specify what their desired max and propagate it on to the PKCS#11 library so that it will not open more sessions than the HSM will allow. The auth config reference was updated to include `ca_key_params`. While these config options were somewhat discoverable via individual HSM guides, they were not mentioned in the auth reference.
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.
The PKCS#11 library that we use defaults to allowing 1024 concurrent sessions. If an HSM is configured with a lower limit it results in broken UX since the PKCS#11 library does not reuse open and available sessions until it has opened the maximum number of sessions that it can. While the library behavior is out of our control, we now allow users the ability to specify what their desired max and propagate it on to the PKCS#11 library so that it will not open more sessions than the HSM will allow.
The auth config reference was updated to include
ca_key_params. While these config options were somewhat discoverable via individual HSM guides, they were not mentioned in the auth reference.changelog: Allow specifying the maximum number of PKCS#11 HSM connections.