2012-07-06 29 views
35

से सर्टिफिकेट विवरण प्राप्त करना मैं एक एपीके के साथ हस्ताक्षरित प्रमाणपत्र का विवरण प्राप्त करने के बारे में कैसे जा सकता हूं। मेरे पास विभिन्न प्रमाणपत्रों के साथ हस्ताक्षरित एपीक्स का एक गुच्छा है और मैं उन्हें अपने प्रमाणपत्र के आधार पर समूहित करने की कोशिश कर रहा हूं।एपीके

मैं jarsigner का उपयोग कर प्रमाण पत्र समाप्ति विवरण प्राप्त कर सकता हूं और अपना काम पूरा कर सकता हूं लेकिन अगर मैं कोई और विवरण प्राप्त कर सकता हूं या सार्वजनिक कुंजी निकाल सकता हूं (मुझे विश्वास है कि यह मेटा-आईएनएफ/प्रमाण पत्र में संग्रहीत है। आरएसए लेकिन यह नहीं पठनीय)

+0

आप ऐप (ऐप्स) से X509Certificate निकाल कर यह [रनटाइम] (http://stackoverflow.com/a/7632973/967142) कर सकते हैं - भी देना चाहिए y कहां सार्वजनिक कुंजी मुझे लगता है। – Jens

+0

मैं कोड के बिना इसे करना चाहता हूं (कृपया मुझे स्टैक ओवरफ्लो को चोट न दें) –

+0

[संभवतः एंड्रॉइड डिवाइस पर एपीके पर हस्ताक्षर करने वाले व्यक्ति की पहचान कैसे देखें?] (Http://stackoverflow.com/questions/ 4324120/कैसे-पहचान-पहचान-व्यक्ति-जो-हस्ताक्षरित-एपीके-ऑन-एंड्रॉइड-डिवाइस) –

उत्तर

37

निम्नलिखित का प्रयास करें:

openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs -text 
+4

आप जावा की 'कीटोल' के साथ कुछ जानकारी भी प्राप्त कर सकते हैं: 'keytool -printcert -file CERT आरएसए', लेकिन 'openssl' अधिक वर्बोज़ है, इसलिए मैं इसे पसंद करता हूं। – pevik

30

unzip -p Name-of-apk.apk META-INF/CERT.RSA | keytool -printcert मैं क्या इस्तेमाल किया है।

यह मालिक, जारीकर्ता, सीरियल नंबर, प्रमाण पत्र उंगली प्रिंट, हस्ताक्षर एल्गोरिदम और संस्करण जैसी जानकारी उत्पन्न करता है।

19

मौजूदा जवाब के आधार पर, यहाँ कमांड लाइन है पर मक्खी opensslके उपयोग (& पाइप बजाय एक -infile विकल्प को परिभाषित करने के प्रमाणपत्र अनज़िप) के लिए:

unzip -p App.apk META-INF/CERT.RSA |openssl pkcs7 -inform DER -noout -print_certs -text 
+0

कोई SHA1 – HendraWD

2

आप कर सकते हैं खोल के बिना एंड्रॉयड एसडीके से ApkSigner का उपयोग करें और निम्नलिखित:

apksigner.jar verify --print-certs myApplication.apk 
+1

शानदार उत्तर नहीं है। ध्यान दें कि एंड्रॉइड 7 से शुरू होने पर, एक नई हस्ताक्षर योजना शुरू की गई थी (वी 2) जो सीईआरटी.आरएसए के बिना एपीके फाइलें उत्पन्न करेगी। तो पुराने तरीके (जो openssl/keytool का उपयोग करते हैं) काम नहीं करेंगे। (देखें: https://source.android.com/security/apksigning/v2) –

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