2013-06-13 24 views
5

Tôi đã cố gắng tạo khóa sha1 để sử dụng bản đồ google v2 trên windows7. Theo tài liệu google sau khi chạy dưới lệnh:tạo chữ ký với SHA256withRSA thay vì SHA1withRSA

keytool -list -v -keystore "C:\Users\your_user_name\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

sản lượng nên được tương tự như sau (https://developers.google.com/maps/documentation/android/start#getting_the_google_maps_android_api_v2)

Alias name: androiddebugkey 
Creation date: Jan 01, 2013 
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: 4aa9b300 
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033 
Certificate fingerprints: 
     MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9 
     SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75 
     Signature algorithm name: SHA1withRSA 
     Version: 3 

Output của tôi:

Alias name: androiddebugkey 
    Creation date: 12-Jun-2013 
    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: 57376504 
    Valid from: Wed Jun 12 16:22:47 BST 2013 until: Fri Jun 05 16:22:47 BST 2043 
    Certificate fingerprints: 
      MD5: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
      SHA1: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
      Signature algorithm name: SHA256withRSA 
      Version: 3  

    Extensions: 

    #1: ObjectId: 2.5.29.14 Criticality=false 
    SubjectKeyIdentifier [ 
    KeyIdentifier [ 
    0000: 5D 1C 48 72 D9 E2 F0 1A 12 CE 97 CC 1F DA DD F6 ].Hr............ 
    0010: C9 D0 1E 62          ...b 
    ] 
    ] 

Nhưng trong trường hợp của tôi đầu ra tương tự nhưng ngoại trừ.

Signature algorithm name:SHA256withRSA 

Ai đó có thể cho tôi biết cách tạo khóa bởi SHA1withRSA. Lý do để đặt câu hỏi này là khi tôi đang cố gắng sử dụng bản đồ google v2 trong ứng dụng Android của tôi. Lỗi sau được hiển thị. Tôi đoán SHA256withRSA có thể là một lý do cho error.Its này được một vài ngày tôi đang mắc kẹt với sự cho phép failure.It sẽ thực sự tuyệt vời nếu ai đó có thể giúp tôi .. Cảm ơn ..

Authorization failure. Please see https://developers.google.com/maps/documentation/android/start for how to correctly set up the map. 

Trả lời

0

Bạn đang sử dụng JDK 1.7? Nếu có, hãy sử dụng các tham số cho keytool:

-sigalg SHA1WithRSA -digestalg SHA1

Với JDK 1.6 bạn có thể thử hoán đổi vị trí của -v-list (Tôi biết, nghe có vẻ kỳ lạ) để có được tất cả các thuật toán có thể (MD5, SHA1, SHA256)

keytool -list -v -keystore "C: \ Users \ your_user_name.android \ debug.keystore" -alias androiddebugkey -storepass android android -keypass

+0

Hi @Nachi Tôi đang sử dụng jdk 1.6.0_25 – troy

3

Đối với những người khác gặp sự cố này: Tôi đã gặp khó khăn trong việc sử dụng API Google Maps v.2 để hoạt động bằng JDK 1.7 - Tôi tiếp tục nhận được thông báo Lỗi ủy quyền. Vấn đề là, trên thực tế, tên thuật toán chữ ký.

Tôi đã tìm ra cách tạo kho khóa gỡ lỗi phù hợp, sử dụng SHA1. Dưới đây là các lệnh tôi đã sử dụng:

keytool -genkey -v -keyalg RSA -sigalg SHA1withRSA -keystore "%USERPROFILE%\.android\debug.keystore" -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US" 

Sau khi tạo nó, bạn có thể nhìn thấy nó bằng cách sử dụng lệnh:

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

Thuật toán Chữ ký bây giờ sẽ đọc "SHA1withRSA". Sao chép dấu vân tay SHA1 và dán vào bảng điều khiển của Google "Key cho ứng dụng Android" và bạn nên sử dụng.

Xin lưu ý: Hãy chắc chắn rằng bạn xóa debug.keystore nếu nó đã tồn tại trước khi tạo một cái mới bằng cách sử dụng lệnh -genkey đầu tiên ở trên. Nếu kho khóa đã tồn tại, nó sẽ cung cấp cho bạn một lỗi của kho khóa đã tồn tại với các -alias androiddebugkey

+0

Xin lưu ý rằng SHA1 đã được sử dụng rộng rãi từ năm 2014 trở đi. Nó không còn là một thuật toán chứng chỉ đáng tin cậy trên hầu hết các trình duyệt chính. –

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