2015-02-17 8 views
6

मैं विभिन्न .exe/.dll फ़ाइलों के लिए डिजिटल हस्ताक्षर लागू करने के लिए signtool का उपयोग कर रहा हूं। हालांकि, विंडोज एक्सप्लोरर में हस्ताक्षरित फाइलों को देखते हुए पता चलता है कि कोई भी ई-मेल पता सेट नहीं है, इस स्क्रीनशॉट में बहुत कुछ है (मैं "पैरामाउंट सॉफ्टवेयर यूके लिमिटेड" से संबद्ध नहीं हूं - यह स्क्रीनशॉट केवल पहला परिणाम है I गूगल के जरिये पाया जाता है):बाइनरी फ़ाइल पर हस्ताक्षर करते समय मैं ई-मेल पता कैसे निर्दिष्ट कर सकता हूं?

Screenshot of Windows explorer showing signature details without e-mail address

हालांकि, मैं यह भी देखा अन्य स्क्रीनशॉट दिखा रहा है कि यह (एक ई-मेल पते को परिभाषित करने के भले ही वह इस मामले में एक फर्जी एक है, की तरह) किसी भी तरह संभव है:

Screenshot of Windows explorer showing signature details including e-mail address

क्या यह ई-मेल पताके माध्यम से सेट करना संभव है, या यह वास्तव में प्रमाण पत्र की एक संपत्ति है (यानी। प्रमाण पत्र खरीदते समय इसे निर्दिष्ट करने की आवश्यकता है)?

+0

मुझे उम्मीद है कि यह उस प्रमाणपत्र की संपत्ति है जिस पर आप हस्ताक्षर कर रहे हैं, और आपको एक नया प्रमाणपत्र प्राप्त करने की आवश्यकता होगी जिसमें आपका ईमेल शामिल हो। ओपनएसएसएल के साथ सीएसआर उत्पन्न करते समय मैंने निश्चित रूप से एक क्षेत्र देखा है। – Rup

उत्तर

7

आपके प्रॉपर्टी के subject distinguished name फ़ील्ड में emailAddress से निकाली गई ईमेल प्रॉपर्टी।

आप स्वयं हस्ताक्षरित प्रमाणपत्र उत्पन्न करने के लिए openssl का उपयोग करके एक परीक्षण कर सकते हैं (फिर आपको emailAddress के साथ उत्पन्न कर सकते हैं और वैध अंत-इकाई प्रमाणपत्र उत्पन्न करने के लिए प्रमाणपत्र प्राधिकरण को भेज सकते हैं)। यह परीक्षण करने के लिए आप का पालन चरणों कर सकते हैं:

पालन openssl आदेश

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 

तो फिर तुम (सभी प्रमाण पत्र की एक विषय के लिए) का पालन मापदंड दर्ज करने को कहा जाएगा का उपयोग कर स्व-हस्ताक्षरित प्रमाणपत्र उत्पन्न :

enter image description here

यह संकेत से बचने के लिए आप सीधे पिछला आदेश का पालन -subj का उपयोग करने में subject निर्दिष्ट कर सकते हैं:

+०१२३५१६४१०
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -subj "/C=ES/ST=58/L=Barcelona/O=yourOrgName/OU=yourDept/CN=yourAppName/[email protected]" 

अब आप का पालन आदेश का उपयोग कर एक p12 (या pfx) जनरेट की गई कुंजी से और प्रमाणपत्र उत्पन्न कर सकते हैं:

openssl pkcs12 -export -out myTestWithMail.pfx -inkey key.pem -in cert.pem 

अब आप एक p12 (myTestWithMail.pfx) है, जो आपके लिए उपयोग कर सकते हैं signtool आदेश का उपयोग कर exe या dll पर हस्ताक्षर करें। उदाहरण के लिए मैं notepad++.exe पर हस्ताक्षर (उदाहरण आप अपने प्रश्न में लिंक के रूप में):

signtool.exe sign /f C:\Users\Albert\myTestWithMail.pfx /p 1234 "C:\Program Files (x86)\Notepad++\notepad++.exe" 

ध्यान दें कि /f अपने हस्ताक्षर कुंजी के रास्ते के लिए है, और /p अपने प्रमुख के लिए पासवर्ड है।

