-
Notifications
You must be signed in to change notification settings - Fork 18
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
hs2019 with PSS support #12
Open
fulder
wants to merge
20
commits into
spacemonkeygo:master
Choose a base branch
from
fulder:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains 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
+1 |
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.
Try implementing hs2019 support (using PSS).
I've been reading through both these drafts:
But still find it a bit confusing on how the digital signature algorithm should be derived from keyId in a good way both at the client and at the server side (funny the same confusion is stated in this appendix B.1.1.1)
Right now I've only added support for PSS algorithm, other algorithms can simply be added by creating new structs in the
hs2019.go
file. I was thinking that as the client will chose the algorithm and use the correcths2019
struct, the server can then look up the algorithm in theKeyGetter
implementing struct (just like for the key data) and verify the signature using the newGetKeyAlgorithm
function (this will be a breaking change for structs implementing this interface today, the whole new draft version feels a bit breaking with the new way of specifying the algorithm).Hope I haven't misunderstood the new draft version completely, all change requests and help is appreciated.
Related issue: #7
As all the other algorithms have now become deprecated it would probably be a good idea to remove them entirely. But in order to not introduce even more breaking changes I've kept them and just added a deprecation message to update the algorithm to
hs2019
if any other version is used. Guess this will also collide with #6The removal can then be done in a second step (after users of this lib get some time to migrate to the new algorithm)