KB5028608 .NET Framework 런타임에서 X.509 인증서를 가져오는 방법 변경

참고

출시된 날짜:
2022년 6월 22일

[07/04/2023] Windows 10, 버전 1607 및 1507에 대한 누락된 버전을 포함하도록 수정됨

[2023년 7월 24일] 2023 년 7월 11일 보안 및 품질 롤업 해상도에 대한 릴리스 세부 정보를 추가하도록 수정됨

요약​​

이 문서에서는 2023년 6월 13일, .NET Framework 및 .NET에 대한 업데이트를 설치한 후 사용자가 .NET Framework 런타임에서 X.509 인증서를 가져오는 방법에 문제가 발생할 수 있는 경우 문제를 완화하는 데 도움이 됩니다.

증상

, X509Certificate2또는 X509Certificate2Collection 클래스를 X509Certificate사용하여 프라이빗 키가 포함된 PKCS#12 Blob을 가져올 때 호출 애플리케이션은 아래 예외를 관찰할 수 있습니다.

  • System.Security.Cryptography.CryptographicException: 제공된 암호가 없는 PKCS12(PFX)가 허용되는 최대 반복을 초과했습니다. 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=2233907 참조하세요.

이 오류는 암호 없이 [예: 를 통해 X509Certificate.Export(X509ContentType.Pfx)] 내보낸 PKCS#12 Blob에 영향을 줍니다. 실패는 비결정적으로 발생할 수 있습니다.

해결 방법

Microsoft는 이 문제를 해결하기 위해 .NET Framework 및 .NET용 업데이트된 설치 관리자를 릴리스했습니다. 이러한 설치 관리자는 컴퓨터가 이미 2023년 6월 13일, .NET Framework 및 .NET 보안 업데이트를 적용했는지 여부에 관계없이 영향을 받는 컴퓨터에 적용할 수 있습니다.

중요

  • 이전에 이 문제를 해결하기 위해 .NET 애플리케이션이 X.509 인증서를 가져오는 방법의 변경 KB5025823 설명된 레지스트리 스위치를 사용한 경우 새 패치를 설치하기 전에 해당 레지스트리 스위치를 제거하세요. 관리자 권한 명령 프롬프트에서 아래 두 명령을 실행하여 레지스트리 스위치를 제거합니다.
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64

해결 방법

이 문제는 이 문제의 영향을 받는 Windows 및 Windows Server 버전의 .NET Framework 4.6.2 이상 버전에 대해 2023년 6월 22일 릴리스된 대역 외 업데이트에서 해결되었습니다. 이러한 대역 외 업데이트에 대한 독립 실행형 패키지를 얻으려면 Microsoft 업데이트 카탈로그에서 KB 번호를 검색합니다. 이러한 업데이트는 WSUS(Windows Server Update Services)와 Microsoft Endpoint Configuration Manager에 수동으로 가져올 수 있습니다. WSUS 지침은 WSUS 및 카탈로그 사이트를 참조하세요. 구성 관리 지침은 Microsoft 업데이트 카탈로그에서 업데이트 가져오기를 참조하세요.

이 문제에 대한 해결 방법이나 완화 방법을 사용한 경우 더 이상 필요하지 않으므로 제거하는 것이 좋습니다. 해결 방법을 제거하려면 지침에 적용된 해결 방법 또는 대체 해결 방법을 검토합니다.

제품 버전 업데이트
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년 10월 업데이트) 및 2019년 Windows Server
.NET Framework 4.7.2 카탈로그 5028588
.NET Framework 4.8 카탈로그 5028581
Windows 10 1607(1주년 업데이트) 및 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 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

이 문제는 이 문제의 영향을 받는 Windows 및 Windows Server 버전에 대해 지원되는 모든 .NET Framework 버전에 대해 2023년 7월 11일 릴리스된 정기적인 누적 롤업에서 해결되었습니다.  보안 및 품질 롤업은 Windows 업데이트, Windows Server Update Services 및 Microsoft 업데이트 카탈로그를 통해 사용할 수 있습니다.

참고: Windows 업데이트 및 Windows Server Update Services 사용하는 고객은 .NET Framework 버전별 업데이트를 자동으로 받습니다. 고급 시스템 관리자는 아래 직접 Microsoft 업데이트 카탈로그 다운로드 링크를 사용하여 .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년 10월 업데이트) 및 2019년 Windows Server 5028936
.NET Framework 3.5, 4.7.2 카탈로그 5028862
.NET Framework 3.5, 4.8 카탈로그 5028855
Windows 10 1607(1주년 업데이트) 및 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 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 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, 2022년 6월 13일 보안 업데이트가 설치되어 있습니다.
  • 4.8을 .NET Framework 2022년 6월 13일 보안 업데이트가 설치됩니다.
  • 4.8.1을 .NET Framework 2022년 6월 13일 보안 업데이트가 설치됩니다.
  • .NET 6.0.18.
  • .NET 7.0.7.

자주 묻는 질문(FAQ)

이 변경 내용은 언제 도입되었나요?

이러한 동작 변경은 .NET 및 .NET Framework 대한 보안 업데이트인 2022년 6월 13일에서 도입되었습니다.

이 새 업데이트를 설치해야 할까요?

이 새 업데이트를 설치하는 것은 애플리케이션이 이 문서의 맨 위에 있는 "증상" 제목에 설명된 문제가 발생하는 경우에만 필요합니다. 이 문제가 발생하지 않는 경우 이 업데이트를 설치할 필요가 없습니다.

이 새 업데이트는 2023년 6월 13일 .NET Framework 업데이트를 대체하나요?

아니요. .NET Framework 사용하는 경우 새 2023년 6월 22일 업데이트를 설치하기 전에 먼저 2023년 6월 13일 롤업 또는 보안 전용 업데이트를 설치해야 합니다.

이 새 업데이트가 .NET 6.0.18 또는 .NET 7.0.7을 대체하나요?

예. 이 업데이트의 일부로 https://get.dot.net/ 다운로드할 수 있는 .NET 6.0.19 및 .NET 7.0.8도 릴리스됩니다. 이러한 릴리스는 2023년 6월 13일에 릴리스된 .NET 6.0.18 및 .NET 7.0.7을 대체하기 위한 것입니다.

.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에 이미 게시된 것 이상의 추가 보안 수정 사항을 수행하지 않습니다.

보호 및 보안 관련 정보