KB5028608 Modifica della modalità di importazione dei certificati X.509 da parte del runtime di .NET Framework

Nota

Data di rilascio:
Giugno 22, 2022

[07/04/2023] rivisto per includere le versioni mancanti per Windows 10, versioni 1607 e 1507

[24/07/2023] rivisto per aggiungere dettagli sulla versione per l'11 luglio 2023 Risoluzione rollup sicurezza e qualità

Riepilogo

Questo articolo fornisce un aiuto per mitigare un problema quando, dopo l'installazione degli aggiornamenti del 13 giugno 2023 per .NET Framework e .NET, gli utenti potrebbero riscontrare problemi con il modo in cui il runtime di .NET Framework importa i certificati X.509.

Sintomo

Quando si usa la X509Certificateclasse , X509Certificate2, o X509Certificate2Collection per importare un BLOB PKCS#12 contenente una chiave privata, l'applicazione chiamante potrebbe osservare l'eccezione seguente.

  • System.Security.Cryptography.CryptographicException: PKCS12 (PFX) senza una password specificata ha superato il numero massimo consentito di iterazioni. Per ulteriori informazioni, vedere https://go.microsoft.com/fwlink/?linkid=2233907.

Questo errore interessa i BLOB PKCS#12 che sono stati esportati [ad esempio, tramite X509Certificate.Export(X509ContentType.Pfx)] senza password. L'errore può verificarsi in modo non deterministico.

Soluzione alternativa

Microsoft ha rilasciato programmi di installazione aggiornati per .NET Framework e .NET per risolvere questo problema. Questi programmi di installazione possono essere applicati al computer interessato indipendentemente dal fatto che il computer abbia già applicato gli aggiornamenti originali del 13 giugno 2023, .NET Framework e .NET security.

Importante

  • Se in precedenza sono state usate le opzioni del Registro di sistema documentate in KB5025823 Modifica nel modo in cui le applicazioni .NET importano i certificati X.509 per risolvere questo problema, rimuovere tali opzioni del Registro di sistema prima di installare la nuova patch. Eseguire i due comandi seguenti da un prompt dei comandi con privilegi elevati per rimuovere le opzioni del Registro di sistema.
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64

Risoluzione

Questo problema è stato risolto negli aggiornamenti fuori banda rilasciati il 22 giugno 2023 per .NET Framework 4.6.2 e versioni più recenti per Windows e le versioni di Windows Server interessate da questo problema. Per ottenere il pacchetto autonomo per questi aggiornamenti fuori banda, cercare il numero KB nel Catalogo di Microsoft Update. È possibile importare manualmente gli aggiornamenti in Windows Server Update Services (WSUS) e Microsoft Endpoint Configuration Manager. Per istruzioni su WSUS, vedere WSUS e il sito del catalogo. Per istruzioni su Configuration Manger, vedere Importare gli aggiornamenti dal Catalogo di Microsoft Update.

Se hai usato soluzioni alternative o mitigazioni per questo problema, non sono più necessarie e ti consigliamo di rimuoverle. Per rimuovere la soluzione alternativa, esaminare la soluzione alternativa o la soluzione alternativa applicata per le istruzioni.

