न केवल आईएनएफ फाइलों पर हस्ताक्षर करने की आवश्यकता है, इसके लिए उन्हें WHQL प्रमाणपत्र द्वारा हस्ताक्षरित होने की भी आवश्यकता है, वैसे ही आप एम्बेडेड-साइन .sys फ़ाइलों और इसी तरह के उपयोग के लिए उपयोग नहीं करते हैं। आईएनएफ फ़ाइल पर मेरे कोड हस्ताक्षर प्रमाणपत्र का उपयोग करना बिल्कुल काम नहीं करता था। (एक ही समस्याओं के रूप में यदि अहस्ताक्षरित छोड़ दिया है।)
संपादित करें:
यह वही है माइक्रोसॉफ्ट आपको लगता है चाहता है। उन्होंने कहा कि ड्राइवरों के कुछ वर्ग WHQL पर हस्ताक्षर किए गए हैं, अन्यथा वे काम नहीं करेंगे, और Authenticode हस्ताक्षर केवल उन लोगों के लिए काम करता है जिनके पास WHQL प्रक्रिया नहीं है।
यह पता चला आप साइन ड्राइवर संकुल Authenticode कर सकते हैं, को छोड़कर आप ध्यान रखते हैं और जैसे आप अब कोड गिरी हैं, के लिए अपने CA (Cross-Certificates for Kernel Mode Code Signing से, वहाँ की टन कर रहे हैं सही पार प्रमाण पत्र हो रही है जिसका अर्थ है उन पर हस्ताक्षर करने के लिए है अब स्टार्टकॉम सहित, जो मेरे पास है (कक्षा 2, यूएस $ 60 दो साल के लिए, लेकिन उन्हें टाइमस्टैम्प नहीं किया जा सकता है)। इस क्रॉस सर्टिफिकेट की आपूर्ति करें (आपके सीए के स्वयं हस्ताक्षरित प्रमाण पत्र के समान नहीं, या उनके मध्यस्थ प्रमाणपत्र। SignTool है कि MSDN पेज) /ac
स्विच के माध्यम से पर ही उपलब्ध।
फिर SignTool /kp
स्विच के साथ सत्यापित करने का उपयोग y दर्ज करती हैं कहां पार सही ढंग से हस्ताक्षर किए। किसी भी स्विच के बिना साइनटूल सत्यापन की आवश्यकता है कि .cat फाइलें WHQL हस्ताक्षरित हैं, जबकि /pa
स्विच, जो ठीक पहले प्रतीत होता था, अब बहुत ढीला है, और केवल गैर-चालक हस्ताक्षर (जैसे EXE फ़ाइलें, ClickOnce इत्यादि) पर लागू होता है।)।
यदि आप अपना स्वयं का कर्नेल-स्तरीय हस्ताक्षर प्रमाणपत्र प्राप्त नहीं करना चाहते हैं (जो पहले से कहीं अधिक आसान है, स्पष्ट रूप से, इससे पहले वेरीसिगन के सुपर महंगे तक सीमित थे, और ग्लोबलसाइन 200 अमेरिकी डॉलर प्रति वर्ष, मुझे लगता है माइक्रोसॉफ्ट ने देखा कि नहीं कई लोगों को 64 सिस्टम के लिए कर्नेल-स्तर कारनामे लिखा था), तो आप एक स्व-हस्ताक्षरित जड़ सीए, अपने ड्राइवर संस्थापक यह LocalMachine की "विश्वसनीय रूट प्रमाणन प्राधिकरण" दुकान में स्थापित है बना सकते हैं (certmgr.exe
देखें), और उसके बाद उस .cat फ़ाइल को स्थापित करें जिसे उस पर हस्ताक्षर किया गया था। बेशक, चूंकि यह कर्नेल-स्तरीय कोड प्रमाण पत्र नहीं है, इसलिए आपको केवल .sys फ़ाइलों का उपयोग करना होगा जिनके पास पहले से किसी अन्य से एम्बेडेड कर्नेल-स्तरीय कोड प्रमाणपत्र है (जिसका अर्थ है कि आप केवल ड्राइवर पैकेज में .inf फ़ाइलों को संशोधित कर सकते हैं) । जाहिर है, कुछ छेड़छाड़ है जो स्वयं हस्ताक्षरित प्रमाणपत्रों को .cat फ़ाइलों पर हस्ताक्षर करने की अनुमति देता है (यदि आपने अपना स्वयं का सीए बनाया है, तो उसके साथ एक प्रमाणपत्र पर हस्ताक्षर किए हैं, फिर उसके साथ अपनी .cat फाइलों पर हस्ताक्षर किए हैं, यह काम नहीं करेगा इस)।
एक सूट है कि हर ड्राइवर INF पैकेज बनाता है, libwdi देखने के लिए ऐसा करता है, और कैसे के लिए बिल्ली फ़ाइलों पर अपने स्व-हस्ताक्षरित प्रमाण पत्र विंडोज पर स्थापना के लिए अनुमति देते 8.
EDIT2:
निकाला गया CERTUM "ओपन सोर्स" डेवलपर सर्टिफिकेट का उल्लेख है, क्योंकि यह माइक्रोसॉफ्ट द्वारा क्रॉस-सर्टिफिकेट नहीं है (जिसे आप प्राप्त करते हैं वह प्रमाणित ट्रस्ट नेटवर्क नहीं है, जो माइक्रोसॉफ्ट क्रॉस-सर्टिफाइड है)।
उपभोक्ता पूर्वावलोकन प्राप्त करना बहुत छोटा है। तो आप अपने लिए खोज सकते हैं। विश्वास करना मुश्किल है कि आपने नहीं किया है। इसके अलावा, आप चीजें बेचते हैं लेकिन हस्ताक्षर के लिए $ 200 खांसी के लिए तैयार नहीं हैं ?! आपकी कंपनी के वार्षिक मुनाफे के एक अंश के रूप में क्या है? –
उपभोक्ता पूर्वावलोकन प्राप्त करने से वास्तव में यह निर्णय लेने में मदद नहीं मिलेगी। मैं आदर्श रूप से समय पर आगे बढ़ना चाहता हूं और विंडोज 8 की आधिकारिक प्रति प्राप्त करना चाहता हूं। और हाँ, मैं मितव्ययी हूं। –
इस प्रश्न पूछने के लगभग 7 महीने बाद, मैंने विषय के बारे में जो कुछ भी सीखा है, उसे समझाते हुए एक बड़ा लेख लिखा: http://www.davidegrayson.com/signing/ संक्षेप में, विंडोज 8 आपको अपनी आईएनएफ फाइलों पर हस्ताक्षर करने की आवश्यकता है लेकिन यह WHQL हस्ताक्षर होने की आवश्यकता नहीं है; इसमें सिर्फ ट्रस्ट की एक श्रृंखला होनी चाहिए जो विश्वसनीय रूट प्रमाणीकरण प्राधिकरण सूची में प्रमाण पत्र पर वापस आती है। –