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) पर हस्ताक्षर करें

अंत में, MSIX पर हस्ताक्षर करने के लिए बनाए गए PFX प्रमाण पत्र का उपयोग करें। signtool Visual Studio और Windows SDK में शामिल है।

1
2
// इंस्टलर पर हस्तक्षर करें
signtool sign /fd SHA256 /f "D:\pfx\cert.pfx" /p "password" "C:\installer\installer.msix"
  • /fd SHA256 हस्ताक्षर एल्गोरिथ्म निर्दिष्ट करता है।
  • /f के साथ PFX फ़ाइल निर्दिष्ट करें, और /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 के साथ एक स्व-हस्ताक्षरित प्रमाण पत्र बनाएँ
  • Export-PfxCertificate के साथ PFX निर्यात करें
  • प्रमाण पत्र को विश्वसनीय रूट प्रमाणन अधिकारियों में स्थापित करें
  • signtool के साथ MSIX पर हस्ताक्षर करें

इस प्रवाह का पालन करके, आप वाणिज्यिक प्रमाण पत्र खरीदे बिना स्थानीय वातावरण में संचालन की जांच कर सकते हैं और परीक्षण वितरण कर सकते हैं। बेशक, एक प्रमाणन अधिकारी द्वारा जारी किया गया प्रमाण पत्र वास्तविक वाणिज्यिक वितरण के लिए आवश्यक है, लेकिन यह विधि विकास और सत्यापन चरणों में बहुत सुविधाजनक है।


👉 इस बार, हमने उदाहरण के रूप में installer.msix का उपयोग किया, लेकिन आप अपने स्वयं के ऐप पर भी यही प्रक्रिया लागू कर सकते हैं।


comments powered by Disqus
निर्मित Hugo के साथ
थीम Stack द्वारा डिज़ाइन किया गया Jimmy