Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

結論

安裝3141780 安全性更新 (於 Microsoft 資訊安全公告 MS16-035 中所述) 後,.NET 應用程式可能在其處理包含 SignedXml 的檔案時遇到例外狀況錯誤或意外錯誤。

其他相關資訊

重要這個章節、方法或工作包含修改登錄的步驟。然而,如果您不當地修改登錄,可能會發生嚴重的問題。因此,請務必謹慎地依照這些步驟執行。為加強保護,修改登錄之前,請務必將其備份。那麼您便可以在發生問題時還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

322756如何在 Windows 中備份及還原登錄

案例 1

案例 1 徵狀

受管理的應用程式傳回包含以下簽章的錯誤例外狀況:

System.Security.Cryptography.CryptographicException:Unable to resolve Uri [FileOrUrl].



範例

System.Security.Cryptography.CryptographicException:Unable to resolve Uri testfile.xml.



案例 1 解決方法

客戶可以將下列登錄機碼套用至他們的系統:

登錄項目

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security@SignedXmlAllowDetachedSignature=1

可供下載的 .Reg 檔案

若要解決此問題,請按一下適用的連結,然後在下載的檔案上按兩下以變更登錄。

SignedXml-ExternalReferences.reg (32 位元系統上的 32 位元處理序和 64 位元系統上的 64 位元處理序)

SignedXml-ExternalReferences.Wow6432.reg (64 位元系統上的 32 位元處理序)


注意事項

  • 此登錄項目應是 DWORD 項目。

  • 此登錄項目會還原先前的行為,此行為即是開啟或下載在經驗證以計算其摘要之文件外部的資源。

警告 啟用此登錄機碼可能會允許阻斷服務、分散式反映阻斷服務、資訊洩漏、簽章略過及遠端執行程式碼等資訊安全漏洞。

案例 2

案例 2 徵狀

已預期成功時發生簽章驗證失敗。



案例 2 解決方法

如果內容包含下列簽章區塊,請考慮套用提供的登錄機碼:

簽章區塊範例

<Document>


<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">

<SignedInfo>

<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />

<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />

<Reference URI="...">

<Transforms>

<Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116" /></Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>…</DigestValue> </Reference> </SignedInfo> <SignatureValue>…</SignatureValue> </Signature> …

</Document>


登錄項目

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXPathTransform=http://www.w3.org/TR/1999/REC-xpath-19991116

可供下載的 .Reg 檔案

若要解決此問題,請按一下適用的連結,然後在下載的檔案上按兩下以變更登錄。

XmlDSigXPathTransform.reg (32 位元系統上的 32 位元處理序和 64 位元系統上的 64 位元處理序)


XmlDSigXPathTransform.Wow6432.reg (64 位元系統上的 32 位元處理序)

如果簽章區塊包含下列文字,請考慮套用提供的登錄項目:

簽章區塊範例

<Document>


<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">

<SignedInfo>

<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />

<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />

<Reference URI="...">

<Transforms>

<Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><DigestValue>…</DigestValue></Reference></SignedInfo><SignatureValue>…</SignatureValue></Signature>…
</Document>


登錄項目

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXsltTransform=http://www.w3.org/TR/1999/REC-xslt-19991116

可供下載的 .Reg 檔案

若要解決此問題,請按一下適用的連結,然後在下載的檔案上按兩下以變更登錄。

XmlDSigXsltTransform.reg (32 位元系統上的 32 位元處理序和 64 位元系統上的 64 位元處理序)

XmlDSigXsltTransform.Wow6432.reg (64 位元系統上的 32 位元處理序)

注意 依預設,僅啟用由 .NET Framework 提供且不接受已簽署文件輸入的 XML 簽章轉換。若要啟用接受輸入的轉換或自訂轉換,必須將該轉換的登錄 URI 指定為包含於此登錄機碼中的 REG_SZ 輸入值資料。值的名稱並不會加以處理,並且可以是電腦系統管理員選擇的任何名稱。

警告 XPath 和 XSLT 轉換會允許文件傳送者建構運算成本高的文件。此行為可能會造成阻斷服務的情況。

Need more help?

Want more options?

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

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

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×