2012-01-05 11 views
16

Just noted के बीच क्या अंतर है कि आप जावा 1.7 jarsigner के साथ एंड्रॉइड एपीके पर हस्ताक्षर नहीं कर सकते हैं। तो मुझे आश्चर्य है कि यह क्यों है और 1.6 और 1.7 हस्ताक्षरकर्ता के बीच क्या अंतर है?जावा 1.6 और 1.7 jarsigner

उत्तर

11

इसका कारण यह है डिफ़ॉल्ट जावा 1.7 के लिए एल्गोरिथ्म को पचाने SHA-256 जबकि जावा 1.6 के लिए यह SHA1withDSA है।

Java 1.6 Jarsigner docs

Java 1.7 Jarsigner docs

+1

धन्यवाद। अब मुझे यह पता लगाना है कि सही jarsigner और/या सही sigalg का उपयोग करने के लिए मेवेन को कैसे ट्विक करना है। – Martin

6

हाँ आप 1.7 का उपयोग कर सकते हैं!

यह 1.7 के साथ उपयोग के बारे में जानकारी खोजने के लिए बहुत मुश्किल है, लेकिन एक बार यह उचित सरल है पाया:

Keytool के लिए शामिल

-sigalg SHA1withDSA -keyalg DSA -keysize 1024

के लिए jarsigner शामिल

-sigalg SHA1withDSA -digestalg SHA1

(1024 अधिकतम और काम करता है है, कम कर सकते हैं चाल)

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