Applies To.NET Framework 4.6

檢視本文適用的產品。

摘要

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

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

重要

  • Windows RT 8.1、Windows 8.1 和 Windows Server 2012 R2 未來所有的安全性與非安全性更新皆需要安裝更新  2919355  (英文)。 我們建議您 在 Windows RT 8.1、Windows 8.1 或 Windows Server 2012 R2 電腦上安裝更新 2919355  (英文), 以便收到未來的更新。

  • 如果您在安裝此更新之後安裝語言套件,您必須重新安裝此更新。 因此,我們建議您在安裝此更新前,先安裝任何需要的語言套件。 如需詳細資訊,請參閱將語言套件新增到 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  8.1 及 Windows Server 2012 R2 相關的安全性更新,請參閱 Microsoft 知識庫中的下列文章:

    4019111  適用於 Windows 8.1 和 Windows Server 2012 R2 之 .NET Framework 3.5 Service Pack 1、4.5.2、4.6、4.6.1 和 4.6.2 的僅限安全性更新: 2017 年 5 月 9 日

如何取得並安裝更新

方法 1: Microsoft Update Catalog

若要取得此更新的獨立套件,請前往 Microsoft Update Catalog  

方法 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] 畫面。在 [搜尋] 方塊中 輸入 4019111,然後按一下 [搜尋]

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

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

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

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

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

更新部署資訊

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

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

更新移除資訊

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

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

更新重新啟動資訊

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

更新取代資訊

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

檔案資訊

套件名稱

套件雜湊 SHA 1

套件雜湊 SHA 2

Windows8.1-KB4014587-x64.msu

D3837DC9058590E610A8FF83D4707FD3576588B2

2B7D9615FE505F323BA5C997CDF0BD01B7D6CA11B31A07A393FFDD831CACE9E3

Windows8.1-KB4014587-x86.msu

98EB8EC2B0B2E00E1EEC17388AED45E3B2FD3600

FF1C7C43DCFF4979FB336311DFA06FD185ADFFB0461EF8263CB4649BDE5F76B0

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

適用於所有 x86 系統

檔案名稱

檔案版本

檔案大小

日期

時間

presentationframework.dll

4.6.1647.0

6,190,960

27-Mar-2017

04:08

system.core.dll

4.6.1647.0

1,349,280

27-Mar-2017

04:08

system.windows.controls.ribbon.dll

4.6.1647.0

742,808

27-Mar-2017

04:08

system.xaml.dll

4.6.1647.0

631,456

27-Mar-2017

04:08

system.dll

4.6.1647.0

3,506,824

27-Mar-2017

04:08

windowsbase.dll

4.6.1647.0

1,277,768

27-Mar-2017

04:08

msvcp120_clr0400.dll

12.0.52512.0

484,552

20-Mar-2017

05:16

msvcr120_clr0400.dll

12.0.52512.0

987,848

20-Mar-2017

05:16

penimc.dll

4.6.1647.0

81,560

27-Mar-2017

04:08

presentationhost_v0400.dll

4.6.1647.0

197,848

27-Mar-2017

04:08

presentationnative_v0400.dll

4.6.1647.0

826,592

27-Mar-2017

04:08

system.core.dll

4.6.1647.0

1,349,280

27-Mar-2017

04:08

wpfgfx_v0400.dll

4.6.1647.0

1,759,920

27-Mar-2017

04:08

presentationcore.dll

4.6.1647.0

3,521,880

27-Mar-2017

04:08

適用於所有 x64 系統

檔案名稱

檔案版本

檔案大小

日期

時間

msvcp120_clr0400.dll

12.0.52512.0

690,016

20-Mar-2017

05:16

msvcr120_clr0400.dll

12.0.52512.0

993,632

20-Mar-2017

05:16

penimc.dll

4.6.1647.0

97,432

27-Mar-2017

04:01

presentationframework.dll

4.6.1647.0

6,190,960

27-Mar-2017

04:08

presentationhost_v0400.dll

4.6.1647.0

254,680

27-Mar-2017

04:01

presentationnative_v0400.dll

4.6.1647.0

1,107,680

27-Mar-2017

04:01

system.core.dll

4.6.1647.0

1,349,280

27-Mar-2017

04:08

system.windows.controls.ribbon.dll

4.6.1647.0

742,808

27-Mar-2017

04:08

system.xaml.dll

4.6.1647.0

631,456

27-Mar-2017

04:08

system.dll

4.6.1647.0

3,506,824

27-Mar-2017

04:08

windowsbase.dll

4.6.1647.0

1,277,768

27-Mar-2017

04:08

wpfgfx_v0400.dll

4.6.1647.0

2,262,712

27-Mar-2017

04:01

presentationcore.dll

4.6.1647.0

3,504,320

27-Mar-2017

04:01

presentationframework.dll

4.6.1647.0

6,190,960

27-Mar-2017

04:08

system.core.dll

4.6.1647.0

1,349,280

27-Mar-2017

04:08

system.windows.controls.ribbon.dll

4.6.1647.0

742,808

27-Mar-2017

04:08

system.xaml.dll

4.6.1647.0

631,456

27-Mar-2017

04:08

system.dll

4.6.1647.0

3,506,824

27-Mar-2017

04:08

windowsbase.dll

4.6.1647.0

1,277,768

27-Mar-2017

04:08

msvcp120_clr0400.dll

12.0.52512.0

484,552

20-Mar-2017

05:16

msvcr120_clr0400.dll

12.0.52512.0

987,848

20-Mar-2017

05:16

penimc.dll

4.6.1647.0

81,560

27-Mar-2017

04:08

presentationhost_v0400.dll

4.6.1647.0

197,848

27-Mar-2017

04:08

presentationnative_v0400.dll

4.6.1647.0

826,592

27-Mar-2017

04:08

system.core.dll

4.6.1647.0

1,349,280

27-Mar-2017

04:08

wpfgfx_v0400.dll

4.6.1647.0

1,759,920

27-Mar-2017

04:08

presentationcore.dll

4.6.1647.0

3,521,880

27-Mar-2017

04:08

 

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

適用於

本文適用於下列項目:  

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

    • Windows Server 2012 R2

    • Windows 8.1

Need more help?

Want more options?

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

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