KB5028608 Alteração na forma como .NET Framework runtime importa certificados X.509

Observação

Data de lançamento:
22 de junho de 2022

[04/07/2023] revisado para incluir versões ausentes para o Windows 10, versão 1607 e 1507

[24/07/2023] revisado para adicionar detalhes de versão para 11 de julho de 2023 Resolução de Pacote Cumulativo de Segurança e Qualidade

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 o .NET Framework e o .NET, os usuários podem ter problemas com a forma como o .NET Framework importa certificados X.509.

Sintoma

Ao usar a X509Certificateclasse , X509Certificate2, ou X509Certificate2Collection para importar um blob PKCS#12 contendo uma chave privada, o aplicativo de chamada pode observar a exceção abaixo.

  • System.Security.Cryptography.CryptographicException: PKCS12 (PFX) sem uma senha fornecida excedeu o máximo de iterações permitidas. Consulte https://go.microsoft.com/fwlink/?linkid=2233907 para obter mais informações.

Essa falha afeta os blobs PKCS #12 que foram exportados [por exemplo, via X509Certificate.Export(X509ContentType.Pfx)] sem uma senha. A falha pode ocorrer de forma não determinística.

Solução alternativa

A Microsoft lançou instaladores atualizados para o .NET Framework e o .NET para resolver esse problema. Esses instaladores podem ser aplicados ao computador afetado independentemente de o computador já ter aplicado as atualizações de segurança originais do .NET Framework e do .NET de 13 de junho de 2023.

Importante

  • Se você tiver usado anteriormente as opções de registro documentadas em KB5025823 Alteração na forma como os aplicativos .NET importam certificados X.509 para contornar esse problema, remova essas opções de registro antes de instalar o novo patch. Execute os dois comandos abaixo em um prompt de comando elevado para remover as opções do Registro.
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64

Resolução

Esse problema foi resolvido em atualizações fora de banda lançadas em 22 de junho de 2023 para o .NET Framework 4.6.2 e versões mais recentes para Windows e versões do Windows Server afetadas por esse problema. Para obter o pacote autônomo para essas atualizações fora de banda, pesquise o número da KB no Catálogo do Microsoft Update. Você pode importar manualmente essas atualizações para Windows Server Update Services (WSUS) e Microsoft Endpoint Configuration Manager. Para obter instruções do WSUS, consulte WSUS e o Site de Catálogo. Para obter instruções do Configuration Manager, consulte Importar atualizações do Catálogo do Microsoft Update.

Se você usou alguma solução alternativa ou mitigação para esse problema, eles não serão mais necessários e recomendamos removê-los. Para remover a solução alternativa, revise a solução alternativa ou a solução alternativa que foi aplicada para obter instruções.

Versão do Produto Atualizar
Windows 11, versão 22H2
.NET Framework 4.8.1 Catálogo 5028576
Windows 11, versão 21H2
.NET Framework 4.8 Catálogo 5028582
.NET Framework 4.8.1 Catálogo 5028575
Windows Server 2022
.NET Framework 4.8 Catálogo 5028584
.NET Framework 4.8.1 Catálogo 5028578
Azure Stack HCI, versão 22H2
.NET Framework 4.8 Catálogo 5028584
Azure Stack HCI, versão 21H2
.NET Framework 4.8 Catálogo 5028584
Windows 10 versão 22H2
.NET Framework 4.8 Catálogo 5028579
.NET Framework 4.8.1 Catálogo 5028574
Windows 10 Versão 21H2
.NET Framework 4.8 Catálogo 5028579
.NET Framework 4.8.1 Catálogo 5028574
Windows 10 1809 (atualização de outubro de 2018) e Windows Server 2019
.NET Framework 4.7.2 Catálogo 5028588
.NET Framework 4.8 Catálogo 5028581
Windows 10 versão 1607 (atualização de aniversário) e Windows Server 2016
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catálogo 5028623
.NET Framework 4.8 Catálogo 5028580
Windows 10 1507
.NET Framework 4.6, 4.6.2 Catálogo 5028622
Windows Embedded 8.1 e Windows Server 2012 R2
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catálogo 5028590
.NET Framework 4.8 Catálogo 5028585
Windows Embedded 8 e Windows Server 2012
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catálogo 5028589
.NET Framework 4.8 Catálogo 5028583
Windows Embedded 7 Standard e Windows Server 2008 R2 SP1
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catálogo 5028591
.NET Framework 4.8 Catálogo 5028586
todas as versões do Windows com suporte
.NET 6.0.19 Catálogo 5028613
.NET 7.0.8 Catálogo 5028614

