Applies To.NET Framework 4.6

檢視本文適用的產品。

摘要

此 Microsoft .NET Framework 的安全性更新解決 .NET Framework (和 .NET Core) 元件無法完全驗證憑證時存在的安全性功能略過弱點。 若要深入了解此弱點,請參閱 Microsoft 一般弱點及安全風險 CVE-2017-0248

此更新還包含對 Windows Presentation Framework PackageDigitalSignatureManager 元件使用 SHA256 散列算法簽署套件的能力的安全性增強修正。

重要

  • 如果您在安裝此更新之後安裝語言套件,您必須重新安裝此更新。 因此,我們建議您在安裝此更新前,先安裝任何需要的語言套件。 如需詳細資訊,請參閱將語言套件新增到 Windows

此安全性更新的其他相關資訊

警告

如果您使用「登錄編輯程式」或其他方法不當地修改登錄,可能會發生嚴重問題。 您可能需要重新安裝作業系統才能解決這些問題。 Microsoft 不保證可以解決這些問題。 請自行承擔修改登錄的一切風險。

  • 增強型金鑰使用 (EKU) 在 第 4.2.1.12 節中的 RFC 5280中進行了描述: 除了或代替在金鑰使用擴展中指示的基本目的之外,該擴展表示可以使用經驗證 的公開金鑰的一個或多個目的。 例如,用’於用戶端到伺服器驗證的憑證必須設定為用戶端驗證。 同樣的,用’於伺服器驗證的憑證必須設定為伺服器驗證。 當憑證用於驗證時,驗證器檢查用戶端憑證並在應用程式策略擴展中查找正確的目標物件識別碼。 例如,用戶端驗證的物件識別碼為 1.3.6.1.5.5.7.3.2。 當憑證用於用戶端驗證時,該物件識別碼必須存在於憑證的 EKU 延伸中,否則驗證失敗。 沒有 EKU 擴展的憑證繼續正確驗證。 如果您暫時 無’法正確訪問重新發行的憑證,您可以在所有電腦運行中選擇加入或者選擇退出安全性更改以避免任何連接影響。 若要執行這項操作,根據您的應用程式設為目標的的 .NET Framework 版本,指定以下登錄機碼設定。方法 1: 更新登錄機碼(適用於所有版本)注意:此登錄項目必須為 DWORD 項目。

    • 適用於 32 位元系統上的 32 位元處理程序,以及 64 位元系統上的 64 位元處理程序:

      HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319@RequireCertificateEKUs=0

    • 適用於 64 位元系統上的 32 位元處理程序:

      HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\.NETFramework\v4.0.30319@RequireCertificateEKUs=0

    您也可以根據每個應用程式選擇退出。 以下選項可用於停用此項更改以確保 應用程式相容性得到維護。方法 2: 停用個別應用程式的策略注意: 此登錄項目必須為 DWORD 項目。 唯一有效的值是 0。 任何其他值都被忽略。

    • 適用於 32 位元系統上的 32 位元處理程序,以及 64 位元系統上的 64 位元處理程序:

      HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319@System.Net.ServicePointManager.RequireCertificateEKUs S:\Prj\console_pg\console_pg45\bin\Release\console_pg45.exe=0 C:\MyApp\MyApp.exe=0

    • 適用於 64 位元系統上的 32 位元處理程序:

      HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\.NETFramework\v4.0.30319@System.Net.ServicePointManager.RequireCertificateEKUs S:\Prj\console_pg\console_pg45\bin\Release\console_pg45.exe=0 C:\MyApp\MyApp.exe=0

    方法 3: 使用設定 API(適用於 .NET Framework 4.6 及更高版本) 從 .NET Framework 4.6 開始,您可以透過程式碼、應用程式設定或者登錄更改來更改應用程式層級的設定。設定 .NET Framework 4.6中的參數注意: 下列範例 不使用安全性功能

    • 程式設計方式 應用程式應該做的第一件事就是 執行下列程式碼。 這是因為 Service Point Manager 只會初始化一次。   private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching"; private const string DontCheckCertificateEKUsName= @"Switch.System.Net.DontCheckCertificateEKUs"; AppContext.SetSwitch(DisableCachingName, true); AppContext.SetSwitch(DontCheckCertificateEKUsName, true);

    • 應用程式設定 若要變更應用程式設定,請新增下列項目︰   <runtime> <AppContextSwitchOverrides value="Switch.System.Net.DontCheckCertificateEKUsName=true"/> </runtime>

    • 登錄機碼 (全域的機器):

      登錄位置: HKEY_LOCAL_MACHINE\Software\[Wow6432Node\]Microsoft\.NETFramework\AppContext\Switch.System.Net.DontCheckCertificateEKUsName

      類型: 字串值: 「true」

    注意: 根據預設, Switch.System.Net.DontCheckCertificateEKUsName = True 適用於所有 在 .NET Framework 4.6 更高版本上運行的 .NET Framework 4. x 應用程式。

  • 若要深入了解這個與 Windows 7 Service Pack 1  及 Windows Server 2008 R2 Service Pack 1 相關的安全性更新,請參閱 Microsoft 知識庫中的下列文章:

    4019112  適用於 Windows 7 Service Pack 1 和 Windows Server 2008 R2 Service Pack 1 之 .NET Framework 3.5.1、4.5.2、4.6、4.6.1 和 4.6.2 的安全性和品質彙總套件更新: 2017 年 5 月 9 日

