본문 바로가기
호구지책/Java/Android

[안드로이드] 카카오링크 키해시(keyhash) 이슈

by 하늘의흐름 2019. 10. 16.
반응형

kakao.sdk: ErrorResult{errorCode=-401, errorMessage=‘android keyhash mismatched!

 

카카오링크를 구현하다가 다음과 같은 에러를 만났다.

 

keyhash 값이 맞지 않다는 내용인데, 분명히 예전에 잘 작동하던 키 해시였다.

카카오링크의 키 해시값을 변경한 적도 없다.

어디서 문제일까?

 

사실 얼마 전에 구글 플레이 스토어의 어플이 삭제된 것을 확인하고

다시 올리는 과정에서 apk로 되어 있던 어플을 app bunble로 올렸다.

 

app bunble을 선택한 이유는 구글에서 최적화 처리를 해주기 때문이었다.

물론, 구글에서도 apll bunble 사용을 권장하고 있었다.

 

하지만, 카카오링크에서는 이 변화를 자동으로 감지하지 못한다.

따라서 여기에 맞게 한 가지 작업을 해서 키 해시를 추가해줘야 한다.

 

openssl을 사용하는 방법이다.

 

Google Play Conslon에서 출시 관리 -> 앱 서명을 선택하자.

 

앱 서명에 이미 app bunble을 등록했기 때문에 다음과 같은 화면이 나타난다.

 

 

SHA1에 해당하는 인증서 지문을 복사하자. 복사는 화살표에 표시된 아이콘을 클릭하면 자동 복사된다.

 

복사된 인증서 지문은 SHA1: B7:B~~~ 이런 식인데, 앞에 SHA1:은 지운다.

 

그 후에 openssl이 설치된 시스템에서 다음과 같은 명령어를 입력한다. 

 

echo (인증서 지문) xxd -r -p | openssl base64

 

 

 

 

 

그러면 두줄로 값이 나온다.

이때, 윗줄과 아랫줄 중에서 아랫줄의 값이 키 해시가 된다.

그 값을 복사해서 카카오 링크에 넣어주면 된다.

 

 

 

 

* 키해시 = 키해쉬 = keyhash 셋 다 같은 말이다.

 

참조

안드로이드 카카오로그인 오류 엡 사이닝 관련 버그인가요? - 카카오데브톡

카카오 링크 키해시 문의 드립니다 - 카카오데브톡

[android] kakao 출시 된 App 로그인이 안될때 (Google play app signing) issue 해결방법 - 네이버블로그

OpenSSL 버전 확인 - 제타위키

 

반응형

댓글