से कच्चे X.509 प्रमाण पत्र निकालें मेरे पास विभिन्न जारों पर हस्ताक्षर करने के लिए उपयोग की जाने वाली सार्वजनिक कुंजी के एमडी 5 हैंश, और उनके संबंधित कीस्टोरों पर मैपिंग है जिसका उपयोग हम विभिन्न एपीके पर हस्ताक्षर करने के लिए करते हैं। मैं क्या करने में सक्षम होना चाहता हूं यह पहचानना है कि एपीके पर हस्ताक्षर करने के लिए किस कुंजीस्टोर का उपयोग किया गया था, लेकिन परीक्षण और त्रुटि का उपयोग किए बिना। (इसके अलावा, दुख की बात है कि, हमारी कई चाबियाँ समान या समान डीएन साझा करती हैं।)एक हस्ताक्षरित एपीके या जेएआर
मेरा समाधान, क्योंकि मुझे पता है कि मेटा-आईएनएफ/FOO.RSA (या FOO.DSA) में प्रमाण पत्र है, प्रमाणपत्र से निकालना था एपीके की आरएसए फ़ाइल और सीधे एमडी 5 हैश की गणना करें। (मुझे पता है कि प्रमाण पत्र वहां है क्योंकि यह एक चल रहे एंड्रॉइड एप्लिकेशन के लिए सुलभ है, और jarsigner दस्तावेज मुझे बताता है कि यह वहां है।)
लेकिन मुझे कोई ऐसा उपकरण नहीं मिल रहा है जो मुझे प्रमाण पत्र के वास्तविक बाइट्स देता है। जब मैं jarsigner -verbose -verify -certs my.apk
का उपयोग करता हूं तो मैं डीएन और प्रमाणपत्र मेटाडेटा प्राप्त कर सकता हूं, लेकिन यह मुझे बाइट्स नहीं देता है।
धन्यवाद! मुझे बस एक स्क्रिप्ट काम कर रहा है। उन लोगों के लिए जो उत्सुक हैं, आरएसए फ़ाइल में निम्न पैटर्न है: * अज्ञात जानकारी के 54 बाइट * आने वाले प्रमाणपत्र की लंबाई के साथ 2 बाइट शॉर्ट (बड़ा-एंडियन) * एन बाइट्स सर्टिफिकेट * अज्ञात –