Versione del prodotto Aggiorna Articolo della Knowledge Base
Windows 11, versione 22H2
.NET Framework 4.8.1 Catalogo 5028576
Windows 11, versione 21H2
.NET Framework 4.8 Catalogo 5028582
.NET Framework 4.8.1 Catalogo 5028575
Windows Server 2022
.NET Framework 4.8 Catalogo 5028584
.NET Framework 4.8.1 Catalogo 5028578
Azure Stack HCI, versione 22H2
.NET Framework 4.8 Catalogo 5028584
Azure Stack HCI, versione 21H2
.NET Framework 4.8 Catalogo 5028584
Windows 10, versione 22H2
.NET Framework 4.8 Catalogo 5028579
.NET Framework 4.8.1 Catalogo 5028574
Windows 10, versione 21H2
.NET Framework 4.8 Catalogo 5028579
.NET Framework 4.8.1 Catalogo 5028574
Windows 10 1809 (aggiornamento di ottobre 2018) e Windows Server 2019
.NET Framework 4.7.2 Catalogo 5028588
.NET Framework 4.8 Catalogo 5028581
Windows 10 1607 (Aggiornamento dell'anniversario) e Windows Server 2016
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalogo 5028623
.NET Framework 4.8 Catalogo 5028580
Windows 10 1507
.NET Framework 4.6, 4.6.2 Catalogo 5028622
Windows Embedded 8.1 e Windows Server 2012 R2
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalogo 5028590
.NET Framework 4.8 Catalogo 5028585
Windows Embedded 8 e Windows Server 2012
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalogo 5028589
.NET Framework 4.8 Catalogo 5028583
Windows Embedded 7 Standard e Windows Server 2008 R2 SP1
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalogo 5028591
.NET Framework 4.8 Catalogo 5028586
tutte le versioni di Windows supportate
.NET 6.0.19 Catalogo 5028613
.NET 7.0.8 Catalogo 5028614

Questo problema è stato risolto nel normale rollup cumulativo rilasciato l'11 luglio 2023 per tutte le versioni .NET Framework supportate per Windows e le versioni di Windows Server interessate da questo problema.  L'aggiornamento cumulativo di sicurezza e qualità è disponibile tramite Windows Update, Windows Server Update Services e Microsoft Update Catalog.

Nota: I clienti che si affidano a Windows Update e Windows Server Update Services riceveranno automaticamente gli aggiornamenti specifici della versione di .NET Framework. Gli amministratori di sistema avanzati possono inoltre utilizzare i collegamenti per il download diretti di Microsoft Update Catalog riportati di seguito per gli aggiornamenti specifici di .NET Framework. Prima di applicare questi aggiornamenti, assicurarsi di esaminare attentamente l'applicabilità della versione di .NET Framework, per assicurarsi di installare gli aggiornamenti solo nei sistemi in cui sono applicabili.

Se hai usato soluzioni alternative o mitigazioni per questo problema, non sono più necessarie e ti consigliamo di rimuoverle. Per rimuovere la soluzione alternativa, esaminare la soluzione alternativa o la soluzione alternativa applicata per le istruzioni.

Versione del prodotto Aggiorna Articolo della Knowledge Base
Windows 11, versione 22H2
.NET Framework 3.5, 4.8.1 Catalogo 5028851
Windows 11, versione 21H2
.NET Framework 3.5, 4.8 Catalogo 5028856
.NET Framework 3.5, 4.8.1 Catalogo 5028850
Windows Server 2022
.NET Framework 3.5, 4.8 Catalogo 5028858
.NET Framework 3.5, 4.8.1 Catalogo 5028852
Azure Stack HCI, versione 22H2 5028935
.NET Framework 3.5, 4.8 Catalogo 5028858
Azure Stack HCI, versione 21H2 5028943
.NET Framework 3.5, 4.8 Catalogo 5028858
Windows 10, versione 22H2 5028937
.NET Framework 3.5, 4.8 Catalogo 5028853
.NET Framework 3.5, 4.8.1 Catalogo 5028849
Windows 10, versione 21H2 5028944
.NET Framework 3.5, 4.8 Catalogo 5028853
.NET Framework 3.5, 4.8.1 Catalogo 5028849
Windows 10 1809 (aggiornamento di ottobre 2018) e Windows Server 2019 5028936
.NET Framework 3.5, 4.7.2 Catalogo 5028862
.NET Framework 3.5, 4.8 Catalogo 5028855
Windows 10 1607 (Aggiornamento dell'anniversario) e Windows Server 2016
.NET Framework 3.5, 4.6.2, 4.7, 4.7.1, 4.7.2 Catalogo 5028169
.NET Framework 4.8 Catalogo 5028854
Windows 10 1507
.NET Framework 3.5, 4.6, 4.6.2 Catalogo 5028186
Windows Embedded 8.1 e Windows Server 2012 R2 5028941
.NET Framework 3.5 Catalogo 5028872
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalogo 5028864
.NET Framework 4.8 Catalogo 5028859
Windows Embedded 8 e Windows Server 2012 5028940
.NET Framework 3.5 Catalogo 5028869
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalogo 5028863
.NET Framework 4.8 Catalogo 5028857
Windows Embedded 7 Standard e Windows Server 2008 R2 SP1 5028939
.NET Framework 3.5.1 Catalogo 5028871
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Catalogo 5028865
.NET Framework 4.8 Catalogo 5028860
Windows Server 2008 SP2 5028942
.NET Framework 2.0, 3.0 Catalogo 5028870
.NET Framework 4.6.2 Catalogo 5028865

Aggiornamenti interessati

Sono interessate le versioni di .NET Framework e .NET seguenti:

  • .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, quando viene installato l'aggiornamento della sicurezza del 13 giugno 2022.
  • .NET Framework 4.8, quando viene installato l'aggiornamento della sicurezza del 13 giugno 2022.
  • .NET Framework 4.8.1, quando viene installato l'aggiornamento della sicurezza del 13 giugno 2022.
  • .NET 6.0.18.
  • .NET 7.0.7.

Domande frequenti

Quando è stata introdotta questa modifica?

Questa modifica al comportamento è stata introdotta negli aggiornamenti di sicurezza per .NET e .NET Framework del 13 giugno 2022.

È necessario installare questo nuovo aggiornamento?

L'installazione di questo nuovo aggiornamento è necessaria solo se l'applicazione riscontra il problema descritto nell'intestazione "Sintomo" all'inizio di questo articolo. Se non si verifica questo problema, non è necessario installare questo aggiornamento.

Questo nuovo aggiornamento sostituisce l'aggiornamento .NET Framework del 13 giugno 2023?

No. Se si utilizza .NET Framework, è necessario installare prima l'aggiornamento cumulativo o di sola sicurezza del 13 giugno 2023 prima di installare il nuovo aggiornamento del 22 giugno 2023.

Questo nuovo aggiornamento sostituisce .NET 6.0.18 o .NET 7.0.7?

Sì. Come parte di questo aggiornamento, verranno rilasciate anche .NET 6.0.19 e .NET 7.0.8, che possono essere scaricate da https://get.dot.net/. Queste versioni sono destinate a sostituire .NET 6.0.18 e .NET 7.0.7, rilasciate il 13 giugno 2023.

L'unica differenza tra .NET 6.0.19/7.0.8 e .NET 6.0.18/7.0.7 è la correzione per la compatibilità indicata in precedenza. .NET 6.0.19/7.0.8 non contiene correzioni di sicurezza aggiuntive oltre a quelle già pubblicate in .NET 6.0.18/7.0.7.

Informazioni sulla protezione e la sicurezza