ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Android Studio SHA-1 지문 확인 방법
    파이어베이스(Firebase)/인증(Firebase Auth) 2018. 11. 7. 07:38

     SHA-1 지문

    안드로이드 스튜디오를 통해 배포용 앱을 생성하기 위해서는 별도의 서명 과정이 필요합니다. 이때 사용되는 것이 디지털 인증서인데 이를 SHA-1 지문이라고 부릅니다. SHA-1 지문에는 두 가지 형태가 있습니다. 


    • debug 인증서 : 개발,  테스트 과정에서 사용
    • release 인증서 : 실제 배포 과정에서 사용


    예전에 이런 종류 개념을 모를 때 실수로 실제 운영 중인 앱에 debug 인증서 지문을 복붙해서 로그인 시스템을 구현했다가 피본 기억이 생각나네요. 개발 과정에서 설치한 앱은 잘 작동하지만, playstore에서 설치한 앱은 비정상 종료를 일으킵니다. 

    오늘 포스팅에서는 위 두 가지 종류의 지문 정보를 확인하는 방법에 대해서 다뤄보도록 하죠! 


     1. debug 인증서 지문

    개발하는 과정에서는 보통 release용으로 Build하지 않기 때문에 debug 인증서 지문으로 테스트하는 것이 훨씬 편리하고 유용합니다(배포 단계에서는 사용하시면 안 됩니다). debug 인증서는 개발 단계에서 처음으로 Build하는 과정에서 자동으로 생성됩니다. 

    • 맥, 리눅스 : ~/.android/
    • 윈도우C:\Users\your_user_name\.android\  


    1)  cmd 창을 열어 해당 경로로 이동해줍니다. 


    2) 아래의 명령어를 입력해줍니다. (띄어쓰기 주의)

    keytool -list -v -keystore debug.keystore

    3) 기본적으로 debug 인증서의 비밀번호는 없으므로 그냥 Enter


    4) 인증서 지문 정보 확인



     2. release 인증서 지문

    실제로 배포한 앱에서 SHA-1 지문이 필요하다면 반드시 release 인증서 지문을 이용해야 합니다. 배포용 앱을 생성할 때 서명한 keystore 파일의 경로와 비밀번호를 알고 있어야 합니다. 


    1) cmd 창을 열어 아래의 명령어 중 하나를 입력해줍니다. 

      - keytool -list -keystore 해당 파일명 (파일 경로로 이동 후 입력)

      - keytool -list -keystore 전체 경로 (한번에 입력)

    파일 경로로 이동한 뒤 입력하는 방식은 위에서 해봤으니까 이번엔 후자의 방식으로 입력해보겠습니다. 

    참고로 제 keystore 파일의 이름은 mint_key.jks 입니다. 확장자까지 모두 입력해줍니다. 


    2) keystore파일의 비밀번호를 입력해줍니다. 

      - release용 build할 때 쓰는 비밀번호 2개 중에 첫 번째 비밀번호입니다. 

      - 만약 입력 중에 커서가 움직이지 않더라도 비밀번호 입력 후 엔터 눌러보면 잘 작동합니다. 


    3) 인증서 지문 정보 확인

      - 예전에 쓰던 인증서는 길게 나왔는데 얘는 되게 짧게 나오네요. 


     3. 추가적으로 조심해야할 사항

    개발 단계에서는 상관없지만 앱 배포 단계에서 주의해야 할 내용입니다. 


    개발자 콘솔에서 앱 배포시 Google Play App Signing 기능을 이용하시는 분들은 필독 사항입니다. (기본 기능인지 선택 기능인지는 잘 모르겠네요!) 


    이 기능은 개발자 콘솔을 통해 업로드할 때 APK 파일에 서명한 인증서가 자동으로 삭제되고, 구글이 임의적으로 생성한 앱 인증서로 교체하여 사용자가 인증서를 분실했을 경우를 대비해주는 것이 핵심 메커니즘입니다. 따라서 만약 이 기능이 활성화되어 있는 개발자가 Firebase 인증 기능처럼 SHA-1 지문이 필요한 기능을 사용할 때에는 위 방법처럼 cmd창에서 release 인증서 지문을 알아내는 것이 아니라 개발자 콘솔을 통해 앱 서명 인증서를 알아내야 합니다. 


    간단하게 화면만 스크린샷 해서 첨부하겠습니다. 이 글을 보는 분들은 부디 저처럼 삽질하지 마시길...!!

      


    댓글

Designed by Tistory.