2011-12-31 40 views
6

keytool -exportcert -alias mykeystore -keystore mykeystore| openssl sha1 -binary | openssl base64băm khóa facebook, sự nhầm lẫn của kho khóa android

Xin chào, tôi đang sử dụng lệnh trên để tạo khóa băm facebook của mình. Nó yêu cầu mật khẩu của tôi và cung cấp cho tôi một băm khóa. Tôi đặt băm quan trọng này trong cài đặt ứng dụng facebook, nhưng nó không hoạt động cho ứng dụng android đã ký của tôi.

Khi tôi gỡ lỗi ứng dụng android, tôi thấy thông báo trên bảng điều khiển cho biết nó không nhận ra "android key hash blahblahblah" vì vậy tôi đã sao chép "blahblahblah" vào ứng dụng facebook và đã hoạt động - ứng dụng android của tôi có thể sử dụng công cụ facebook trong khi ở chế độ gỡ lỗi. Nhưng rõ ràng đó chỉ dành cho kho khóa gỡ lỗi. Bây giờ cho keystore thực sự nó tạo ra vẫn còn sai, do đó, một phiên bản sản xuất của ứng dụng của tôi sẽ không thể sử dụng facebook api.

Một điều về kho khóa của tôi là nó đã được thực hiện trong nhật thực. Nó là một kho khóa với hai khóa trong đó. Tôi đã nhận thấy rằng keystore eclipse hoạt động khác với các keystore của dòng lệnh và chúng không tương thích với việc ký kết mọi thứ. Tuy nhiên, tôi đã phát hành một phiên bản của ứng dụng của tôi vì vậy tôi cần phải thực hiện do các phím tôi đã sử dụng.

Được đánh giá cao.

Trả lời

5

Sử dụng keytool -list để liệt kê các bí danh bạn có. Nếu bạn không chắc chắn bạn đã sử dụng mã nào để ký APK bạn đã phát hành, hãy thử cả hai. Một người nên làm việc.

+0

bạn có thể cho tôi lệnh đầy đủ không? Tôi đã làm 'keytool -list -keystore mykeystore', nó yêu cầu mật khẩu của tôi và sau đó hiển thị dấu vân tay chứng chỉ, có định dạng' Chứng chỉ vân tay (MD5): 2B: 43: D7: 57: ....... ..' mà không phải là định dạng có facebook muốn. làm cách nào để liệt kê bí danh hoặc bất kỳ điều gì, không chắc chắn cách tiến hành – CQM

+2

Sử dụng 'keytool -list -v -keystore' để liệt kê các bí danh (kiểm tra các dòng 'Bí danh: ...'), sau đó thay thế bí danh trong tên gốc của bạn lệnh với những người đó. –

0

Nếu chạy Cygwin trên Windows, sử dụng cygpath để tìm keystore:

keytool -exportcert -alias androiddebugkey -keystore $(cygpath -aw ~/.android/debug.keystore) | openssl sha1 -binary | openssl base64 Keystore-Kennwort eingeben: android 

Nếu sử dụng/cygpath/c/Users/tên/... nó sẽ không hoạt động.

1

Tôi đã có cùng một vấn đề này - gỡ lỗi khóa băm đã làm việc nhưng khóa sản xuất thì không. Tôi đã kết thúc cài đặt OpenSSL từ một nguồn khác với cài đặt ban đầu, tạo lại khóa băm và nó đã khắc phục được sự cố. Đây là trang web mà tôi có OpenSSL hoạt động: http://gnuwin32.sourceforge.net/packages/openssl.htm.

+0

Dude. Bạn là CUỘC SỐNG SAVER. Mỗi bài đăng khác là * CÁCH * để đăng nhập. Tôi đã làm điều đó vì vậy tôi đã nhận được một chút tuyệt vọng như tôi đã triển khai cho GooglePlay và một số xét nghiệm beta của tôi đã nhận được khó chịu. Khi tôi nhìn thấy bình luận của bạn, tôi ngay lập tức đi theo liên kết của bạn và sử dụng phiên bản OPENSSL đó. – Krafty

+0

Vui vì nó đã giúp bạn! –