Skip to content
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

Implement RSASSA-PSS support #108

Closed

Conversation

MatthiasValvekens
Copy link
Contributor

As discussed on Slack:

Regarding RSASSA-PSS: I managed to put together a working & reasonably user-friendly implementation that does both signing and verifying yesterday evening. Since I have no way of knowing which classes require manual porting, I can’t say for sure how autoportable my code is, but I think the only manual porting required is in a 3-line method in SignUtils since that one relies on a piece of JCA API.
The breaking changes are all quite minor and in parts of the code base that already have breaking changes anyway:

  • An extra method in IExternalSignature to retrieve the parameters. I’d make it a default method that returns null (which would make the change non-breaking) but IIRC the autoporter can’t deal with that, right?

  • A couple extra factory methods in the IBouncyCastleFactory and its implementations + some additional exposed methods in some of the wrapper interfaces.

The total size of the change is also relatively small (~500 LoC, a large portion of which is there because I needed a table of digest output sizes to generate reasonable default parameters, and of course there’s the wrapper overhead).

@glenner003
Copy link
Contributor

This PR has been approved and merged:
8b900230f
67a6730b

9bd3822c
bda972d1

@MatthiasValvekens
Copy link
Contributor Author

Closing this as it's been merged :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants