Ringkasan
Setelah Anda memasang pemutakhiran keamanan 3141780 (dijelaskan di buletin keamanan Microsoft MS16-035), .NET Framework aplikasi mungkin mengalami galat pengecualian atau kegagalan tak terduga ketika mereka memproses berkas yang berisi SignedXml.
Informasi lebih lanjut
Penting Bagian, metode, atau tugas ini berisi langkah-langkah yang memberitahu Anda bagaimana memodifikasi registri. Namun, masalah serius dapat terjadi apabila Anda salah mengubah registri. Oleh karena itu, pastikan Anda mengikuti langkah-langkah ini dengan seksama. Untuk perlindungan tambahan, buat cadangan registri sebelum mengubahnya. Lalu, Anda dapat memulihkan registri apabila terjadi masalah. Untuk informasi selengkapnya tentang cara membuat cadangan dan memulihkan registri, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
322756 Cara membuat cadangan dan memulihkan registri di Windows
Skenario 1
Skenario 1 gejala
Berhasil aplikasi kembali pengecualian galat yang memiliki tanda berikut ini:
System.Security.Cryptography.CryptographicException: Tidak dapat menyelesaikan Uri [FileOrUrl].
Contoh
System.Security.Cryptography.CryptographicException: Tidak dapat menyelesaikan Uri testfile.xml.
Skenario 1 resolusi
Pelanggan dapat menerapkan kunci registri berikut ini untuk sistem:
Entri registri
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security@SignedXmlAllowDetachedSignature=1
. Reg berkas tersedia untuk diunduh
Untuk mengatasi masalah ini, klik link yang sesuai, dan kemudian klik dua kali berkas yang diunduh untuk membuat perubahan registri.
SignedXml-ExternalReferences.reg (32-bit proses pada sistem 32-bit) dan 64-bit proses pada sistem 64-bit
SignedXml-ExternalReferences.Wow6432.reg (32-bit proses pada sistem 64-bit)
Catatan
-
Entri registri ini harus entri DWORD.
-
Entri registri ini memulihkan perilaku membuka atau mengunduh sumber daya yang eksternal ke dokumen yang sedang diverifikasi untuk menghitung ringkasan yang sebelumnya.
Peringatan Mengaktifkan kunci registri ini dapat memungkinkan kerentanan keamanan yang termasuk Denial of Service, didistribusikan cerminan Denial of Service, pengungkapan informasi, tanda tangan Bypass dan eksekusi kode jarak jauh.
Skenario 2
Skenario 2 gejala
Verifikasi tanda tangan gagal saat keberhasilan yang diharapkan.
Skenario 2 resolusi
Jika konten berisi tanda tangan blok berikut, menerapkan entri registri yang disediakan:
Tanda tangan blok contoh
<Document>
…
< tanda tangan xmlns = "http://www.w3.org/2000/09/xmldsig#" >
<SignedInfo>
< CanonicalizationMethod algoritma = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" / >
< SignatureMethod algoritma = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" / >
< referensi URI = "..." >
<Transforms>
< transformasi algoritma = "http://www.w3.org/TR/1999/REC-xpath-19991116" / ></Transforms>< DigestMethod algoritma = "http://www.w3.org/2000/09/xmldsig#sha1" / ><DigestValue>…</DigestValue></Reference></SignedInfo><SignatureValue>…</SignatureValue></Signature>…
</Document>
Entri registri
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXPathTransform=http://www.w3.org/TR/1999/REC-xpath-19991116
. Reg berkas tersedia untuk diunduh
Untuk mengatasi masalah ini, klik link yang sesuai, dan kemudian klik dua kali berkas yang diunduh untuk membuat perubahan registri.
XmlDSigXPathTransform.reg (32-bit proses pada sistem 32-bit) dan 64-bit proses pada sistem 64-bit
XmlDSigXPathTransform.Wow6432.reg (32-bit proses pada sistem 64-bit)
Jika blok tanda tangan yang berisi teks berikut ini, menerapkan entri registri yang disediakan:
Tanda tangan blok contoh
<Document>
…
< tanda tangan xmlns = "http://www.w3.org/2000/09/xmldsig#" >
<SignedInfo>
< CanonicalizationMethod algoritma = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" / >
< SignatureMethod algoritma = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" / >
< referensi URI = "..." >
<Transforms>
< transformasi algoritma = "http://www.w3.org/TR/1999/REC-xslt-19991116" / ></Transforms>< DigestMethod algoritma = "http://www.w3.org/2000/09/xmldsig#sha1" / ><DigestValue>…</DigestValue></Reference></SignedInfo><SignatureValue>…</SignatureValue></Signature>…
</Document>
Entri registri
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXsltTransform=http://www.w3.org/TR/1999/REC-xslt-19991116
. Reg berkas tersedia untuk diunduh
Untuk mengatasi masalah ini, klik link yang sesuai, dan kemudian klik dua kali berkas yang diunduh untuk membuat perubahan registri.
XmlDSigXsltTransform.reg (32-bit proses pada sistem 32-bit) dan 64-bit proses pada sistem 64-bit
XmlDSigXsltTransform.Wow6432.reg (32-bit proses pada sistem 64-bit)
Catatan Secara default, hanya tersebut XML tanda tangan mengubah yang disediakan oleh .NET Framework dan tidak menerima masukan dari dokumen yang ditandatangani diaktifkan. Untuk mengaktifkan transformasi menerima masukan atau transformasi kustom, URI terdaftar untuk transformasi yang harus ditetapkan sebagai data nilai REG_SZ yang dimasukkan dalam kunci registri ini. Nama nilai tidak diproses, dan dapat apa pun yang memilih administrator komputer.
Peringatan Transformasi XPath dan XSLT memungkinkan pengirim dokumen untuk menyusun dokumen yang produk murah. Hal ini dapat menyebabkan situasi Denial of Service.