You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ChaCha20Poly1305.IsSupported always returns false on non-Windows #52482
It looks like ChaCha20Poly1305 is also available on Android for newer API levels, so it might be worth considering conditionally providing an implementation there as well.
Reacted by Levi Broderick, Filip Navara and Luis Alfredo Figueroa Bracamontes
what is your feeling on waiting for OpenSSL 3.0 work to be done? Do you think much or any work in this area would be impacted by it?
No concerns. Since we now work with OSSL3 using both direct and portable builds everything else is just preemptive cleanup (e.g. get wholly onto EVP_PKEY), which is why the effort got slightly backburnered.
@filipnavara instead of discovering the Swift toolchain on your own, you can try adding an enable_language(Swift) line in the CMakeLists.txt file. I think we use a new enough CMake on Mac that Swift support is built-in.
@jkoritzinsky Unfortunately it's only supported on Ninja and Xcode, not on Unix makefiles. Even on Ninja it doesn't quite mix well with other languages.
I am still evaluating how to improve the situation for static libraries consumed by apphost and Xamarin.
That sucks. Can you make sure to include a comment in the file that discovers the Swift tool chain explaining that so we know when looking back why we manually discover?
Sure. I don't even know if I will be able to make it work reliably for all use cases yet. I am trying different approaches and this was just first one that got far enough to produce some visible results.
@filipnavara you've gotten much further than I have, I think you found my branch (there are a couple) so feel free to take any scraps of code there that are helpful.
OpenSSL seems straight forward, so I will tackle that this afternoon.
In an effort to learn something new, I thought I would give the Android implementation a shot. Looks like there are at least some existing patterns I can follow for lighting-up functionality depending on the API Level (28+ for ChaCha20Poly1305).
Activity
jkoritzinsky commentedon May 7, 2021
It looks like ChaCha20Poly1305 is also available on Android for newer API levels, so it might be worth considering conditionally providing an implementation there as well.
vcsjones commentedon May 8, 2021
@bartonjs what is your feeling on waiting for OpenSSL 3.0 work to be done? Do you think much or any work in this area would be impacted by it?
bartonjs commentedon May 9, 2021
No concerns. Since we now work with OSSL3 using both direct and portable builds everything else is just preemptive cleanup (e.g. get wholly onto EVP_PKEY), which is why the effort got slightly backburnered.
filipnavara commentedon May 9, 2021
I started a proof of concept of the CryptoKit part (https://github.com/dotnet/runtime/compare/main...filipnavara:cryptokit?expand=1) but it's huge fight with CMake and Apple tools so far.
jkoritzinsky commentedon May 9, 2021
@filipnavara instead of discovering the Swift toolchain on your own, you can try adding an
enable_language(Swift)line in the CMakeLists.txt file. I think we use a new enough CMake on Mac that Swift support is built-in.filipnavara commentedon May 9, 2021
@jkoritzinsky Unfortunately it's only supported on Ninja and Xcode, not on Unix makefiles. Even on Ninja it doesn't quite mix well with other languages.
I am still evaluating how to improve the situation for static libraries consumed by apphost and Xamarin.
jkoritzinsky commentedon May 9, 2021
That sucks. Can you make sure to include a comment in the file that discovers the Swift tool chain explaining that so we know when looking back why we manually discover?
filipnavara commentedon May 9, 2021
Sure. I don't even know if I will be able to make it work reliably for all use cases yet. I am trying different approaches and this was just first one that got far enough to produce some visible results.
GrabYourPitchforks commentedon May 9, 2021
I updated the issue text with a bunch of check boxes for the various OSes. That way we can do the PRs piecemeal if that'd be easier.
If I missed any OS please feel free to update the issue text directly.
vcsjones commentedon May 9, 2021
@filipnavara you've gotten much further than I have, I think you found my branch (there are a couple) so feel free to take any scraps of code there that are helpful.
OpenSSL seems straight forward, so I will tackle that this afternoon.
4 remaining items
vcsjones commentedon May 14, 2021
In an effort to learn something new, I thought I would give the Android implementation a shot. Looks like there are at least some existing patterns I can follow for lighting-up functionality depending on the API Level (28+ for ChaCha20Poly1305).
jkoritzinsky commentedon May 14, 2021
If you have any questions on it, let me know and I can probably help out.
iSazonov commentedon Oct 25, 2022
It seems the issue can be closed.
vcsjones commentedon Oct 25, 2022
This is still tracking iOS/tvOS support for ChaCha20Poly1305 which currently has some blockers in to implement.
PiotrKowalski93 commentedon Jun 19, 2023
I have this problem on Window 10.
Using VisualStudio 2022, .Net 6
Below are details:
@jkoritzinsky
akoeplinger commentedon Jun 19, 2023
@PiotrKowalski93 your Windows version is too old, the algorithm is only supported in 10.0.20142 and later (see #45130)