2013-03-04 59 views
7

Để nhận khóa của dự án Android của tôi, Google yêu cầu dấu vân tay SHA1. Cung cấp lệnh này: keytool-list-v-keystore mystore.keystoreLàm cách nào để lấy dấu vân tay SHA1 từ chứng chỉ p12?

tôi đã đi qua các tùy chọn khác nhau, nhưng luôn luôn trong một lỗi lựa chọn bất hợp pháp: tập tin keytool: -list [OPTION] ...

Đối ví dụ: lệnh của tôi:

C:\Program Files (x86)\Java\jre7\bin>keytool -storepass mypass -list -v -keystore C:\Program Files (x86)\Java\jre7\bin\android.p12 

Nếu tôi đặt tập tin p12 trong thư mục gốc (c :) thì tôi gặp lỗi khác - Định dạng kho khóa không hợp lệ.

Trả lời

9

Đối với định dạng p12 (PKCS12), hãy sử dụng tùy chọn -storetype PKCS12.

Ví dụ:

keytool -list -v -keystore mykeystore.p12 -storetype PKCS12 -storepass 123456 

Đối với thanh tra keystore/giấy chứng nhận & thao tác i khuyên GUI công cụ Portecle (trước đây là: KeyToolGUI). Here là trình cài đặt cửa sổ tiện lợi.

+0

Rất cám ơn, Pawel. Nó hoạt động tốt. – Astraport

+0

Hoạt động trên Mac cũng như qua Thiết bị đầu cuối. ;) – crooksy88

9

này cũng có thể được thực hiện với OpenSSL:

openssl pkcs12 -in <my pkcs12 file>.p12 -nodes -passin pass:<passphrase, or blank> |openssl x509 -noout -fingerprint 
+0

Tôi sẽ thêm -md5 sau khi -fingerprint. Bên cạnh đó hoạt động ok. – Piohen

0

Nếu bạn đang sử dụng Android Studio. Bạn có thể nhận được nhanh chóng tiện lợi các SHA1 giấy chứng nhận dấu vân tay (gỡ lỗi, phát hành ... tất cả Xây dựng các loại !!) thông qua Gradle Nhiệm vụ:

signingReport

SHA1 được thể hiện trong Tin nhắn Logs

Plugin Android (được định cấu hình trong ứng dụng gradle) tạo ra một lỗi gỡ lỗi chế độ cho mặc định. Tuyến đường tệp đến kho khóa: TRANG CHỦ/.android/debug.keystore

Tôi khuyên bạn nên đính kèm debug.keystore vào build.gradle. Để thực hiện việc này, hãy đặt một tệp debug.keystore vào thư mục ứng dụng.

Thêm: Nếu bạn muốn tạo bản phát hành, hãy đặt tệp release.keystore vào thư mục ứng dụng. (Ví dụ này sử dụng cùng một debug.keystore)

Các vấn đề liên quan