Data de Lançamento:
22 de junho de 2022[07/04/2023] revised to include missing versions for Windows 10, version 1607 and 1507
[07/24/2023] revised to add release details for July 11, 2023 Security and Quality Rollup resolution
Resumo
Este artigo fornece ajuda para mitigar um problema quando após a instalação das atualizações de 13 de junho de 2023 para .NET Framework e .NET, os utilizadores podem ter problemas com a forma como .NET Framework runtime importa Certificados X.509.
Sintoma
Ao utilizar a classe X509Certificate, X509Certificate2ou X509Certificate2Collectionpara importar um blob PKCS#12 que contenha uma chave privada, a aplicação de chamada pode observar a exceção abaixo.
-
System.Security.Cryptography.CryptographicException: O PKCS12 (PFX) sem uma palavra-passe fornecida excedeu as iterações máximas permitidas. Consulte https://go.microsoft.com/fwlink/?linkid=2233907 para obter mais informações.
Esta falha afeta os blobs PKCS#12 que foram exportados [por exemplo, através de X509Certificate.Export(X509ContentType.Pfx)] sem uma palavra-passe. A falha pode ocorrer de forma não determinista.
Solução
A Microsoft lançou instaladores atualizados para .NET Framework e .NET para resolver este problema. Estes instaladores podem ser aplicados ao computador afetado, independentemente de o computador já ter aplicado as atualizações de segurança originais de 13 de junho de 2023, .NET Framework e .NET.
Importante:
-
Se utilizou anteriormente os comutadores de registo documentados na atualização KB5025823 Alterar a forma como as aplicações .NET importam certificados X.509 para resolver este problema, remova esses comutadores de registo antes de instalar o novo patch. Execute os dois comandos abaixo a partir de uma linha de comandos elevada para remover os comutadores de registo.
-
reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32
-
reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64
Resolução
Este problema foi resolvido em atualizações fora de banda lançadas a 22 de junho de 2023, para .NET Framework 4.6.2 e versões mais recentes para versões do Windows e do Windows Server afetadas por este problema. Para obter o pacote autónomo para estas atualizações fora de banda, procure o número KB no Catálogo Microsoft Update. Pode importar manualmente estas atualizações para o Windows Server Update Services (WSUS) e o Microsoft Endpoint Configuration Manager. Para obter instruções sobre o WSUS, veja WSUS e o Site de Catálogo. Para obter instruções sobre o Configuration Manger, consulte Importar atualizações do Catálogo Microsoft Update.
Se utilizou alguma solução ou mitigação para este problema, estas já não são necessárias e recomendamos que as remova. Para remover a solução, reveja a solução alternativa ou solução alternativa que foi aplicada para obter instruções.
Versão do Produto |
Update |
|
---|---|---|
Windows 11, versão 22H2 |
||
.NET Framework 4.8.1 |
||
Windows 11, versão 21H2 |
||
.NET Framework 4.8 |
||
.NET Framework 4.8.1 |
||
Windows Server 2022 |
||
.NET Framework 4.8 |
||
.NET Framework 4.8.1 |
||
Azure Stack HCI, versão 22H2 |
||
.NET Framework 4.8 |
||
Azure Stack HCI, versão 21H2 |
||
.NET Framework 4.8 |
||
Windows 10 Versão 22H2 |
||
.NET Framework 4.8 |
||
.NET Framework 4.8.1 |
||
Windows 10 Versão 21H2 |
||
.NET Framework 4.8 |
||
.NET Framework 4.8.1 |
||
Windows 10 1809 (Atualização de Outubro de 2018) e Windows Server 2019 |
||
.NET Framework 4.7.2 |
||
.NET Framework 4.8 |
||
Windows 10 1607 (Atualização de Aniversário) e Windows Server 2016 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
Windows 10 1507 |
||
.NET Framework 4.6, 4.6.2 |
||
Windows Embedded 8.1 e Windows Server 2012 R2 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
Windows Embedded 8 e Windows Server 2012 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
Windows Embedded 7 Standard e Windows Server 2008 R2 SP1 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
todas as versões suportadas do Windows |
||
.NET 6.0.19 |
||
.NET 7.0.8 |
Este problema foi resolvido no rollup cumulativo normal lançado a 11 de julho de 2023 para todas as versões suportadas .NET Framework para as versões do Windows e do Windows Server afetadas por este problema. O Rollup de Segurança e Qualidade está disponível através de Windows Update, Windows Server Update Services e Catálogo Microsoft Update.
Nota: Os clientes que dependem de Windows Update e Windows Server Update Services receberão automaticamente as atualizações específicas da versão .NET Framework. Os administradores de sistema avançados também podem utilizar as ligações de transferência diretas do Catálogo Microsoft Update abaixo para atualizações específicas de .NET Framework. Antes de aplicar estas atualizações, certifique-se de que revê cuidadosamente a aplicabilidade da versão .NET Framework, para garantir que só instala atualizações nos sistemas onde são aplicadas.
Se utilizou alguma solução ou mitigação para este problema, estas já não são necessárias e recomendamos que as remova. Para remover a solução, reveja a solução alternativa ou solução alternativa que foi aplicada para obter instruções.
Versão do Produto |
Update |
|
---|---|---|
Windows 11, versão 22H2 |
||
.NET Framework 3.5, 4.8.1 |
||
Windows 11, versão 21H2 |
||
.NET Framework 3.5, 4.8 |
||
.NET Framework 3.5, 4.8.1 |
||
Windows Server 2022 |
||
.NET Framework 3.5, 4.8 |
||
.NET Framework 3.5, 4.8.1 |
||
Azure Stack HCI, versão 22H2 |
||
.NET Framework 3.5, 4.8 |
||
Azure Stack HCI, versão 21H2 |
||
.NET Framework 3.5, 4.8 |
||
Windows 10 Versão 22H2 |
||
.NET Framework 3.5, 4.8 |
||
.NET Framework 3.5, 4.8.1 |
||
Windows 10 Versão 21H2 |
||
.NET Framework 3.5, 4.8 |
||
.NET Framework 3.5, 4.8.1 |
||
Windows 10 1809 (Atualização de Outubro de 2018) e Windows Server 2019 |
||
.NET Framework 3.5, 4.7.2 |
||
.NET Framework 3.5, 4.8 |
||
Windows 10 1607 (Atualização de Aniversário) e Windows Server 2016 |
||
.NET Framework 3.5, 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
Windows 10 1507 |
||
.NET Framework 3,5, 4.6, 4.6.2 |
||
Windows Embedded 8.1 e Windows Server 2012 R2 |
||
.NET Framework 3.5 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
Windows Embedded 8 e Windows Server 2012 |
||
.NET Framework 3.5 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
Windows Embedded 7 Standard e Windows Server 2008 R2 SP1 |
||
.NET Framework 3.5.1 |
||
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 |
||
.NET Framework 4.8 |
||
Windows Server 2008 SP2 |
||
.NET Framework 2.0, 3.0 |
||
.NET Framework 4.6.2 |
Atualizações afetadas
As seguintes versões .NET Framework e .NET são afetadas:
-
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, quando a atualização de segurança de 13 de junho de 2022 for instalada.
-
.NET Framework 4.8, quando a atualização de segurança de 13 de junho de 2022 estiver instalada.
-
.NET Framework 4.8.1, quando a atualização de segurança de 13 de junho de 2022 for instalada.
-
.NET 6.0.18.
-
.NET 7.0.7.
Perguntas Mais Frequentes (FAQs)
Quando é que esta alteração foi introduzida?
Esta alteração de comportamento foi introduzida em 13 de junho de 2022, atualizações de segurança para .NET e .NET Framework.
É necessário instalar esta nova atualização?
A instalação desta nova atualização só é necessária se a aplicação estiver a ter o problema descrito no cabeçalho "Sintoma" na parte superior deste artigo. Se não estiver a ter este problema, não é necessário instalar esta atualização.
Esta nova atualização substitui a atualização de 13 de junho de 2023 .NET Framework?
Não, não. Se estiver a utilizar .NET Framework, deve instalar primeiro o rollup de 13 de junho de 2023 ou as atualizações apenas de segurança antes de instalar a nova atualização de 22 de junho de 2023.
Esta nova atualização substitui o .NET 6.0.18 ou o .NET 7.0.7?
Sim, sim. Como parte desta atualização, também vamos lançar o .NET 6.0.19 e o .NET 7.0.8, sendo que ambos podem ser transferidos a partir de https://get.dot.net/. Estas versões destinam-se a substituir o .NET 6.0.18 e o .NET 7.0.7, que foram lançados a 13 de junho de 2023.
A única diferença entre o .NET 6.0.19/7.0.8 e o .NET 6.0.18/7.0.7 é a correção de compatibilidade mencionada acima. O .NET 6.0.19/ 7.0.8 não tem correções de segurança adicionais para além do que já foi publicado no .NET 6.0.18/ 7.0.7.
Informações sobre proteção e segurança
-
Proteger-se online: Segurança do Windows suporte
-
Saiba como protegemos contra ameaças cibernéticas: Microsoft Security