Tóm tắt
Sau khi cài đặt bất kỳ bản Cập Nhật bảo mật 3141780 (mô tả trong bản tin bảo mật Microsoft MS16-035), ứng dụng .NET Framework có thể gặp phải lỗi ngoại lệ hoặc lỗi không mong muốn khi chúng xử lý tệp chứa SignedXml.
Thông tin
Quan trọng Phần, phương pháp hoặc tác vụ này chứa các bước chỉ dẫn bạn cách sửa đổi sổ đăng ký. Tuy nhiên, sự cố nghiêm trọng có thể xảy ra nếu bạn sửa đổi sổ đăng ký không đúng. Vì vậy, hãy đảm bảo bạn làm theo các bước sau đây một cách cẩn thận. Để bảo vệ tốt hơn, sao lưu sổ đăng ký trước khi bạn sửa đổi. Sau đó, bạn có thể khôi phục sổ đăng ký nếu xảy ra sự cố. Để biết thêm thông tin về cách sao lưu và khôi phục sổ đăng ký, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
322756 Cách sao lưu và khôi phục sổ đăng ký trong Windows
Tình huống 1
Tình huống 1 hiện tượng
Quản lý ứng dụng trở lại lỗi ngoại lệ có chữ ký sau đây:
System.Security.Cryptography.CryptographicException: Không thể giải quyết Uri [FileOrUrl].
Ví dụ:
System.Security.Cryptography.CryptographicException: Không thể giải quyết Uri testfile.xml.
Giải quyết tình huống 1
Khách hàng có thể áp dụng khoá đăng ký sau cho hệ thống của họ:
Mục đăng ký
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security@SignedXmlAllowDetachedSignature=1
. Reg tệp sẵn có để tải xuống
Để khắc phục sự cố này, bấm vào liên kết thích hợp, và sau đó bấm đúp vào tệp đã tải xuống để thực hiện thay đổi đăng ký.
SignedXml-ExternalReferences.reg (32-bit xử lý trên hệ thống 32-bit) và quá trình 64-bit trên hệ thống 64-bit
SignedXml-ExternalReferences.Wow6432.reg (32-bit xử lý trên hệ thống 64-bit)
Lưu ý:
-
Mục đăng ký này sẽ có một mục nhập giá.
-
Mục đăng ký này khôi phục chế độ trước mở hoặc tải xuống tài nguyên bên ngoài vào tài liệu được kiểm tra tính toán phân của nó.
Cảnh báo Kích hoạt khoá đăng ký này có thể cho phép các lỗ hổng bảo mật từ chối dịch vụ, cung cấp phản ánh từ chối dịch vụ, công bố thông tin, bỏ qua chữ ký và thực thi mã từ xa.
Tình huống 2
Tình huống 2 hiện tượng
Chữ ký xác nhận không thành công khi thành công được mong đợi.
Giải quyết tình huống 2
Nếu nội dung có chứa các khối chữ ký sau, hãy xem xét áp dụng mục đăng ký cung cấp:
Ví dụ khối chữ ký
<Document>
…
< chữ xmlns = "http://www.w3.org/2000/09/xmldsig#" >
<SignedInfo>
< CanonicalizationMethod thuật toán = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" / >
< SignatureMethod thuật toán = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" / >
< tham chiếu URI = "..." >
<Transforms>
< chuyển đổi thuật toán = "http://www.w3.org/TR/1999/REC-xpath-19991116" / ></Transforms>< DigestMethod thuật toán = "http://www.w3.org/2000/09/xmldsig#sha1" / ><DigestValue>…</DigestValue></Reference></SignedInfo><SignatureValue>…</SignatureValue></Signature>…
</Document>
Mục đăng ký
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXPathTransform=http://www.w3.org/TR/1999/REC-xpath-19991116
. Reg tệp sẵn có để tải xuống
Để khắc phục sự cố này, bấm vào liên kết thích hợp, và sau đó bấm đúp vào tệp đã tải xuống để thực hiện thay đổi đăng ký.
XmlDSigXPathTransform.reg (32-bit xử lý trên hệ thống 32-bit) và quá trình 64-bit trên hệ thống 64-bit
XmlDSigXPathTransform.Wow6432.reg (32-bit xử lý trên hệ thống 64-bit)
Nếu khối chữ ký có chứa văn bản sau, hãy xem xét áp dụng mục đăng ký cung cấp:
Ví dụ khối chữ ký
<Document>
…
< chữ xmlns = "http://www.w3.org/2000/09/xmldsig#" >
<SignedInfo>
< CanonicalizationMethod thuật toán = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" / >
< SignatureMethod thuật toán = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" / >
< tham chiếu URI = "..." >
<Transforms>
< chuyển đổi thuật toán = "http://www.w3.org/TR/1999/REC-xslt-19991116" / ></Transforms>< DigestMethod thuật toán = "http://www.w3.org/2000/09/xmldsig#sha1" / ><DigestValue>…</DigestValue></Reference></SignedInfo><SignatureValue>…</SignatureValue></Signature>…
</Document>
Mục đăng ký
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXsltTransform=http://www.w3.org/TR/1999/REC-xslt-19991116
. Reg tệp sẵn có để tải xuống
Để khắc phục sự cố này, bấm vào liên kết thích hợp, và sau đó bấm đúp vào tệp đã tải xuống để thực hiện thay đổi đăng ký.
XmlDSigXsltTransform.reg (32-bit xử lý trên hệ thống 32-bit) và quá trình 64-bit trên hệ thống 64-bit
XmlDSigXsltTransform.Wow6432.reg (32-bit xử lý trên hệ thống 64-bit)
Lưu ý Theo mặc định, chỉ những XML chữ biến được cung cấp bởi .NET Framework và chấp nhận nhập từ tài liệu ký được kích hoạt. Để kích hoạt tính năng biến đổi chấp nhận đầu vào hoặc biến đổi tuỳ chỉnh, URI đăng ký để chuyển đổi đó phải được xác định là dữ liệu giá trị đã nhập REG_SZ trong khoá đăng ký này. Tên giá trị không được xử lý và nó có thể là gì mà chọn quản trị viên máy tính.
Cảnh báo XPath và XSLT biến đổi cho phép gửi tài liệu để xây dựng tài liệu tốn kém computationally. Điều này có thể gây ra tình huống từ chối dịch vụ.