Nota
Data de lançamento:
22 de junho de 2022
[07/04/2023] revisto para incluir versões ausentes para Windows 10, versão 1607 e 1507
[24/07/2023] revisto para adicionar detalhes de lançamento para resolução de Rollup de Segurança e Qualidade de 11 de julho de 2023
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 poderão ter problemas com a forma como o .NET Framework runtime importa Certificados X.509.
Sintoma
Ao usar a X509Certificateclasse , X509Certificate2ou 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.
Esta falha afeta os blobs PKCS#12 que foram exportados [por exemplo, através X509Certificate.Export(X509ContentType.Pfx)de] sem uma palavra-passe. A falha pode ocorrer de forma não determinística.
Solução
A Microsoft disponibilizou instaladores atualizados para o .NET Framework e o .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 parâmetros de registo documentados em KB5025823 Alteração na forma como as aplicações .NET importam certificados X.509 para contornar este problema, remova esses parâmetros de registo antes de instalar a nova correção. Execute os dois comandos abaixo a partir de uma linha de comandos elevada para remover os parâmetros do registo.
reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64
Resolução
Este problema foi resolvido em atualizações extraordinárias lançadas a 22 de junho de 2023 para o .NET Framework 4.6.2 e versões mais recentes para Windows e versões Windows Server afetadas por este problema. Para obter o pacote autónomo para estas atualizações extraordinárias, 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, consulte 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 alternativa, reveja a solução ou solução alternativa que foi aplicada para obter as instruções.
| Versão do Produto | Atualização | Artigo da Base de Dados de Conhecimento |
|---|---|---|
| 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 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 suportadas | ||
| .NET 6.0.19 | Catálogo | 5028613 |
| .NET 7.0.8 | Catálogo | 5028614 |
Este problema foi resolvido no rollup cumulativo regular lançado a 11 de julho de 2023 para todas as versões de .NET Framework suportadas para Windows e versões Windows Server afetadas por este problema. O Rollup de Segurança e Qualidade está disponível através do Windows Update, Windows Server Update Services e Catálogo Microsoft Update.
Observação: Os clientes que dependem do Windows Update e do Windows Server Update Services irão receber automaticamente as .NET Framework atualizações específicas da versão. Os administradores de sistema avançados também podem utilizar as ligações de transferência direta do Catálogo Microsoft Update abaixo para .NET Framework atualizações específicas. 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 em que se aplicam.
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 alternativa, reveja a solução ou solução alternativa que foi aplicada para obter as instruções.
| Versão do Produto | Atualização | Artigo da Base de Dados de Conhecimento |
|---|---|---|
| Windows 11, versão 22H2 | ||
| .NET Framework 3.5 e 4.8.1 | Catálogo | 5028851 |
| Windows 11, versão 21H2 | ||
| .NET Framework 3.5, 4.8 | Catálogo | 5028856 |
| .NET Framework 3.5 e 4.8.1 | Catálogo | 5028850 |
| Windows Server 2022 | ||
| .NET Framework 3.5, 4.8 | Catálogo | 5028858 |
| .NET Framework 3.5 e 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 e 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 e 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 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 | 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 | 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 .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 é instalada.
- .NET Framework 4.8.1, quando a atualização de segurança de 13 de junho de 2022 é instalada.
- .NET 6.0.18.
- .NET 7.0.7.
Perguntas Frequentes (FAQs)
Quando foi introduzida esta alteração?
Esta 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 esta nova atualização?
A instalação desta nova atualização é necessária apenas se a sua aplicação estiver a ter o problema descrito no título "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 .NET Framework de 13 de junho de 2023?
Não. Se estiver a utilizar o .NET Framework, deve primeiro instalar o rollup de 13 de junho de 2023 ou 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. Como parte desta 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/. 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 carrega 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
- Proteger-se online: suporte Segurança do Windows
- Saiba como nos protegemos contra ciberameaças: Microsoft Security