سؤال

كيف يمكنني التوقيع على مرئي C# قابل للتنفيذ؟

SignTool.exe لا يمكن العثور على شهادة.

كيف يمكنني إنشاء مفتاح وشهادة موقعة ذاتيًا ، وأن أتمكن من رؤية الشهادة واستخدامها؟

يتم تثبيت OpenSSL و Visual Studio 2010 Express. تشغيل Windows 7 Ultimate X64.

باستخدام SignTool.exe من Windows Driver Kit.

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

المحلول

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

مع .NET ، عندما يتم توقيع ثنائي رقميًا ، فهو كذلك تلقائيا تم التحقق من النزاهة والأصالة أثناء بدء التشغيل. على الرغم من أنني لم أختبر هذا الأمر شخصيًا ، إلا أن استخدام شهادة موقعة ذاتيًا من المحتمل أن يسبب لك الكثير من المشاكل.

إذا كنت ترغب في توقيع برامجك رقميًا ، فأنت بحاجة إلى الاستثمار في شهادة توقيع الرمز من CA. هناك عدد من الشركات التي يمكن أن توفر هذه الخدمة (Verisign, ثاوتي)، مقابل رسوم.

على الرغم من أن الرسوم قد تبدو متطرفة إلى حد ما في السعر ، تذكر أنك لا تشتري شهادة رقمية فحسب ، بل أيضًا التحقق من صحة هذه الشهادة على مدار الساعة طوال أيام الأسبوع. في أي وقت يبدأ فيه شخص ما البرنامج الخاص بك ، سيضمن أن البرنامج قد كتبه من قبلك وأنه لم يتم تغيير البرنامج منذ أن أصدرته.

بمجرد حصولك على شهادة ، يمكنك توقيع برنامجك رقميًا باتباع الخطوات في كيفية: توقيع التطبيق والنشر يوضح.

تحديث: إذا كان هذا البرنامج هو تطبيق داخلي (يقتصر عليك أو عملك) ، يمكنك إنشاء CA الخاص بك. نظرًا لأنك ستكون الوحيد الذي يديره ، فأنت فقط ستحتاج إلى التحقق منه. يجب تثبيت شهادة CA كـ شهادة الجذر الموثوق بها على جميع الآلات التي ستقوم بتشغيل البرنامج (أو إذا كان لديك وصول إلى Windows Server ، فيمكنك إعداد CA يعمل الحقيقي).

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