Tôi có một ứng dụng Android (và kho khóa sản xuất) được tạo lần đầu tiên với Adobe Air. Từ lâu, công ty đã chuyển sang Android SDK thông thường để phát triển ứng dụng nhưng khi ứng dụng đã được sản xuất, kho khóa chúng tôi sử dụng vẫn là cùng một phiên bản (được tạo bởi Adobe Air).Kho khóa SHA1 khác với cert.rsa SHA1 từ APK
tôi đã sử dụng keytool để trích xuất các SHA1 cho API của Google Places, tôi có một cái gì đó dọc theo những đường:
Alias name: <alias_name>
Creation date: Jan 11, 2015
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=<company_name>, OU=, O=, C=US
Issuer: CN=<company_name>, OU=, O=, C=US
Serial number: <lotsofnumbers>
Valid from: Mon Mar 28 14:08:17 IST 2011 until: Sat Mar 29 14:08:17 IDT 2036
Certificate fingerprints:
MD5: ..:8D:F7
SHA1: ..:E6:69
SHA256: ..:38:9A
Signature algorithm name: SHA1withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
codeSigning
]
SHA1 này (kết thúc bằng E6: 69) không bao giờ làm việc trong API của Google Places vì vậy tôi đã kiểm tra những gì đã các CERT.RSA APK chứa và nó trông gần như giống nhau, ngoại trừ dấu vân tay Giấy chứng nhận:
Valid from: Mon Mar 28 14:08:17 IST 2011 until: Sat Mar 29 14:08:17 IDT 2036
Certificate fingerprints:
MD5: ..:E1:30
SHA1: ..:72:74
SHA256: ..:9D:6D
Signature algorithm name: SHA1withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
codeSigning
]
SHA1 này (kết thúc bởi 72:74) đã làm việc một cách hoàn hảo và cuối cùng tôi quản lý để sử dụng API của Google Places trong sản xuất. Nhưng tôi không hiểu tại sao hai dấu vân tay đó lại khác nhau.
Tôi chắc chắn 1000% đó là cùng một kho khóa, vậy làm thế nào điều này có thể xảy ra?
Khi tôi nhìn vào phím debug android các thông tin được cấu trúc theo cùng một cách nhưng Extensions là khác nhau:
Alias name: androiddebugkey
Creation date: Oct 26, 2014
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 3bddeb55
Valid from: Sun Oct 26 21:03:56 IST 2014 until: Tue Oct 18 22:03:56 IDT 2044
Certificate fingerprints:
MD5: ..:01:17
SHA1: ..:00:77
SHA256: ..:32:93
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: <weird hexa number and characters>
0010: <weird hexa number and characters>
]
]
Để tóm tắt câu hỏi của tôi:
- Làm thế nào có thể như vậy các SHA1 làm không khớp?
- Có thể là sự khác biệt Tiện ích mở rộng không?
- Làm cách nào để sử dụng công cụ khóa (hoặc công cụ khác) để hiển thị cho tôi SHA1 đúng?
- Tôi có thể loại bỏ Tiện ích ký mã này để quay lại "kho khóa Android bình thường" không?
như xa như tôi biết, phương pháp này sẽ chỉ cho bạn thấy những SHA1 cho debug keystore – yogipriyo