Rework ECDSA - #212
Merged
Merged
Conversation
cocojoe
reviewed
Nov 3, 2017
cocojoe
left a comment
Member
There was a problem hiding this comment.
Tests work on Sun and BC providers now?
lbalmaceda
force-pushed
the
rework-ecdsa
branch
from
November 3, 2017 13:19
5c07039 to
ce486b1
Compare
Contributor
Author
|
Yes. The I've added a small test to ensure that the first provider is actually BC. I've removed invalid tests as DER signature encoding should NOT be allowed in a JWT and added the corresponding ones to check that it fails on those cases. |
lbalmaceda
force-pushed
the
rework-ecdsa
branch
from
November 3, 2017 14:17
ce486b1 to
d396396
Compare
Use a copy of the ECDSA tests with BouncyCastle provider
lbalmaceda
force-pushed
the
rework-ecdsa
branch
from
November 3, 2017 18:26
d396396 to
064a01e
Compare
aaguiarz
approved these changes
Nov 6, 2017
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 PR fixes a lot of ECDSA Algorithm issues. The problem was mainly that the signature format conversion was being made on one way but not in the other. I've added some tests that mimic the signature format and test the converter methods. What I'm not so sure about is if we should have a different exception message when the total signature length or the R/S numbers length is not the expected. We could throw the same error message "invalid signature length" for all 3 cases. Check lines 104, 113 and 125.
Tests should run against both JDK 7 & JDK 8. I don't know why but tests were failing on JDK8, something we didn't caught because we never run the tests on that JDK. I added a separate PR to use CircleCI Workflows to attempt to run the tests in both JDKs, but because the tests don't pass in master merging that to master will "break master" until this PR is merged. I'd add it sourced from this last commit.