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

Consider embedding key derivation sources instead of relying on Microsoft.AspNetCore.Cryptography.KeyDerivation #22

Closed
kevinchalet opened this issue Jul 8, 2019 · 2 comments

Comments

@kevinchalet
Copy link

Hey @henkmollema,

As part of OpenIddict 3.0, I'd like to remove the Microsoft.AspNetCore.Cryptography.KeyDerivation dependency from the OpenIddict core package. I had to lobby hard to convince the ASP.NET team to keep DP compatible with .NET Standard 2.0, which motivated me to get rid of DP in the core stuff.

Do you think it would be possible to copy the key derivation classes you need from Microsoft.AspNetCore.Cryptography.KeyDerivation and ship a version of CryptoHelper with no dependency?

Cheers!

@henkmollema
Copy link
Owner

Microsoft will keep shipping .NET Standard 2.0 packages for Microsoft.AspNetCore.Cryptography.KeyDerivation right? Is it really a problem to keep using these packages then? KeyDerivation and its dependency Internal consists of 20-30 classes. Copying them and keeping them in up to date seems cumbersome and I'm not sure I would want to do that. What do you think?

@kevinchalet
Copy link
Author

Microsoft will keep shipping .NET Standard 2.0 packages for Microsoft.AspNetCore.Cryptography.KeyDerivation right?

Right, but they also said pretty clearly that DP was not intended to be used outside of ASP.NET Core: dotnet/aspnetcore#3774. I wouldn't be surprised if the .NET Standard 2.0 TFM was removed in the next major version.

Is it really a problem to keep using these packages then?

There's also a naming issue: the key derivation packages live in Microsoft.AspNetCore.*: OpenIddict 3.0 will be compatible with ASP.NET 4.x/OWIN/Katana and as part of this release, I'd like to remove this dependency (so things are less confusing for people using OpenIddict 3.0 in non-ASP.NET Core environments).

Copying them and keeping them in up to date seems cumbersome and I'm not sure I would want to do that.

It definitely makes sense and I can certainly understand that. I'll try to explore other options 😃

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

No branches or pull requests

2 participants