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

[wasm] Enable crypto and related tests #37669

Closed
Tracked by #64488
steveisok opened this issue Jun 9, 2020 · 9 comments
Closed
Tracked by #64488

[wasm] Enable crypto and related tests #37669

steveisok opened this issue Jun 9, 2020 · 9 comments
Assignees
Labels
arch-wasm WebAssembly architecture area-System.Security
Milestone

Comments

@steveisok
Copy link
Member

The crypto tests are currently disabled since we are not shipping Wasm w/ openssl and interop w/ SubtleCrypto is not currently possible. Reasoning being, some of our .NET crypto API's are sync and all SubtleCrypto is async.

As of right now, something like Asyncify will not work for us either, but it's something we should continue to pay attention to.

@steveisok steveisok added arch-wasm WebAssembly architecture area-System.Security labels Jun 9, 2020
@ghost
Copy link

ghost commented Jun 9, 2020

Tagging subscribers to this area: @bartonjs, @vcsjones, @krwq
Notify danmosemsft if you want to be subscribed.

@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Jun 9, 2020
akoeplinger pushed a commit that referenced this issue Jun 29, 2020
Since the entire set of System.Security.Cryptography.* tests has been disabled on WASM recently in #37723, we need to let everyone know that those areas are not quite supported on WASM at the moment. In that case System.Security.Cryptography classes could throw PlatformNotSupportedException until some solution comes (#37669)
@marek-safar marek-safar removed the untriaged New issue has not been triaged by the area owner label Jun 30, 2020
@marek-safar marek-safar added this to the 6.0.0 milestone Jun 30, 2020
@steveisok steveisok changed the title [wasm] Enable crypto tests [wasm] Enable crypto and related tests Jul 2, 2020
kevinwkt pushed a commit to kevinwkt/runtimelab that referenced this issue Jul 15, 2020
Since the entire set of System.Security.Cryptography.* tests has been disabled on WASM recently in dotnet/runtime#37723, we need to let everyone know that those areas are not quite supported on WASM at the moment. In that case System.Security.Cryptography classes could throw PlatformNotSupportedException until some solution comes (dotnet/runtime#37669)
@pavelsavara
Copy link
Member

This document should be updated when we have the solution.
https://github.com/dotnet/runtime/blob/main/docs/design/features/cross-platform-cryptography.md

pavelsavara added a commit to pavelsavara/runtime that referenced this issue Jun 2, 2021
- [ActiveIssue] dotnet#37669 for missing crypto MD5
pavelsavara added a commit that referenced this issue Jun 2, 2021
- enable System.Net.Http.Functional.Tests on browser
- System.Net.Http.Functional.Tests to run in chrome instead of V8 via WasmTestOnBrowser
- ActiveIssue #34690 for WebSocket on Windows Mono
- fix Quic detection in test
- disable webSocket tests on Mono/Windows
- disable tests with MaxConnectionsPerServer not supported on Browser
- disable tests with Socket not supported on Browser
- disable tests with AutomaticDecompression not supported on Browser
- disable tests with UseProxy not supported on Browser
- disable tests with PreAuthenticate not supported on Browser
- disable tests with Credentials is not supported on Browser
- disable tests with Loopback server
- run outerloop on browser, rather than V8 only
- [ActiveIssue] #37669 for missing crypto MD5
- conditional tests with PlatformDetection.IsBrowserDomSupportedOrNotBrowser to allow System.Net.Http.Functional.Tests pass on V8
- disabled tests with #53018
- disabled tests with #53591
- disabled tests with #53592
@ilonatommy
Copy link
Member

@steveisok, any recent thoughts on this? Are there any chances to do it for dotnet 7?

@steveisok
Copy link
Member Author

Now that there is a build with wasm threads enabled, this should be possible. #70461 will make it easier to configure.

@ilonatommy
Copy link
Member

@lewing can you help with assigning?

@bartonjs
Copy link
Member

@steveisok Would "wasm threads" a) mean that we could just use simple sync over async for the crypto API, not have to write our own message pump thing, and b) mean that there are now race conditions possible in the message pump and we have to harden it?

@steveisok
Copy link
Member Author

@steveisok Would "wasm threads" a) mean that we could just use simple sync over async for the crypto API, not have to write our own message pump thing, and b) mean that there are now race conditions possible in the message pump and we have to harden it?

I'm not sure. We're going to have to try and see if sync over async works with the crypto API. The behavior of wasm threads can be a little strange.

@lewing lewing modified the milestones: 7.0.0, 8.0.0 Jul 25, 2022
@pavelsavara pavelsavara assigned radical and pavelsavara and unassigned maraf Aug 8, 2022
@pavelsavara
Copy link
Member

@lewing @eerhardt could this be closed now ?

@eerhardt
Copy link
Member

Given the plan laid out in #40074 (comment) and #73858, I think it should be closed.

@ghost ghost locked as resolved and limited conversation to collaborators Sep 29, 2022
@jeffhandley jeffhandley modified the milestones: 8.0.0, 7.0.0 Jan 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-System.Security
Projects
None yet
Development

No branches or pull requests