पर विंडोज एप्लिकेशन पर हस्ताक्षर करना मैंने एक एप्लिकेशन और वेबसाइट तैयार की है जहां ग्राहक इसे डाउनलोड करने से पहले इस एप्लिकेशन के लिए कई विकल्प सेट कर सकता है। सेटिंग्स फ़ाइल के अंत में बाइनरी प्रारूप में संग्रहीत हैं (संलग्न), फिर संपादित फ़ाइल अंतिम उपयोगकर्ता को भेजी जाती है। समस्या यह है कि फ़ाइल की "सामग्री" में परिवर्तन फ़ाइल हस्ताक्षर तोड़ देगा - क्या इस बदली गई फ़ाइल को किसी कमांड लाइन टूल्स के साथ पुनः हस्ताक्षर करने का कोई मौका है? मैंने माइक्रोसॉफ्ट के साइनटूल का उपयोग करने की कोशिश की है, लेकिन यह लिनक्स पर ठीक से काम नहीं करता है।लिनक्स-आधारित डिस्ट्रोज़
उत्तर
यह Mono
के signtool का उपयोग कर ऐसा करने के लिए वास्तव में quite straight forward है; मुश्किल हिस्सा (लिंक किए गए मोज़िला आलेख में अधिक विस्तार से वर्णित) प्रमाण पत्र को विंडोज़ से लिनक्स के सही प्रारूप में कॉपी कर रहा है।
परिवर्तित PVK और छठे वेतन आयोग फ़ाइलें करने के लिए Windows PFX प्रमाण पत्र फ़ाइल, केवल जब लिनक्स के लिए Windows से प्रमाण पत्र की प्रतिलिपि बनाने एक बार किया जाना चाहिए;
openssl pkcs12 -in authenticode.pfx -nocerts -nodes -out key.pem
openssl rsa -in key.pem -outform PVK -pvk-strong -out authenticode.pvk
openssl pkcs12 -in authenticode.pfx -nokeys -nodes -out cert.pem
openssl crl2pkcs7 -nocrl -certfile cert.pem -outform DER -out authenticode.spc
वास्तव में एक्सई पर हस्ताक्षर करना सीधे आगे है;
osslsigncode sign -certs <cert-file> -key <der-key-file> \
-n "Your Application" -i http://www.yourwebsite.com/ \
-in yourapp.exe -out yourapp-signed.exe
या यदि आप एक साथ एक पीईएम या PVK कुंजी फ़ाइल का उपयोग कर रहे हैं:
signcode \
-spc authenticode.spc \
-v authenticode.pvk \
-a sha1 -$ commercial \
-n My\ Application \
-i http://www.example.com/ \
-t http://timestamp.verisign.com/scripts/timstamp.dll \
-tr 10 \
MyApp.exe
आप osslsigncode
एक EXE प्रवेश करने के लिए या MSI फ़ाइल तुम अब क्या कर सकते हैं की कोशिश कर सकते एक पीईएम प्रमाण पत्र के साथ पासवर्ड:
osslsigncode sign -certs <cert-file> \
-key <key-file> -pass <key-password> \
-n "Your Application" -i http://www.yourwebsite.com/ \
-in yourapp.exe -out yourapp-signed.exe
या आप के रूप में अच्छी तरह से एक टाइमस्टैम्प जोड़ना चाहते हैं:
osslsigncode sign -certs <cert-file> -key <key-file> \
-n "Your Application" -i http://www.yourwebsite.com/ \
-t http://timestamp.verisign.com/scripts/timstamp.dll \
-in yourapp.exe -out yourapp-signed.exe
आप एक प्रमाण पत्र और कुंजी PKCS # में संग्रहीत 12 कंटेनर का उपयोग कर सकते हैं:
osslsigncode sign -pkcs12 <pkcs12-file> -pass <pkcs12-password> \
-n "Your Application" -i http://www.yourwebsite.com/ \
-in yourapp.exe -out yourapp-signed.exe
प्रवेश करने के लिए एक टैक्सी फ़ाइल वाले जावा वर्ग फाइलें:
osslsigncode sign -certs <cert-file> -key <key-file> \
-n "Your Application" -i http://www.yourwebsite.com/ \
-jp low \
-in yourapp.cab -out yourapp-signed.cab
यह वह समाधान है जिसने मेरे लिए काम किया है। साइनकोड टूल ने फ़ाइल पर हस्ताक्षर नहीं किया है (हालांकि यह सफल होने पर हस्ताक्षर करने की सूचना देता है) – treaz
यह एनएसआईएस और चींटी के साथ मैगेरिया लिनक्स के तहत बनाए गए मेरे विंडोज इंस्टालरों (जावा सॉफ़्टवेयर लपेटने) पर हस्ताक्षर करने के लिए उपयोगी होगा। बहुत बहुत धन्यवाद :) – gouessej
मुझे खुशी है कि मुझे यह अच्छा समाधान मिला! मैं वास्तव में कुछ अन्य चीज़ों का उपयोग करना चाहता था जो माइक्रोसॉफ्ट के signtool.exe को मेरे कोड पर हस्ताक्षर करने के लिए विंडोज के भीतर उपयोग करें ताकि मैंने आपके उत्तर पढ़ने के बाद विंडोज पर उबंटू पर बैश का उपयोग किया हो। यदि कोई और एक ही नाव में है, तो यहां रैंडडाउन है https://blog.synapp.nz/2017/06/16/code-igning-a- विन्डोज़- अनुप्रयोग-on-linux-on-windows/ –
- 1. क्या मोनो .NET प्रोजेक्ट सबसे लोकप्रिय लिनक्स डिस्ट्रोज़ की नवीनतम रिलीज में शामिल है?
- 2. सी ++ बूस्ट: क्या यह अधिकांश लिनक्स डिस्ट्रोज़ में डिफ़ॉल्ट रूप से शामिल है?
- 3. वीएमवेयर या वर्चुअलबॉक्स पर एंड्रॉइड
- 4. विभिन्न लिनक्स distros विभिन्न पैकेज प्रबंधकों का उपयोग क्यों करते हैं?
- 5. सभी लिनक्स वितरण के लिए संकलित सी ++
- 6. लिनक्स
- 7. glibc और एसएसई कार्यक्षमता
- 8. उल्टा-डाउन प्रोग्राम/usr/bin/games
- 9. लिनक्स के लिए आर बाइनरी पैकेज बनाएँ जो विभिन्न मशीनों पर स्थापित किया जा सकता है?
- 10. बैश स्क्रिप्ट (आरएचईएल) में अनैसेंट स्ट्रिंग
- 11. डेमो सिस्टम के लिए छोटे लिनक्स डिस्ट्रो जो अभी भी जावा
- 12. एक त्वरित बूटिंग स्थापित करने के लिए सबसे अच्छा/आसान तरीका लिनक्स
- 13. लिनक्स में DNS कैशिंग
- 14. लिनक्स के तहत सी ++ ऑडियो कैप्चर एपीआई के लिए सर्वश्रेष्ठ अभ्यास?
- 15. ब्राउज़र पर कौन से जावा संस्करण सामान्य रूप से स्थापित होते हैं, क्या यह 1.4 मानना सुरक्षित है?
- 16. लिनक्स के लिए बाइनरी एप्लिकेशन वितरित करने का सबसे अच्छा तरीका क्या है?
- 17. रेल पर रूबी के लिए सर्वश्रेष्ठ लिनक्स डिस्ट्रो?
- 18. लिनक्स
- 19. छोटे पदचिह्न
- 20. उबंटू 14.04 + आईओएस 8.0.2 अनचाहे लॉकडाउन त्रुटि
- 21. किसी भी विंडो बनाने से पहले, विंडो फ्रेम की चौड़ाई कैसे प्राप्त करें?
- 22. 2 फ़ोल्डरों की तुलना करें और अलग-अलग बाइट गिनती के साथ फाइलें खोजें
- 23. अपने स्वयं के सर्वर की जरूरतों के अनुसार इष्टतम ulimit और fs.file-max मानों की गणना "गणना" की आवश्यकता है
- 24. क्या मुझे पर्ल में ऑटोबॉक्स का उपयोग करना चाहिए?
- 25. लिनक्स पर एआरएम आर्किटेक्चर के लिए कोई भी वेब और जावा आईडीई?
- 26. गिट
- 27. एक लिनक्स वितरण
- 28. setuptools
- 29. मार्च 2010 में इष्टतम ग्रहण सीडीटी (सी ++) अनुभव
- 30. सी/JSON लाइब्रेरी?
क्या आपके पास इस उपकरण का उपयोग करने के साथ व्यक्तिगत अनुभव है? वह लेख जिसका आप उल्लेख कर रहे हैं [2 साल से अधिक पुराना] (https://developer.mozilla.org/en-US/docs/Signing_an_executable_with_Authenticode$history), इसलिए कुछ आश्वासन है कि यह अभी भी अद्यतित है । –
@RobW मैंने मोनो 3.2.5 का उपयोग करके उस कमांड का उपयोग करके निष्पादन योग्य पर हस्ताक्षर किए हैं और यह अच्छी तरह से काम करता है (वास्तव में मैंने अभी परीक्षण किया है)। मैं अभी मैक पर सर्टिफिकेट निर्यात करने के लिए सही कदमों का परीक्षण नहीं कर सकता क्योंकि मैं मैक पर नहीं हूं, लेकिन मुझे पता है कि मैंने जो हाल ही में उपयोग किया है उसके समान प्रवाह दिया गया है। –
पुष्टि के लिए धन्यवाद! प्रमाण पत्रों के बारे में चिंता न करें, ओपनएसएसएल कुछ भी बदलने के लिए सक्षम है। –