SHA-1뿐만 아니라 Java의 keytool에서 MD5 지문을 어떻게 얻을 수 있습니까?


105

내 애플리케이션에서 Google지도를 사용하려면 디버그 인증서의 MD5 지문이 필요합니다. 나는 다음을 시도했다. :

(여기서는 bin 폴더의 C : \ Documents and Settings \ Administrator.android에서 debug.keystore 파일을 복사했습니다.)

C:\Program Files\Java\jdk1.7.0\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

그러나 다음과 같은 결과를 얻었습니다.

androiddebugkey, May 27, 2011, PrivateKeyEntry,Certificate fingerprint (SHA1): "some code"

그러나 그것은 MAP API 키를 얻기 위해 작동하지 않습니다. SHA1은 MD5와 동일합니까?

MD5 인증서를 받으려면 어떻게해야합니까?

답변:


189

JDK 1.7이 설치되면 keytool은 항상 MD5가 아닌 기본적으로 SHA1 지문을 출력합니다. -v 옵션을 추가하여 MD5 인증서를 얻을 수 있습니다.

다음 코드를 사용하십시오.

C:\Program Files\Java\jdk1.7.0\bin>keytool -v -list -alias
androiddebugkey -keystore debug.keystore -storepass android -keypass android

MD5 인증서도 출력됩니다.


7
감사합니다. -v 옵션이 저를 위해 해주었습니다
Joseph Earl

이제 MD5 및 sha1 프로세스가 Google을 변경했습니다. 여기에서 MD5를 얻은 후 Google API 콘솔에서 API 키를 가져와야합니다. 들 덕분에
Crishnan 엥가

@ Ankit-Saxena-이 stackoverflow.com/questions/55336382/… -v 옵션이 저와 함께 작동하지 않습니다.
v1h5

25

MD5 값과 SHA1 ... 등을 얻으려면 아래에서 다음을 수행하십시오.

이 전에 debug.keystore를 C 드라이브에서 만든 폴더 Androidkeystore에 복사하는 것을 잊지 마십시오.

C:\Program Files\Java\jdk1.7.0_05\bin>keytool -v -list -keystore C:\Androidkeyst
ore\debug.keystore

여기에 묻습니다. 키 스토어 비밀번호 입력 : android

여기에 입력하십시오 MD5 및 SHA1..etc

Keystore type: JKS
Keystore provider: SUN

Your keystore contains ? entry

Alias name: androiddebugkey
Creation date: ?? ???, ????
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[?]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 67b6344b
Valid from: Mon Jun 18 20:33:56 IST 2012 until: Wed Jun 11 20:33:56 IST 2042
Certificate fingerprints:
         MD5:  C2:61:51:3E:BC:C8:0C:DB:75:B6:E7:C4:90:AD:91:39
         SHA1: CD:5E:8A:0F:4E:0F:2E:FD:92:5E:5E:4R:CF:F8:44:33:2C:8C:B8:97
         SHA256: B5:BF:75:60:DB:62:09:49:F1:38:CH:49:18:22:18:95:03:C9:5C:14:F6:
B0:F4:21:D2:19:B8:FF:38:D2:B9:FD
         Signature algorithm name: SHA256withRSA

참고 : 디렉토리 경로에 공백이 있으면 따옴표로 묶어야합니다. 예를 들어 다음 형식을 사용하십시오.

-keystore "C : \ Users \ Your Name \ .android \ debug.keystore"


3
@AnkitSaxena이 답변은 더 낫고 도움이되었으므로 다른 정보로 대체 답변을 제공하는 것을 멈추지 마십시오. 이 답변 +1 주셔서 감사합니다 K.krishnan
귀무자

6

jdk 7을 사용하는 경우 :

-v 옵션을 사용하십시오.


1
이 질문을 한 날짜를 기록해 두십시오. 더 나은 대답이 있다고 생각하지 않는 한 오래된 질문에 대답하지 마십시오.
Riking

내 문제가 해결 되었기 때문에 그렇게했습니다. 그리고 방금 문제가 생겼습니다. 누군가가 지금 같은 문제를 가지고 오면 그냥 남겨두고 싶었습니다. 덧붙여서 마이너스 2 점 감사합니다. :(
fjs

5

더하다 -v

바로 keytool전후-list

keytool -v -list

3

'debug.keystore'파일을 c:\ 또는 일부 폴더로 복사

당신은 가서 c:\Program Files\Java\jdk1.6.25\bin folder 입력 하려고

c:\Program Files\Java\jdk1.6.25\bin>keytool -list -keystore c:\debug.keystore

비밀번호는 'android'입니다.


3

-v 플래그는 SHA1 인증도 제공합니다. 이 플래그가 없으면 MD5 지문 만 얻습니다.


3

SHA 1, MD 5 를 얻는 가장 쉬운 방법 은 Android Studio 화면 모서리 근처의 오른쪽 상단에있는 Gradle을 클릭하는 것입니다. 그런 다음 앱의 이름을 클릭합니다 (예 : android123 (root) : 다음과 같이 표시됩니다). 그 후 android라는 하위 폴더 를 찾아서 signingReport 로 이동합니다 . 콘솔에서 실행되어야하며 SHA 1, MD 5가 표시되어야합니다. 도움이 되기를 바랍니다 .


감사합니다! 다른 모든 답변은 저에게 효과가 없었지만이 답변은 효과가있었습니다.
Yuri Reis

2

명령 프롬프트 (관리자)를 열고 다음을 입력하여 Windows 8의 문제를 해결했습니다.

C:\Program Files (x86)\Java\jre7\bin>keytool -v -list -keystore C:\<Your Path>\<Your Keystore>

그런 다음 https://code.google.com/apis/console/ 로 이동 하십시오.

새 인터페이스로 변경 되었으므로 왼쪽 의 API 및 인증 탭으로 이동 한 다음 등록 된 앱으로 이동 하여 기존 API 키를 선택하여 교체하거나 이전에 생성 된 SHA1 코드를 사용하여 새 키를 만들어야합니다.

그것이 내가 작동하게 한 방법입니다.



1

Eclipse의 키 저장소를 사용하여 프로젝트를 내보내기 만하면 마지막 단계에서 SHA-1과 MD-5를 모두 얻을 수 있습니다.

여기에 이미지 설명 입력

자세한 내용 은 이 질문 을 참조하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.