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

Support Rfc3279 signature format for DSA and EcDSA #1612

Merged
merged 41 commits into from
Mar 18, 2020

Conversation

krwq
Copy link
Member

@krwq krwq commented Jan 10, 2020

Fixes: #31548

Please see the issue for more details.

@krwq krwq requested a review from bartonjs January 10, 2020 18:34
Copy link
Member

@bartonjs bartonjs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Partial review, will resume later.


protected virtual bool TryCreateSignatureCore(ReadOnlySpan<byte> hash, Span<byte> destination, DSASignatureFormat signatureFormat, out int bytesWritten)
{
// This method is expected to be overriden with better implementation
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When we update the docs for this class will we recommend falling back to this implementation for an unknown signature format, since we'd theoretically handle it in ConvertIeeeP1363Signature for them?

Alternatively, do we want to add something so a derived type can report whether or not it directly handles a format, so that we understand when to apply an 1363-to-destination-scheme strategy?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Maybe it's moot since there're only the two, but I like to think ahead)

@krwq krwq added the NO-REVIEW Experimental/testing PR, do NOT review it label Jan 15, 2020
@krwq
Copy link
Member Author

krwq commented Jan 15, 2020

Marking as NO REVIEW until I figure out all the failures and fix build issues on non-Windows and fix all feedback so far

This accounts for:

* macOS not supporting DSA key generation
* macOS not supporting FIPS 186-3 DSA
* DSACryptoServiceProvider not supporting FIPS 186-3 DSA
* Testing the signature format tests on the concrete types, as well as the opaque ones.
@bartonjs bartonjs removed the NO-REVIEW Experimental/testing PR, do NOT review it label Feb 24, 2020
Copy link
Member

@GrabYourPitchforks GrabYourPitchforks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some questions about edge cases and error handling, but otherwise seems solid. :)

@bartonjs bartonjs merged commit 960b9a8 into dotnet:master Mar 18, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 11, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support Rfc3279 signature format for DSA and EcDSA
6 participants