2009-07-15 13 views
6

मेरे पास डिजिटल हस्ताक्षर द्वारा हस्ताक्षरित प्रोजेक्ट के लिए एक्सई है जिसका मतलब है कि जब यह व्यवस्थापक अधिकारों के लिए पूछता है तो यह कंपनी का नाम दिखाता है। यह बहुत अच्छी तरह से काम करता है लेकिन यदि आप exe को संशोधित करते हैं तो यह अभी भी काम करेगा और इसके बजाय अज्ञात दिखाएगा।प्रोग्रामिंग के डिजिटल हस्ताक्षर की जांच

क्या डिजिटल हस्ताक्षर जांचने का कोई तरीका है यह देखने के लिए कि क्या यह संशोधित संस्करणों से बचने के लिए exe चलाते समय मान्य है या नहीं?

विजुअल स्टूडियो 2008 विंडोज 7

उत्तर

8

Here एक नमूना कार्यक्रम (यह WinVerifyTrust समारोह उपयोग करता है) कि हस्ताक्षर की पुष्टि करता है, लेकिन मुझे यकीन है कि यह विंडोज 7 के तहत काम करेंगे आप इसे की कोशिश करनी चाहिए नहीं कर रहा हूँ।

+2

WinTrustVerify बनाने के लिए कॉल है। यह आपको बताएगा कि बाइनरी कोड-हस्ताक्षरित था। यदि आपको यह सुनिश्चित करने की ज़रूरत है कि इसे किसी विशिष्ट प्रमाणपत्र (उदा। आपकी कंपनी) के साथ हस्ताक्षरित किया गया है, तो आपको प्रमाणित करने के लिए CertVerifyCertificateChainPolicy को कॉल करने की आवश्यकता है (संभवतः एक लूप में)। – selbie

0

ध्यान में रखते हुए कि आपके पास पहले से ही एक यूएसी आवश्यकता है, क्या यह "कंप्यूटर कॉन्फ़िगरेशन \ विंडोज सेटिंग्स \ स्थानीय नीतियों \ सुरक्षा विकल्प" में GPO विकल्प को सेट करने के लिए पर्याप्त नहीं होगा "केवल हस्ताक्षरित किए गए निष्पादन योग्य और मान्य हैं"? "Use Certificate Rules on Windows Executables for Software Restriction Policies" सेटिंग भी उपयोगी हो सकती है।

ये सेटिंग्स आपके स्वयं के एप्लिकेशन से जांचने की कोशिश करने से बेहतर हैं, क्योंकि पूरा बिंदु यह है कि जब आप अपनी बाइनरी संशोधित करते हैं तो आप अपने आप पर भरोसा नहीं कर सकते हैं।

+0

यह अंतिम उपयोगकर्ताओं comps पर स्थापित किया जाएगा, इसलिए मैं उस विकल्प को सेट नहीं कर सकता। मैं फिर भ्रष्टाचार के बारे में चिंतित हूं "हैकर्स"। – Lodle

+0

ठीक है, आपके प्रश्न से स्पष्ट नहीं था कि आप मर्फी या माचियावेली से डरते थे या नहीं। – MSalters

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