2009-01-10 12 views
16

मैं कुछ वर्षों से वेब स्टार्ट के साथ काम कर रहा हूं और जारों पर हस्ताक्षर करने और क्या नहीं। मैं वेब स्टार्ट के साथ एक आरसीपी ऐप को तैनात करने का अपना पहला प्रयास कर रहा हूं और हालांकि मैंने वास्तव में उसी प्रमाणपत्र के साथ सभी जारों पर हस्ताक्षर किए हैं, मुझे यह त्रुटि मिल रही है: 'jnlp में जार संसाधन उसी प्रमाणपत्र द्वारा हस्ताक्षरित नहीं हैं'jnlp में जार संसाधन उसी प्रमाणपत्र द्वारा हस्ताक्षरित नहीं हैं

क्या कोई और इस पर आया है? यदि हां, तो कैसे ठीक किया जाए इस पर कोई विचार?

उत्तर

12

जब जार की जांच के बाद मुझे इसी तरह की समस्याएं आईं तो यह पता चला कि किसी तीसरे पक्ष के जार पर किसी और ने हस्ताक्षर किए थे।

आप जार अन्य प्रमाण पत्र द्वारा हस्ताक्षर किए के लिए एक अलग jnlp फ़ाइल बनाते हैं और अपने jnlp फ़ाइल से इस jnlp पढ़ना चाहिए:

<resources> 
    ... 
    <extension name="other" href="other.jnlp"/> 
</resources> 

Here या here आपको एक उदाहरण मिल सकते हैं।

+0

यह कुल समझ में आता है, धन्यवाद! – javamonkey79

+2

मैं इसी समस्या में आया था। विस्तारों का उपयोग करने के बजाय, मैंने हस्ताक्षर फाइलों (उदाहरण के लिए मेटा-आईएनएफ/*। आरएसए, * .DSA, और * एसएफ) को तीसरे पक्ष के जार से खुद को हस्ताक्षर करने से पहले एक छोटी सी लिपि लिखी थी। – qualidafial

+1

यह ठीक है अगर आपको मूल हस्ताक्षर की आवश्यकता नहीं है। लेकिन कभी-कभी आपको इसकी आवश्यकता होती है। – asalamon74

3

यह एक पुस्तकालय के रूप में उपयोग किए जाने वाले पहले से हस्ताक्षरित जार से एक पुरानी अभिव्यक्ति प्रविष्टि हो सकती है। मुझे वेबस्टार्ट के माध्यम से जॉगल के साथ इस समस्या का सामना करना पड़ा। इसे आज़माएं:

सभी जार अनजिप करें, सभी मेटा-आईएनएफ निर्देशिकाओं को जर्ज करें, उन्हें फिर से साइन करें।

3

मुझे पता चला है कि जेएनएलपी/वेबस्टार्ट को किसी दिए गए जार के लिए jarsigner.exe के माध्यम से एकाधिक हस्ताक्षर/हस्ताक्षर पसंद नहीं है। यदि बाउंसीकास्टल (जिसे निर्धारित किया जाता है) जैसे एक जार को आपकी कंपनी के प्रमाण पत्र के साथ फिर से हस्ताक्षरित किया गया है, तो दृश्य निरीक्षण मुझे विश्वास दिलाता है कि नए प्रमाणपत्र और हस्ताक्षर जार में ठीक से किए जाते हैं। लेकिन जेएनएलपी मेटा-आईएनएफ में केवल पहला (वर्णमाला?) हस्ताक्षर पढ़ रहा है, और इस प्रकार शिकायत यह आपके अन्य जेएआर से मेल नहीं खाती है (जिसमें प्रत्येक जार पर केवल एक, कॉर्पोरेट, हस्ताक्षर है)। How do I use multiple JAR files signed by different certificates?

सही समाधान:

+0

मैं इसकी पुष्टि कर सकता हूं। यहां वही: एक्लिप्स द्वारा प्रदान किए गए एक जेएआर के लिए मौजूदा हस्ताक्षर (_E_ से शुरू) और _V_ के साथ शुरू होने वाले हस्ताक्षर जोड़े गए। हस्ताक्षर मेरे अपने प्रमाण पत्र के लिए ठीक है, लेकिन जेएनएलपी ग्रहण प्रमाण पत्र के साथ जांचता प्रतीत होता है। – Kariem

2

पूछे जाने वाले प्रश्न में से एक के लिए स्पष्टीकरण देखें।

2

मेरे पास मैथ्यू द्वारा निर्धारित बाउंसीकास्टल जार के साथ वर्णित सटीक अनुभव था। हालांकि, मैंने पाया कि जेआरई संस्करण 1.6.0_14 और बाद में खुशी से कई हस्ताक्षर वाले जार स्वीकार करेंगे (जैसा कि मैं उम्मीद करता हूं)। इसलिए, मुझे ऊपर वर्णित जेएनएलपी 'घटक विस्तार तंत्र' का उपयोग करने की आवश्यकता नहीं थी।

पीएस 1.6.0_14 रिलीज नोट्स में इस फ़िक्स के लिए कोई स्पष्ट संदर्भ नहीं मिला। हालांकि, मैंने सत्यापित किया है कि कई हस्ताक्षरित जेएआर सभी बाद के संस्करणों में काम करता है (कम से कम 14 - 17 + 24)।

0

मेरी परियोजना में, क्या हुआ यह है कि लोड बैलेंसर पूल में कुछ उदाहरण हैं, कोड के पुराने संस्करण और कुछ नए संस्करण के साथ कुछ उदाहरण हैं। इस प्रकार प्रमाण पत्र प्रमाण पत्र द्वारा हस्ताक्षरित नहीं हैं ...

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