ملخص
بعد تثبيت أحد تحديثات الأمان 3141780 (الموضح في نشرة الأمن MS16-035)، قد تواجه تطبيقات.NET Framework استثناء أخطاء أو فشل غير متوقع عندما كانت تتم معالجة الملفات التي تحتوي على SignedXml.
مزيد من المعلومات
هام: يحتوي هذا المقطع أو الأسلوب أو المهمة على الخطوات التي توضح كيفية تعديل التسجيل. ومع ذلك، قد تحدث مشكلات خطيرة إذا قمت بتعديل التسجيل بشكل غير صحيح. لذلك، تأكد من اتباع الخطوات التالية بعناية. للحماية الإضافية، قم بعمل نسخة احتياطية للسجل قبل تعديله. بعد ذلك، يمكنك استعادة السجل في حالة حدوث مشكلة. لمزيد من المعلومات حول كيفية عمل نسخة احتياطية من السجل واستعادته، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
322756 كيفية عمل نسخة احتياطية من السجل واستعادته في Windows
السيناريو 1
الأعراض السيناريو 1
إدارة تطبيقات إرجاع خطأ استثناء يحتوي التوقيع التالي:
System.Security.Cryptography.CryptographicException: تعذر حل Uri [فيليورورل].
مثال
System.Security.Cryptography.CryptographicException: تعذر حل 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 (عملية 32-بت على نظام 64-بت)
ملاحظات
-
يجب أن يكون إدخال التسجيل هذا إدخال DWORD.
-
استعادة إدخال التسجيل هذا السلوك السابق لفتح أو تحميل مورد خارجي للمستند الذي يتم التحقق منه لحساب التشفير الكلي الخاص به.
تحذير تمكين مفتاح التسجيل هذا قد تسمح الثغرات الأمنية بما في ذلك رفض الخدمة توزيع انعكاس رفض الخدمة، كشف المعلومات، تجاوز توقيع وتنفيذ التعليمات البرمجية عن بعد.
السيناريو 2
الأعراض السيناريو 2
فشل التحقق من صحة التوقيع عند النجاح المتوقع.
تحليل السيناريو 2
إذا احتوى المحتوى على كتلة التوقيع التالي، خذ بعين الاعتبار تطبيق إدخال التسجيل المتوفرة:
المثال كتلة التوقيع
<Document>
…
< التوقيع على xmlns = "http://www.w3.org/2000/09/xmldsig#" >
<SignedInfo>
< خوارزمية كانونيكاليزاتيونميثود = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
< خوارزمية سيجناتوريميثود = "http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
< يشير URI = "..." >
<Transforms>
< تحويل خوارزمية = "http://www.w3.org/TR/1999/REC-xpath-19991116"/></Transforms>< خوارزمية ديجيستميثود = "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 (عملية 32-بت على نظام 64-بت)
إذا احتوى كتلة التوقيع على النص التالي، خذ بعين الاعتبار تطبيق إدخال التسجيل المتوفرة:
المثال كتلة التوقيع
<Document>
…
< التوقيع على xmlns = "http://www.w3.org/2000/09/xmldsig#" >
<SignedInfo>
< خوارزمية كانونيكاليزاتيونميثود = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
< خوارزمية سيجناتوريميثود = "http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
< يشير URI = "..." >
<Transforms>
< تحويل خوارزمية = "http://www.w3.org/TR/1999/REC-xslt-19991116"/></Transforms>< خوارزمية ديجيستميثود = "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 (عملية 32-بت على نظام 64-بت)
ملاحظة: بشكل افتراضي، فقط تلك التوقيع تحويلات XML التي يتم توفيرها من قبل.NET Framework ولا تقبل الإدخال من الوثيقة الموقعة ممكنة. لتمكين تحويلات قبول الإدخال أو التحويلات المخصصة، يجب تحديد URI مسجل لهذا التحويل كبيانات قيمة مكتوبة REG_SZ ضمن مفتاح التسجيل هذا. لم تتم معالجة اسم القيمة، ويمكن أن يكون أي شيء اختار مسؤول على جهاز الكمبيوتر.
تحذير السماح بتحويلات XPath و XSLT المرسل المستند لإنشاء المستندات التي تكون مكلفة. قد يتسبب هذا في حالة "رفض الخدمة".