如何取得並安裝更新

方法 1: Windows Update

您可以透過 Windows Update 取得此更新。 開啟自動更新後,就會自動下載並安裝此更新。 如需有關如何自動取得安全性更新的詳細資訊,請參閱 Windows Update: 常見問題集  

方法 2: Windows Software Update Services (WSUS)

在您的 WSUS 伺服器上,請依照下列步驟執行:

  1. 依序按一下 [開始][系統管理工具],然後按一下 [Microsoft Windows Server Update Services 3.0]

  2. 展開 [電腦名稱],然後按一下[動作]

  3. 按一下 [匯入更新]

  4. WSUS 將開啟瀏覽器視窗,系統可能會在視窗中提示您安裝 ActiveX 控制項。 您 必須安裝 ActiveX 控制項才能繼續。

  5. 安裝 控制項後,就會出現 [Microsoft Update Catalog] 畫面。在 [搜尋] 方塊中 輸入 4019112,然後按一下 [搜尋]

  6. 找出符合您環境中作業系統、語言及處理器的 .NET Framework 套件。 按一下 [Add] 將套件新增至籃中。

  7. 當您選取需要的所有套件時,按一下 [View Basket]

  8. 按一下 [Import] 以將套件匯入至 WSUS 伺服器。

  9. 套件完成匯入至 WSUS 後.按一下 [Close]

這些更新現可透過 WSUS 進行安裝。

更新部署資訊

如需有關此安全性更新的詳細部署資訊,請參閱 Microsoft 知識庫中的下列文章:

20170509安全性更新部署資訊: 2017 年 5 月 9 日

更新移除資訊

注意 我們不建議您移除任何安全性更新。

若要移除此更新,請使用 [控制台] 中的 [程式和功能] 項目。

更新重新啟動資訊

除非正在更新的檔案遭到鎖定或正在使用中,否則套用此更新後不需要重新啟動系統。

更新取代資訊

此更新不會取代任何先前發行的更新。

檔案資訊

套件名稱

套件雜湊 SHA 1

套件雜湊 SHA 2

NDP46-KB4014508-x64.exe

BF8BC7D1D93CE7C4D2BB1DF260B48829DEDB56F1

2101D5065FA98EA1147E3790DB461ABD8E3C432A208AB5898E05CDC7B5F662F0

NDP46-KB4014508-x86.exe

4F1326EFE09B1CCBC400462831AB00D578756569

8A230568C772878AB3C221712ACAA9464C3C68D1D7C9D82362C46257B228CF08

此 Hotfix 的英文版 (美國) 會安裝具有下表中所列屬性的檔案。 這些檔案的日期與時間是以 Coordinated Universal Time (UTC) 表示。 本機電腦上這些檔案的日期與時間,是以您當地的時間和目前的日光節約時間 (DST) 的時差來顯示。 此外,當您對檔案執行特定作業時,其日期與時間可能會改變。

適用於所有 x86 系統

檔案名稱

檔案版本

檔案大小

日期

時間

PenIMC.dll

4.6.1647.0

