개발/Troubleshooting

[Google Play Console] 업로드 키 재설정

hayo 2023. 3. 29. 19:16

* 문제상황 *

Expo의 EAS Build로 빌드한 .aab 파일을 이미 Play Store에 올라가 있던 앱에 새 버전으로 업로드 하려고 시도했으나,
기존에 설정되어있던 서명 키와 다른 키로 빌드가 되어서 잘못된 키로 서명이 되었다는 에러 문구를 만났다..!

 

WHY?

  1. 기존에 설정되어있던 키 파일이 없었음
  2. EAS Build로 빌드하면서 새로운 keystore를 생성함

앱 무결성(Play Integrity) - Play 앱 서명 사용하기

Google에서는 Play 앱 서명으로 앱의 서명 키를 관리하고 보호하며, App Bundle에서 생성된 최적화된 배포 APK에 서명하는 데 이 키를 사용합니다. Play 앱 서명은 Google의 보안 인프라에 앱 서명 키를 저장하고 보안 강화를 위한 업그레이드 옵션을 제공합니다.

Play 앱 서명을 사용하면 Google에서 자체 키를 저장하는 데 사용하는 인프라와 동일한 보안 인프라에 앱 서명 키가 저장되며 Google 키 관리 서비스로 보호됩니다.

 

보통은 Android Studio를 통해 업로드 키 및 키 저장소를 생성하는데, 나는 이미 EAS로 빌드를 하면서 Expo에서 자동으로 생성해준 key와 keystore를 사용했다.

 

 

1. 생성된 keystore의 정보 확인 및 다운로드

빌드한 프로젝트 폴더 위치의 터미널에서 하기의 명령어를 실행하면, 생성된 keystore에 대한 정보를 알 수 있다!

eas credentials

 

2. 저장된 keystore 파일(.jks)에서 .pem 파일 추출

→ 1번 명령어를 통해 얻은 정보를 토대로, 하기 명령어를 실행하면 'expo_upload_key.pem' 파일이 생성된다.
    (파일 이름은 설정하기 나름!)

  • <your_key_alias> : 키의 별칭. 1번 명령어 결과의 'Key Alias'
  • expo_upload_key : 생성할 .pem 파일의 이름. 원하는 이름을 설정하면 된다.
  • <your_expo_keystore_path> : 다운로드 받은 .jks 파일의 위치. 1번 명령어 결과의 'Path to Keystore'
keytool -export -rfc -alias <your_key_alias> -file expo_upload_key.pem -keystore <your_expo_keystore_path>

** 추출된 .jks 파일과 .pem 파일은 중요한 암호화 정보를 보함하고 있으므로 외부에 누출되지 않도록 안전하게 보관하자!

 

3. Google Play Console에서 업로드 키 재설정 요청

Google Play Console에 로그인 후, 설정 > 앱 무결성 으로 이동하여 '업로드 키 재설정 요청'을 클릭!

'업로드 키 재설정 요청' 클릭시 뜨는 화면

이미 .pem 파일을 만들었으므로 '업로드 키 재설정 요청' 화면에서 1번 이유 선택 후, 4번을 클릭하여 생성한 .pem 파일을 업로드 해주면 된다!

 

업로드를 완료하고 나면, 업로드 키 재설정 요청이 대기 중이라고 뜨는 것을 볼 수 있다.

그리고 이제 승인 될 때까지 기다려 봐야지 :)

 

서명 키가 아닌 업로드 키를 재설정 요청해 놓은 상태지만, 이게 맞는 답이었는지는 재설정 결과가 나오는 날짜 이후에 알 수 있다..ㅎㅎ


참고 자료

'개발 > Troubleshooting' 카테고리의 다른 글

[Expo] iOS build by EAS  (0) 2023.03.07