سؤال

أحاول توقيع تطبيق Silverlight 4 OOB (ملف XAP).
أستخدم الأمر التالي:

"C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\signtool.exe" sign /v /f path\to\FILENAME.pfx /p PWD path\to\FILENAME.xap

وأنا أحصل على الرد:

The following certificate was selected:
    Issued to: COMPANY NAME
    Issued by: Thawte Code Signing CA
    Expires:   Wed Dec 01 00:59:59 2010
    SHA1 hash: AE57AF01180BF995C7C5B01E235F296CCF611111

Done Adding Additional Store
Successfully signed: FILENAME.xap

Number of files successfully Signed: 1
Number of warnings: 0
Number of errors: 0

ولكن لم يتم توقيع ملف XAP.
إذا عرضت الخصائص في Explorer ، فلا توجد "توقيعات رقمية" مدرجة. وإذا حاولت تثبيته ، أحصل على مربع الحوار غير الموضح.
إذا استخدمت نفس الأمر بالضبط ولكن بالنسبة لملف DLL ، فإن التوقيع يعمل بشكل جيد ويمكنني رؤية التوقيع الرقمي المطبق على الملف.

ماذا يمكن أن يكون سبب هذا؟
هل أحتاج إلى نسخة مختلفة من signtool.exe?

إذا كان الأمر مهمًا ، فقد تم تصدير PFX في الأصل من جهاز XP وأحاول تشغيل هذا على جهاز Win7 (لـ DEV) وخادم Win2008 (آلة الإنشاء) والحصول على نفس السلوك على كليهما.

تعديل:
إذا قمت بالتحقق من شهادة DLL الموقعة ، أحصل على ما يلي:

SignTool Error: A certificate chain processed, but terminated in a root 
        certificate which is not trusted by the trust provider.

لذلك يبدو أنني بحاجة إلى تثبيت بعض شهادات الجذر.

ومع ذلك ، لست متأكدًا من أن ملف عدم الإبلاغ عن ملف XAP عن إضافة أي شهادة.

هل كانت مفيدة؟

المحلول

هل حاولت توقيع التطبيق عبر علامة التبويب التوقيع في خصائص مشروع مشروع Silverlight؟ إذا كانت خصائص مشروعك مثل لي ، فقد يكون هناك في الواقع علامات تبويب توقيع هناك (واحدة هي لتسمية القوية على التجميع) - ربما يكون العلامة الثانية. إليك رابط يشرح الخطوات للتوقيع على XAP: http://blogs.infosupport.com/blogs/alexb/archive/2010/05/10/silverlight-4-digitally-signing-a-xap.aspx. معرفة ما إذا كان ذلك يساعد في حل المشكلة.

تذكر أيضًا أن التوقيع ببساطة على XAP ليس كافيًا - يجب عليك استيراد الشهادة إلى متجر الجذر الموثوق (وهو ما لا يبدو أنك تفعله). انقر على زر المزيد من التفاصيل ... في علامة التبويب التوقيع. من المحتمل أن ينص على أن شهادة جذر CA ليست موثوقة. افعل ما يلي:

  • انقر فوق الزر شهادة التثبيت في هذا الحوار
  • حدد زر المكان في جميع الشهادات في خيار المتجر التالي ، وانقر فوق الزر Browse ...
  • حدد عنصر سلطات شهادة الجذر الموثوق به في الشجرة
  • اضغط موافق.

يجب أن يظهر مربع حوار آخر يوضح أنه قد تم تثبيته. الآن إعادة ترجمة تطبيقك ويجب أن يعمل بشكل جيد.

أتمنى أن يساعدك هذا...

كريس

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top