2009-08-18 17 views
8

पर हस्ताक्षर करने पर मैं एईएस एन्क्रिप्शन के लिए उछाल वाले महल प्रदाता का उपयोग कर रहा हूं। मुझे बीसी और मेरे जार से एक वसा जार बनाने की जरूरत है, लेकिन जैसे ही मैं इसे करता हूं मुझे एल्गोरिदम को अपवाद नहीं मिला है। क्या यह संकेत से छुटकारा पाने और नियमित जार बनाने से संभव है?हस्ताक्षरित जार

मेरे निर्माण प्रक्रिया है ..

  • मैं अपने निर्माण निर्देशिका करने के लिए सभी जार अनज़िप।
  • तो जब मैं

    SecretKeyFactory.getInstance (कलन विधि) का उपयोग करने का प्रयास करें META-INF निर्देशिका

  • अपने आवेदन
  • जार यह चींटी

त्रुटि iget का उपयोग कर हटाने के संकलन;

एल्गोरिदम उछाल वाले महल से PBEWITHSHA256AND128BITAES-CBC-BC है।

+0

नहीं पर्याप्त जानकारी: एक जार फ़ाइल एक ज़िप फ़ाइल तो लिनक्स पर आप ऐसा कर सकते है। * बिल्कुल * आपको त्रुटि कब मिलती है? * बिल्कुल * त्रुटि संदेश क्या है? मार्टिन एसएफ/डीएसए फाइलों के बारे में सही है, साथ ही आपको MANIFEST.MF से digests को भी हटा देना पड़ सकता है। मेटा-आईएनएफ निर्देशिका को पूरी तरह से हटाने का अच्छा विचार नहीं है (सुनिश्चित नहीं है कि यह बिना किसी स्पष्ट जेएआर है) –

+0

कृपया अपना प्रश्न –

उत्तर

9

जब आप एक जार फ़ाइल पर हस्ताक्षर करते हैं, तो नई फ़ाइलें मेटा-आईएनएफ निर्देशिका में जोड़ दी जाती हैं, उदा। "MKSIGN.SF" और "MKSIGN.DSA"। बस उन्हें जार फ़ाइल से हटाएं (किसी भी ज़िप उपयोगिता के साथ), और आपने इसे हस्ताक्षरित किया है।

+0

बंद करें मैं पूरी तरह से मेटा-आईएनएफ निर्देशिका को हटा देता हूं, मुझे कोई एल्गोरिदम अपवाद नहीं मिला –

+3

यह व्यावहारिक नहीं है। जब आपका प्रमाणपत्र समाप्त हो जाता है और आपको उस "lib" फ़ोल्डर में 40 जार फिर से हस्ताक्षर करने की आवश्यकता होती है, तो यह एक-एक करके दर्द होता है। –

+0

चेरीओ, यह अभी भी उत्तर है, यदि आपके पास 40 हस्ताक्षर करने के लिए प्रोग्रामिंग स्वचालित रूप से स्वचालित हो सकता है। लेकिन जगह पर एक जार फिर से हस्ताक्षर करने के बजाय इस मुद्दे से बचने के लिए इसे एक अलग डीआईआर पर हस्ताक्षर करें। – jzd

0

आपको हस्ताक्षरित जार से हस्ताक्षर फ़ाइलों को हटाना होगा। ज़िप में अपना एक्सटेंशन बदलें, हस्ताक्षर फ़ाइलों को हटाएं, और जार में वापस बदलें। अब से वह जार अब हस्ताक्षरित नहीं है।

0

मैंने एक पर्ल स्क्रिप्ट एक साथ रखा जो मैं जेएआर हस्ताक्षर को हटाने के लिए उत्पादन में उपयोग करता हूं। बस जार के साथ फ़ोल्डर को तर्क के रूप में पास करें। यह लिनक्स में काम करता है। यह सिग्विन के साथ काम कर सकता है हालांकि मैंने इसे विंडोज़ में परीक्षण नहीं किया है।

https://docs.google.com/document/d/1B1uEUIiuxh7WdPldD9rUun3COAefjczfdJTMWEecE1g/edit?usp=sharing

6

एक जार फ़ाइल से हस्ताक्षर निकालने के लिए, यह से META-INF निर्देशिका को हटा दें।

zip -d file.jar 'META-INF/*.SF' 'META-INF/*.RSA' 
+0

ग्रेट - बिल्कुल मुझे क्या चाहिए! यदि अन-साइन करने के लिए कई फाइलें हैं, तो कोई * i * में * .jar का उपयोग कर सकता है; zip -d "$ i" 'मेटा-आईएनएफ/*। एसएफ' 'मेटा-आईएनएफ/*। आरएसए'; किया '... – tohuwawohu

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