KB5028608 Изменение импорта сертификатов X.509 в среде выполнения платформа .NET Framework

Примечание

Дата выпуска:
22 июня 2022 г.

[04.07.2023] Изменено, чтобы включить отсутствующие версии для Windows 10 версии 1607 и 1507

[24.07.2023] Изменено добавление сведений о выпуске для решения накопительного пакета безопасности и качества от 11 июля 2023 г.

Сводка

Эта статья поможет устранить проблему, когда после установки обновлений для платформа .NET Framework и .NET от 13 июня 2023 г. у пользователей могут возникнуть проблемы с импортом сертификатов X.509 платформа .NET Framework среды выполнения.

Проблема

При использовании X509Certificateкласса , X509Certificate2или X509Certificate2Collection для импорта большого двоичного объекта PKCS#12, содержащего закрытый ключ, вызывающее приложение может наблюдать приведенное ниже исключение.

  • System.Security.Cryptography.CryptographicException: PKCS12 (PFX) без указанного пароля превысил максимально допустимые итерации. Дополнительные сведения см. в https://go.microsoft.com/fwlink/?linkid=2233907.

Этот сбой влияет на большие двоичные объекты PKCS#12, экспортированные [например, через X509Certificate.Export(X509ContentType.Pfx)] без пароля. Сбой может произойти недетерминированно.

Возможное решение

Корпорация Майкрософт выпустила обновленные установщики для платформа .NET Framework и .NET для решения этой проблемы. Эти установщики могут быть применены к затронутой машине независимо от того, применены ли на компьютере исходные обновления системы безопасности от 13 июня 2023 г. платформа .NET Framework и .NET.

Важно

  • Если ранее вы использовали параметры реестра, описанные в статье KB5025823 Изменить способ импорта сертификатов X.509 приложениями .NET для решения этой проблемы, удалите эти параметры реестра перед установкой нового исправления. Выполните две приведенные ниже команды из командной строки с повышенными привилегиями, чтобы удалить параметры реестра.
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64

Решение

Эта проблема устранена в обновлениях вне диапазона, выпущенных 22 июня 2023 г. для платформа .NET Framework 4.6.2 и более поздних версий для Windows и Windows Server версий, затронутых этой проблемой. Чтобы получить автономный пакет для этих внеполосных обновлений, найдите номер базы знаний в каталоге Центра обновления Майкрософт. Вы можете вручную импортировать эти обновления в Windows Server Update Services (WSUS) и Microsoft Endpoint Configuration Manager. Инструкции по WSUS см. в разделе WSUS и сайт каталога. Инструкции по диспетчеру конфигурации см . в разделе Импорт обновлений из каталога Центра обновления Майкрософт.

Если вы использовали какие-либо временные решения или способы устранения этой проблемы, они больше не нужны, и мы рекомендуем вам удалить их. Чтобы удалить обходной путь, ознакомьтесь с обходным решением или альтернативным обходным решением, которое было применено для получения инструкций.

Версия продукта Обновление
Windows 11 версии 22H2
платформа .NET Framework 4.8.1 Каталог 5028576
Windows 11 версии 21H2
платформа .NET Framework 4.8 Каталог 5028582
платформа .NET Framework 4.8.1 Каталог 5028575
Windows Server 2022 г.
платформа .NET Framework 4.8 Каталог 5028584
платформа .NET Framework 4.8.1 Каталог 5028578
Azure Stack HCI версии 22H2
платформа .NET Framework 4.8 Каталог 5028584
Azure Stack HCI версии 21H2
платформа .NET Framework 4.8 Каталог 5028584
Windows 10 версия 22H2
платформа .NET Framework 4.8 Каталог 5028579
платформа .NET Framework 4.8.1 Каталог 5028574
Windows 10 версии 21H2
платформа .NET Framework 4.8 Каталог 5028579
платформа .NET Framework 4.8.1 Каталог 5028574
Windows 10 1809 (обновление за октябрь 2018 г.) и Windows Server 2019 г.
платформа .NET Framework 4.7.2 Каталог 5028588
платформа .NET Framework 4.8 Каталог 5028581
Windows 10 1607 (юбилейное обновление) и Windows Server 2016
платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5028623
платформа .NET Framework 4.8 Каталог 5028580
Windows 10 1507
платформа .NET Framework 4.6, 4.6.2 Каталог 5028622
Windows Embedded 8.1 и Windows Server 2012 R2
платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5028590
платформа .NET Framework 4.8 Каталог 5028585
Windows Embedded 8 и Windows Server 2012
платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5028589
платформа .NET Framework 4.8 Каталог 5028583
Windows Embedded 7 Standard и Windows Server 2008 R2 с пакетом обновления 1 (SP1)
платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5028591
платформа .NET Framework 4.8 Каталог 5028586
все поддерживаемые версии Windows
.NET 6.0.19 Каталог 5028613
.NET 7.0.8 Каталог 5028614

Эта проблема устранена в обычном накопительном пакете, выпущенном 11 июля 2023 г. для всех поддерживаемых версий платформа .NET Framework для Windows и Windows Server версий, затронутых этой проблемой.  Накопительный пакет средств безопасности и качества доступен через клиентский компонент Центра обновления Windows, Windows Server Update Services и каталог Центра обновления Майкрософт.

