APIs System.Security.Cryptography não possuem suporte no Blazor WebAssembly
As APIs System.Security.Cryptography geram um PlatformNotSupportedException em tempo de execução quando executadas em um navegador.
Descrição das alterações
Nas versões anteriores do .NET, a maioria das APIs System.Security.Cryptography não estava disponível para aplicativos Blazor WebAssembly. A partir do .NET 5, os aplicativos Blazor WebAssembly têm como destino a área de superfície completa da API do .NET 5. No entanto, nem todas as APIs do .NET 5 têm suporte devido a restrições de área restrita do navegador. No .NET 5 e versões posteriores, as APIs System.Security.Cryptography sem suporte geram um PlatformNotSupportedException quando são executadas no WebAssembly.
Dica
O analisador de compatibilidade da plataforma sinalizará todas as chamadas para as APIs afetadas ao criar um projeto que dê suporte à plataforma do navegador. Esse analisador é executado por padrão em aplicativos .NET 5 e posteriores.
Motivo da alteração
A Microsoft não consegue enviar o OpenSSL como uma dependência na configuração do Blazor WebAssembly. Tentamos contornar isso tentando nos integrar à API SubtleCrypto
do navegador. Infelizmente, isso exigiu mudanças significativas na API que dificultaram a integração.
Versão introduzida
5,0
Ação recomendada
Não há boas soluções alternativas para sugerir no momento.
APIs afetadas
Todas as APIs System.Security.Cryptography, exceto as seguintes:
System.Security.Cryptography.RandomNumberGenerator
System.Security.Cryptography.IncrementalHash
System.Security.Cryptography.SHA1
System.Security.Cryptography.SHA256
System.Security.Cryptography.SHA384
System.Security.Cryptography.SHA512
System.Security.Cryptography.SHA1Managed
System.Security.Cryptography.SHA256Managed
System.Security.Cryptography.SHA384Managed
System.Security.Cryptography.SHA512Managed
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de