अब आप फ़ाइल में ईमेल अपने आप प्रवेश कर देख सकते हैं:

enter image description here

तो अंत में अगर आप एक प्रमाणपत्र प्राधिकारी से प्रमाणपत्र की जरूरत है आप CSRopenssl आदेश का उपयोग कर उदाहरण के लिए emailAddress को निर्दिष्ट उत्पन्न करने के लिए है:

openssl req -new -newkey rsa:2048 -nodes -out yourAppName.csr -keyout yourAppName.key -subj "/C=ES/ST=58/L=Barcelona/O=yourOrgName/OU=yourDept/CN=yourAppName/[email protected]" 

या वैकल्पिक रूप से विषय विशिष्ट नाम के लिए -subj पैरामीटर निर्दिष्ट करने और सही मान दर्ज जब जनसंपर्क कर रहे हैं के बिना ompted:

openssl req -new -newkey rsa:2048 -nodes -out yourAppName.csr -keyout yourAppName.key 

आशा इस मदद करता है,

2

लघु जवाब: हाँ, ई-मेल एड्रेस प्रमाण पत्र का हिस्सा है और कोई है, तो आप इसे जब एक बाइनरी फ़ाइल पर हस्ताक्षर निर्दिष्ट नहीं कर सकते।

लंबे उत्तर: @albciff ने बताया कि एक प्रमाण पत्र कैसे उत्पन्न किया जाए जिसके साथ एक ईमेल पता है लेकिन ऐसा लगता है कि अगर आपने Thawte से प्रमाण पत्र खरीदा है तो आप भाग्य से बाहर हैं;

जब एक कोड हस्ताक्षर प्रमाण पत्र का इस्तेमाल किया ईमेल पते का सत्यापन प्रक्रिया का हिस्सा नहीं है के लिए दाखिला: अपने साथी जो जवाब दिया हमारे प्रमाणपत्र प्रदाता (Thawte) की तकनीकी सहायता के लिए इस सटीक प्रश्न पूछा। दुर्भाग्यवश, क्योंकि ईमेल सत्यापन प्रक्रिया का हिस्सा नहीं है, इसलिए इसे हस्ताक्षरित कोड के गुणों में शामिल नहीं किया जाएगा।

इसके अलावा, तकनीकी सहायता 'Thawte ज्ञान केंद्र' जो बताते हैं में this article करने के लिए हमें के लिए भेजा:

ई-मेल एड्रेस हमेशा की तरह "उपलब्ध नहीं" प्रकट होता है जब हस्ताक्षर किए कोड के गुणों को देखने । ऐसा इसलिए है क्योंकि प्रमाणपत्र संगठन को मान्य करता है लेकिन संगठन के ई-मेल पते के बारे में कोई जानकारी नहीं चाहिए। इस प्रकार, हमने संगठन को प्रमाणित किया है, लेकिन ई-मेल को मान्य नहीं किया है। यह आपकी आईडी के मूल्य या उपयोग को कम नहीं करता है।

इसलिए प्रमाण पत्र के ईमेल पते का हिस्सा न केवल प्रमाण पत्र के साथ एक ईमेल पता जोड़ सकता है, भले ही प्रमाण पत्र जारी करने पर निर्भर करता है।

+0

@FrerichRabbe जैसा कि मैंने तकनीकी रूप से कहा है, लेकिन यह संभव है लेकिन कुछ प्रमाणपत्र प्राधिकरणों के लिए आप 'ईमेल एड्रेस' का उपयोग नहीं कर सकते क्योंकि वे इसे सत्यापित नहीं कर सकते हैं ... कम से कम 'Thawte'' ... इस मामले के लिए Thawte' व्यवहार मेरे लिए हास्यास्पद है क्योंकि वे सभी अन्य डेटा (एंटरप्राइज़ इत्यादि) को एक प्रमाण पत्र जारी करने के लिए प्रमाणित कर रहे हैं ... वे 'ईमेल' को क्यों मान्य नहीं कर सकते हैं? वैसे भी जैसा आपने कहा था कि आप अन्य प्रमाणपत्र प्राधिकरण के साथ प्रयास कर सकते हैं। – albciff

संबंधित मुद्दे

 संबंधित मुद्दे