81,560

29-Mar-2017

23:32

PresentationCore.dll

4.6.1647.0

3,521,880

29-Mar-2017

23:32

PresentationFramework.dll

4.6.1647.0

6,190,960

29-Mar-2017

23:32

PresentationHost_v0400.dll

4.6.1647.0

197,848

29-Mar-2017

23:32

PresentationNative_v0400.dll

4.6.1647.0

826,592

29-Mar-2017

23:32

System.Core.dll

4.6.1647.0

1,349,280

29-Mar-2017

23:31

System.Data.dll

4.6.1647.0

3,389,616

29-Mar-2017

23:31

System.dll

4.6.1647.0

3,506,824

29-Mar-2017

23:31

System.Management.dll

4.6.1647.0

415,432

29-Mar-2017

23:31

System.Windows.Controls.Ribbon.dll

4.6.1647.0

742,808

29-Mar-2017

23:32

System.Xaml.dll

4.6.1647.0

631,456

29-Mar-2017

23:32

WindowsBase.dll

4.6.1647.0

1,277,768

29-Mar-2017

23:32

WMINet_Utils.dll

4.6.1647.0

136,368

29-Mar-2017

23:31

WPFFontCache_v0400.exe

4.6.1647.0

25,720

29-Mar-2017

23:32

wpfgfx_v0400.dll

4.6.1647.0

1,759,920

29-Mar-2017

23:32

VsVersion.dll

14.6.1647.0

19,112

29-Mar-2017

23:31

適用於所有 x64 系統

檔案名稱

檔案版本

檔案大小

日期

時間

PenIMC.dll

4.6.1647.0

97,432

29-Mar-2017

23:44

PenIMC.dll

4.6.1647.0

81,560

29-Mar-2017

23:32

PresentationCore.dll

4.6.1647.0

3,504,320

29-Mar-2017

23:44

PresentationCore.dll

4.6.1647.0

3,521,880

29-Mar-2017

23:32

PresentationFramework.dll

4.6.1647.0

6,190,960

29-Mar-2017

23:32

PresentationHost_v0400.dll

4.6.1647.0

254,680

29-Mar-2017

23:44

PresentationHost_v0400.dll

4.6.1647.0

197,848

29-Mar-2017

23:32

PresentationNative_v0400.dll

4.6.1647.0

1,107,680

29-Mar-2017

23:44

PresentationNative_v0400.dll

4.6.1647.0

826,592

29-Mar-2017

23:32

System.Core.dll

4.6.1647.0

1,349,280

29-Mar-2017

23:31

System.Data.dll

4.6.1647.0

3,454,640

29-Mar-2017

23:44

System.Data.dll

4.6.1647.0

3,389,616

29-Mar-2017

23:31

System.dll

4.6.1647.0

3,506,824

29-Mar-2017

23:31

System.Management.dll

4.6.1647.0

415,432

29-Mar-2017

23:31

System.Windows.Controls.Ribbon.dll

4.6.1647.0

742,808

29-Mar-2017

23:32

System.Xaml.dll

4.6.1647.0

631,456

29-Mar-2017

23:32

WindowsBase.dll

4.6.1647.0

1,277,768

29-Mar-2017

23:32

WMINet_Utils.dll

4.6.1647.0

188,080

29-Mar-2017

23:44

WMINet_Utils.dll

4.6.1647.0

136,368

29-Mar-2017

23:31

WPFFontCache_v0400.exe

4.6.1647.0

26,744

30-Mar-2017

01:32

WPFFontCache_v0400.exe

4.6.1647.0

25,720

29-Mar-2017

23:32

wpfgfx_v0400.dll

4.6.1647.0

2,262,712

29-Mar-2017

23:44

wpfgfx_v0400.dll

4.6.1647.0

1,759,920

29-Mar-2017

23:32

VsVersion.dll

14.6.1647.0

19,104

29-Mar-2017

23:44

VsVersion.dll

14.6.1647.0

19,112

29-Mar-2017

23:31

 

如何取得此安全性更新的說明及支援

適用於

本文適用於下列項目:

  • 與以下版本一起運作的 Microsoft .NET Framework 4.6.2:

    • Windows Server 2008 R2 Service Pack 1

    • Windows 7 Service Pack 1

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。