2012-10-11 7 views
9

का उपयोग करते समय हस्ताक्षर करने के लिए मान्य नहीं है अचानक मेरा अप्रत्याशित मेकर/पीवीके 2 पीएफएक्स का उपयोग करके बनाए गए प्रमाणपत्र को क्लिकऑन एप्लिकेशन प्रकाशित करने का प्रयास करते समय त्रुटि आ रही है। यह सिर्फ पिछले सप्ताह ठीक काम किया ...क्लिकऑन साइनर का प्रमाणपत्र मेकर/पीवीके 2 पीएफएक्स

त्रुटि संदेश:

Error 2 An error occurred while signing: Failed to sign bin\Debug\app.publish\setup.exe. SignTool Error: The signer's certificate is not valid for signing. SignTool Error: An error occurred while attempting to sign: bin\Debug\app.publish\setup.exe

जब मैं हस्ताक्षर टैब में "टेस्ट प्रमाणपत्र बनाएं" विकल्प का उपयोग है कि प्रमाणपत्र ठीक काम करता है और एप्लिकेशन को सफलतापूर्वक प्रकाशित हुआ है।

जब मैन्युअल makecer/Pvk2pfx के साथ अपने प्रमाण पत्र बनाने मैं MSDN instructions

जब मैं अपने पुराने मैन्युअल बनाया प्रमाणपत्र मिटाने, makecer/Pvk2pfx का उपयोग कर एक नया बना और उपयोग करने के लिए है कि एक मैं एक ही प्राप्त करने की कोशिश कर रहा हूँ निम्नलिखित त्रुटि।

अनुप्रयोग एक WPF आवेदन को लक्षित नेट 4 और यह सब वी.एस. 2010 में है ...

कोई भी विचार?

उत्तर

20

यह मेरे लिए काम किया के बाद मैं 1024 से प्रमाण पत्र की लंबाई अधिक से अधिक निर्दिष्ट:

makecert -sv MyApp.pvk -n "CN=MyCompany" -len 2048 MyApp.cer -r 
pvk2pfx -pvk MyApp.pvk -spc MyApp.cer -pfx MyApp.pfx -po MyPassword 

माइक्रोसॉफ्ट ने एक अद्यतन जारी किया जो 1024 बिट्स से कम आरएसए कुंजी वाले सभी प्रमाणपत्रों को प्रभावित करता है।

http://support.microsoft.com/kb/2661254

+0

हाँ, यह अंतर्निहित समस्या थी। मुझे लगता है कि -लेन स्विच जरूरी नहीं है हालांकि अद्यतन मेकर्ट के बाद डिफ़ॉल्ट रूप से 1024 से अधिक लंबाई वाले प्रमाण पत्र बनाता है। –

+3

मेरा प्रमाणपत्र अमान्य था इसलिए मैंने कोशिश की- 2048 और यह अभी भी अमान्य था। वास्तविक समस्या को ** - आर ** जोड़कर हल किया गया था, जिसके बाद साइनटोल त्रुटि हटा दी गई थी। – AshRolls

5

मेकर्ट के साथ -r स्विच (स्वयं हस्ताक्षरित प्रमाणपत्र बनाएं) का उपयोग करने के बाद पीवीके 2 पीएफएक्स के साथ उत्पन्न पीएफएक्स प्रमाण पत्र अब क्लिकऑन प्रकाशन के लिए काम करता है ... सुनिश्चित नहीं है कि पुरानी कुंजी के बाद से क्या हुआ, जो "स्वयं हस्ताक्षरित नहीं था "एक लंबे समय के लिए ठीक काम किया ...

सटीक आदेशों मैं काम कर pfx प्रमाण पत्र बनाने के लिए इस्तेमाल ...

makecert -sv MyApp.pvk -n "CN=MyCompany" MyApp.cer -r 

pvk2pfx -pvk MyApp.pvk -spc MyApp.cer -pfx MyApp.pfx