Примечание: Клиенты, использующие клиентский компонент Центра обновления Windows и Windows Server Update Services, будут автоматически получать обновления платформа .NET Framework для конкретной версии. Опытные системные администраторы также могут использовать приведенные ниже прямые ссылки для загрузки каталога Центра обновления Майкрософт для платформа .NET Framework обновлений. Перед применением этих обновлений внимательно проверьте применимость версии платформа .NET Framework, чтобы установить обновления только в системах, где они применяются.

Если вы использовали какие-либо временные решения или способы устранения этой проблемы, они больше не нужны, и мы рекомендуем вам удалить их. Чтобы удалить обходной путь, ознакомьтесь с обходным решением или альтернативным обходным решением, которое было применено для получения инструкций.

Версия продукта Обновление
Windows 11 версии 22H2
платформа .NET Framework 3.5, 4.8.1 Каталог 5028851
Windows 11 версии 21H2
платформа .NET Framework 3.5, 4.8 Каталог 5028856
платформа .NET Framework 3.5, 4.8.1 Каталог 5028850
Windows Server 2022 г.
платформа .NET Framework 3.5, 4.8 Каталог 5028858
платформа .NET Framework 3.5, 4.8.1 Каталог 5028852
Azure Stack HCI версии 22H2 5028935
платформа .NET Framework 3.5, 4.8 Каталог 5028858
Azure Stack HCI версии 21H2 5028943
платформа .NET Framework 3.5, 4.8 Каталог 5028858
Windows 10 версия 22H2 5028937
платформа .NET Framework 3.5, 4.8 Каталог 5028853
платформа .NET Framework 3.5, 4.8.1 Каталог 5028849
Windows 10 версии 21H2 5028944
платформа .NET Framework 3.5, 4.8 Каталог 5028853
платформа .NET Framework 3.5, 4.8.1 Каталог 5028849
Windows 10 1809 (обновление за октябрь 2018 г.) и Windows Server 2019 г. 5028936
платформа .NET Framework 3.5, 4.7.2 Каталог 5028862
платформа .NET Framework 3.5, 4.8 Каталог 5028855
Windows 10 1607 (юбилейное обновление) и Windows Server 2016
платформа .NET Framework 3.5, 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5028169
платформа .NET Framework 4.8 Каталог 5028854
Windows 10 1507
платформа .NET Framework 3.5, 4.6, 4.6.2 Каталог 5028186
Windows Embedded 8.1 и Windows Server 2012 R2 5028941
.NET Framework 3.5 Каталог 5028872
платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5028864
платформа .NET Framework 4.8 Каталог 5028859
Windows Embedded 8 и Windows Server 2012 5028940
.NET Framework 3.5 Каталог 5028869
платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5028863
платформа .NET Framework 4.8 Каталог 5028857
Windows Embedded 7 Standard и Windows Server 2008 R2 с пакетом обновления 1 (SP1) 5028939
платформа .NET Framework 3.5.1 Каталог 5028871
платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Каталог 5028865
платформа .NET Framework 4.8 Каталог 5028860
Windows Server 2008 с пакетом обновления 2 (SP2) 5028942
платформа .NET Framework 2.0, 3.0 Каталог 5028870
.NET Framework 4.6.2 Каталог 5028865

Затронутые обновления

Затрагиваются следующие версии платформа .NET Framework и .NET:

  • платформа .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 при установке обновления для системы безопасности от 13 июня 2022 г.
  • платформа .NET Framework 4.8, когда 13 июня 2022 г. устанавливается обновление для системы безопасности.
  • платформа .NET Framework 4.8.1 при установке обновления для системы безопасности от 13 июня 2022 г.
  • .NET 6.0.18.
  • .NET 7.0.7.

Часто задаваемые вопросы (часто задаваемые вопросы)

Когда было введено это изменение?

Это изменение в поведении появилось в обновлениях для системы безопасности для .NET и платформа .NET Framework от 13 июня 2022 г.

Нужно ли установить это новое обновление?

Установка этого нового обновления необходима только в том случае, если в вашем приложении возникла проблема, описанная в заголовке "Симптом" в верхней части этой статьи. Если у вас нет этой проблемы, вам не нужно устанавливать это обновление.

Заменяет ли это новое обновление от 13 июня 2023 г. платформа .NET Framework обновление?

Нет. Если вы используете платформа .NET Framework, сначала установите накопительный пакет обновлений от 13 июня 2023 г. или обновления только для системы безопасности, прежде чем устанавливать новое обновление от 22 июня 2023 г.

Заменяет ли это новое обновление .NET 6.0.18 или .NET 7.0.7?

Да. В рамках этого обновления мы также выпускаем .NET 6.0.19 и .NET 7.0.8, которые можно скачать с https://get.dot.net/. Эти выпуски предназначены для замены .NET 6.0.18 и .NET 7.0.7, выпущенных 13 июня 2023 г.

Единственное различие между .NET 6.0.19 / 7.0.8 и .NET 6.0.18 / 7.0.7 заключается в исправлении совместимости, упомянутом выше. .NET 6.0.19/ 7.0.8 не содержат никаких дополнительных исправлений безопасности за пределами уже опубликованных в .NET 6.0.18/ 7.0.7.

Сведения о защите и безопасности