檢視本文適用的產品。

摘要

此 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 知識庫中的下列文章:

    4019108 適用於 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 日

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

    4019109 Windows Server 2008 Service Pack 2 的 .NET Framework 2.0 Service Pack 2、4.5.2 和 4.6 更新的僅限安全性更新: 2017 年 5 月 9 日

如何取得並安裝更新

方法 1: Microsoft Update Catalog

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

  • 若是 Windows Server 2008,按一下 此處

  • 若是 Windows 7 或 Windows Server 2008 R2,按一下 此處

方法 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] 畫面。根據您的 Windows 版本, 在搜尋方塊中 輸入 下列值之一,然後按一下搜尋

    • 若是 Windows Server 2008,輸入 4019109

    • 若是 Windows 7 或 Windows Server 2008 R2,輸入 4019108

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

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

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

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

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

更新部署資訊

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

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

更新移除資訊

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

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

更新重新啟動資訊

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

更新取代資訊

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

檔案資訊

套件名稱

套件雜湊 SHA 1

套件雜湊 SHA 2

NDP46-KB4014591-x64.exe

9BCDEC650701D5E98AA21B47B50771817C9504DF

8088F07D8B0CEAD556AD5F9FA9CE22074E4D3641089A82D88A116C4F69681058

NDP46-KB4014591-x86.exe

C4BF652A33F988DC0494CCFB35B49465977B6B56

B77D6839D80A2D0085E061DE29F2FE1422D4DCE5679E9C85A49F7335141E95FE


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

適用於所有 x86 系統

檔案名稱

檔案版本

檔案大小

日期

時間

PenIMC.dll

4.6.1099.0

77,976

29-Mar-2017

00:19

PresentationCore.dll

4.6.1099.0

3,491,168

29-Mar-2017

00:19

PresentationFramework.dll

4.6.1099.0

6,079,864

29-Mar-2017

00:19

PresentationHost_v0400.dll

4.6.1099.0

181,464

29-Mar-2017

00:19

PresentationHost_v0400.dll.mui

4.6.1099.0

84,720

29-Mar-2017

00:19

PresentationNative_v0400.dll

4.6.1099.0

791,264

29-Mar-2017

00:19

System.Core.dll

4.6.1099.0

1,312,928

29-Mar-2017

00:19

System.dll

4.6.1099.0

3,462,784

29-Mar-2017

00:19

System.Security.dll

4.6.1099.0

292,528

29-Mar-2017

00:19

System.Windows.Controls.Ribbon.dll

4.6.1099.0

740,248

29-Mar-2017

00:19

System.Xaml.dll

4.6.1099.0

626,848

29-Mar-2017

00:19

WindowsBase.dll

4.6.1099.0

1,256,776

29-Mar-2017

00:19

WPFFontCache_v0400.exe.mui

4.6.1099.0

19,168

29-Mar-2017

00:19

WPFFontCache_v0400.exe

4.6.1099.0

25,720

29-Mar-2017

00:19

wpfgfx_v0400.dll

4.6.1099.0

1,685,680

29-Mar-2017

00:19

VsVersion.dll

14.0.1099.0

19,104

29-Mar-2017

00:19

適用於所有 x64 系統

檔案名稱

檔案版本

檔案大小

日期

時間

PenIMC.dll

4.6.1099.0

93,336

29-Mar-2017

00:33

PenIMC.dll

4.6.1099.0

77,976

29-Mar-2017

00:19

PresentationCore.dll

4.6.1099.0

3,468,992

29-Mar-2017

00:33

PresentationCore.dll

4.6.1099.0

3,491,168

29-Mar-2017

00:19

PresentationFramework.dll

4.6.1099.0

6,079,864

29-Mar-2017

00:19

PresentationHost_v0400.dll

4.6.1099.0

230,616

29-Mar-2017

00:33

PresentationHost_v0400.dll.mui

4.6.1099.0

84,712

29-Mar-2017

00:33

PresentationHost_v0400.dll

4.6.1099.0

181,464

29-Mar-2017

00:19

PresentationHost_v0400.dll.mui

4.6.1099.0

84,720

29-Mar-2017

00:19

PresentationNative_v0400.dll

4.6.1099.0

1,071,848

29-Mar-2017

00:33

PresentationNative_v0400.dll

4.6.1099.0

791,264

29-Mar-2017

00:19

System.Core.dll

4.6.1099.0

1,312,928

29-Mar-2017

00:19

System.dll

4.6.1099.0

3,462,784

29-Mar-2017

00:19

System.Security.dll

4.6.1099.0

292,528

29-Mar-2017

00:19

System.Windows.Controls.Ribbon.dll

4.6.1099.0

740,248

29-Mar-2017

00:19

System.Xaml.dll

4.6.1099.0

626,848

29-Mar-2017

00:19

WindowsBase.dll

4.6.1099.0

1,256,776

29-Mar-2017

00:19

WPFFontCache_v0400.exe.mui

4.6.1099.0

19,160

29-Mar-2017

02:23

WPFFontCache_v0400.exe.mui

4.6.1099.0

19,168

29-Mar-2017

00:19

WPFFontCache_v0400.exe

4.6.1099.0

26,744

29-Mar-2017

02:23

WPFFontCache_v0400.exe

4.6.1099.0

25,720

29-Mar-2017

00:19

wpfgfx_v0400.dll

4.6.1099.0

2,144,944

29-Mar-2017

00:33

wpfgfx_v0400.dll

4.6.1099.0

1,685,680

29-Mar-2017

00:19

VsVersion.dll

14.0.1099.0

19,112

29-Mar-2017

00:33

VsVersion.dll

14.0.1099.0

19,104

29-Mar-2017

00:19

 

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

適用於

本文適用於下列項目:
 

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

    • Windows Server 2008 R2 Service Pack 1

    • Windows 7 Service Pack 1

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

    • Windows Server 2008 Service Pack 2

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×