Featured image of post تثبيت MSIX باستخدام شهادة ذاتية التوقيع

تثبيت MSIX باستخدام شهادة ذاتية التوقيع

تثبيت MSIX باستخدام شهادة ذاتية التوقيع

عند توزيع التطبيقات على Windows، يعد استخدام حزمة MSIX أمراً مريحاً لأن آلية التثبيت والتحديث موحدة. ومع ذلك، هناك قيد يتمثل في أن MSIX يتطلب “شهادة موقعة” دائماً. عندما ترغب في توزيع تطبيق تم تطويره بواسطة شركة أو فرد لأغراض الاختبار، قد تكون هناك مواقف يبدو فيها “شراء شهادة توقيع كود تجارية أمراً مبالغاً فيه”.

هنا يأتي دور الشهادة ذاتية التوقيع (Self-Signed Certificate) . تلخص هذه المقالة خطوات إرفاق شهادة ذاتية التوقيع بـ MSIX وجعلها قابلة للتثبيت في بيئة محلية.


1. إنشاء شهادة ذاتية التوقيع

أولاً، قم بتشغيل PowerShell في وضع المسؤول ونفذ الأمر التالي.

1
2
// إنشاء شهادة ذاتية التوقيع
New-SelfSignedCertificate -Type CodeSigningCert -Subject "CN=035A9AAC-915B-4CE1-AE39-1A101BED42F5" -CertStoreLocation Cert:\CurrentUser\My -NotAfter (Get-Date).AddYears(10) -KeyUsage DigitalSignature -FriendlyName "kenjinote"

ما يتم إنشاؤه هنا هو شهادة “لتوقيع الكود”.

  • من السهل العثور عليها لاحقاً إذا أعطيتها اسماً واضحاً باستخدام -FriendlyName.
  • يمكنك ضبط تاريخ انتهاء الصلاحية باستخدام -NotAfter. قمنا بتعيينه إلى 10 سنوات هذه المرة.

2. تصدير ملف PFX

قم بتصدير الشهادة التي تم إنشاؤها بتنسيق PFX بحيث يمكن استخدامها مع signtool.

1
2
3
4
// إنشاء pfx
$cert = Get-ChildItem Cert:\CurrentUser\My | Where-Object { $_.FriendlyName -eq "kenjinote" }
$password = ConvertTo-SecureString -String "password" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath "D:\pfx\cert.pfx" -Password $password

ستكون كلمة المرور التي تم تعيينها في هذا الوقت ( password في المثال) مطلوبة لعملية التوقيع اللاحقة.


3. تثبيت الشهادة الذاتية في المراجع المصدقة الجذرية الموثوقة

الشهادة التي تم إنشاؤها لن يثق بها Windows كما هي. لتثبيتها، يجب عليك استيرادها من certmgr.msc إلى [المراجع المصدقة الجذرية الموثوقة] -> [الشهادات] .

إذا قمت باستيراد الشهادة المصدرة ( .cer أو .pfx )، فسيتم التعامل معها كشهادة موثوقة على جهاز الكمبيوتر المستهدف. نتيجة لذلك، حتى إذا قمت بتوقيع MSIX، فلن يظهر تحذير “شهادة غير موثوقة”.


4. توقيع المثبت (MSIX)

أخيراً، استخدم شهادة PFX التي تم إنشاؤها لتوقيع MSIX. يتم تضمين signtool في Visual Studio و Windows SDK.

1
2
// توقيع المثبت
signtool sign /fd SHA256 /f "D:\pfx\cert.pfx" /p "password" "C:\installer\installer.msix"
  • /fd SHA256 يحدد خوارزمية التوقيع.
  • حدد ملف PFX باستخدام /f ومرر كلمة المرور باستخدام /p.
  • أخيراً، حدد مسار ملف MSIX.
  • إذا لم يتم العثور على مسار signtool، فحدده بالمسار الكامل. في بيئتي، كان في الموقع التالي.
1
"C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\microsoft.windows.sdk.buildtools\10.0.26100.1742\bin\10.0.26100.0\x64\signtool.exe"

يكمل هذا التوقيع، وسيتم إكمال حزمة MSIX التي يمكن تثبيتها على جهاز الكمبيوتر المستهدف.


الخلاصة

  • إنشاء شهادة ذاتية التوقيع باستخدام New-SelfSignedCertificate
  • تصدير PFX باستخدام Export-PfxCertificate
  • تثبيت الشهادة في المراجع المصدقة الجذرية الموثوقة
  • توقيع MSIX باستخدام signtool

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


👉 استخدمنا installer.msix كمثال هذه المرة، ولكن يمكن تطبيق نفس الإجراء على التطبيقات التي قمت بإنشائها بنفسك.


comments powered by Disqus
مبني بستخدام Hugo
قالب Stack مصمم من Jimmy