Esse problema foi resolvido no pacote cumulativo regular lançado em 11 de julho de 2023 para todas as versões do .NET Framework com suporte para Windows e versões do Windows Server afetadas por esse problema.  O Pacote Cumulativo de Segurança e Qualidade está disponível no Windows Update, no Windows Server Update Services e no Catálogo do Microsoft Update.

Observação: Os clientes que dependem do Windows Update e do Windows Server Update Services receberão automaticamente as atualizações específicas da versão do .NET Framework. Os administradores de sistema avançados também podem usar os links de download diretos do Catálogo do Microsoft Update abaixo para atualizações específicas do .NET Framework. Antes de aplicar essas atualizações, certifique-se de examinar cuidadosamente a aplicabilidade da versão do .NET Framework, para garantir que você instala atualizações apenas em sistemas aos quais elas se aplicam.

Se você usou alguma solução alternativa ou mitigação para esse problema, eles não serão mais necessários e recomendamos removê-los. Para remover a solução alternativa, revise a solução alternativa ou a solução alternativa que foi aplicada para obter instruções.

Versão do Produto Atualizar
Windows 11, versão 22H2
.NET Framework 3.5, 4.8.1 Catálogo 5028851
Windows 11, versão 21H2
.NET Framework 3.5, 4.8 Catálogo 5028856
.NET Framework 3.5, 4.8.1 Catálogo 5028850
Windows Server 2022
.NET Framework 3.5, 4.8 Catálogo 5028858
.NET Framework 3.5, 4.8.1 Catálogo 5028852
Azure Stack HCI, versão 22H2 5028935
.NET Framework 3.5, 4.8 Catálogo 5028858
Azure Stack HCI, versão 21H2 5028943
.NET Framework 3.5, 4.8 Catálogo 5028858
Windows 10 versão 22H2 5028937
.NET Framework 3.5, 4.8 Catálogo 5028853
.NET Framework 3.5, 4.8.1 Catálogo 5028849
Windows 10 Versão 21H2 5028944
.NET Framework 3.5, 4.8 Catálogo 5028853
.NET Framework 3.5, 4.8.1 Catálogo 5028849
Windows 10 1809 (atualização de outubro de 2018) e Windows Server 2019 5028936
.NET Framework 3.5, 4.7.2 Catálogo 5028862
.NET Framework 3.5, 4.8 Catálogo 5028855
Windows 10 versão 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 Catálogo 5028169
.NET Framework 4.8 Catálogo 5028854
Windows 10 1507
.NET Framework 3.5, 4.6, 4.6.2 Catálogo 5028186
Windows Embedded 8.1 e Windows Server 2012 R2 5028941
.NET Framework 3.5 SP1 Catálogo 5028872
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catálogo 5028864
.NET Framework 4.8 Catálogo 5028859
Windows Embedded 8 e Windows Server 2012 5028940
.NET Framework 3.5 SP1 Catálogo 5028869
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catálogo 5028863
.NET Framework 4.8 Catálogo 5028857
Windows Embedded 7 Standard e Windows Server 2008 R2 SP1 5028939
.NET Framework 3.5.1 Catálogo 5028871
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catálogo 5028865
.NET Framework 4.8 Catálogo 5028860
Windows Server 2008 SP2 5028942
.NET Framework 2.0, 3.0 Catálogo 5028870
.NET Framework 4.6.2 Catálogo 5028865

Atualizações afetadas

As seguintes versões do ..NET Framework e do .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 for 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 frequentes

Quando essa alteração foi introduzida?

Essa alteração de comportamento foi introduzida nas atualizações de segurança de 13 de junho de 2022 para .NET e .NET Framework.

É necessário instalar essa nova atualização?

A instalação dessa nova atualização será necessária somente se o aplicativo estiver enfrentando o problema descrito no título "Sintoma" na parte superior deste artigo. Se você não estiver enfrentando esse problema, não há necessidade de instalar esta atualização.

Essa nova atualização substitui a atualização do .NET Framework de 13 de junho de 2023?

Não. Se você estiver usando o .NET Framework, primeiro instale o pacote cumulativo de 13 de junho de 2023 ou as atualizações somente 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. Como parte dessa atualização, também estamos lançando o .NET 6.0.19 e o .NET 7.0.8, que podem ser baixados do https://get.dot.net/. Essas versões destinam-se a substituir o .NET 6.0.18 e o .NET 7.0.7, que foram lançados em 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 contém nenhuma correção de segurança adicional além do que já foi publicado no .NET 6.0.18 / 7.0.7.

Informações sobre proteção e segurança