1. 서론
keystore 패스워드 분실 대처를 어떻게 할 것인가?

플레이 스토어에 게임을 업로드하고 2년, 가끔 앱이 삭제되지 않도록 언제까지 정책 위반을 수정하라는 메일이 온다.
이번에 온 메일은 현재 빌드의 유니티 버전의 보안 이슈로, 패치된 유니티 버전 빌드를 재업로드 하라는 요청이었다.
다행히 프로젝트가 남아 있어서 유니티 에디터 버전업을 진행했다.
2021.3.56f1 > 2021.3.45f2
하지만, 빌드를 진행하기 위한 keystore 비밀번호가 생각나지 않았다.
(그때의 나는 어떤 비밀번호를 설정해뒀을까...)
이 글은 다음에 또 이런 일이 벌어질 때를 대비해 작성했다.
2. 해결 과정
keystore 재생성과 구글 개발자 콘솔 키 재설정 요청까지
우선, keystore의 비밀번호 재설정은 불가능하다.
프로젝트의 keystore를 잃어버린 경우, 프로젝트의 빌드도 콘솔의 업데이트도 불가능하다.
그럼 keystore를 잃어버리면 프로젝트를 폐기해야 하나? 그렇지는 않다.
2가지 일을 순서대로 하면 된다.
개발 측면)
keystore를 재생성하고 빌드한다.
1. Player > Publishing Settings > Keystore Manager...

2. Keystore... > Create New > 둘 중 원하는 옵션 선택

관리 가능한 폴더에 원하는 이름으로 키스토어를 생성한다.
관리 편의를 위해 keystore 이름 규칙이 있으면 좋다.
3. 양식 작성 후 Add Key
필수) Password, Confirm password, Alias, Password, Confirm password, Validity(years), Organization
Alias는 이 keystore의 별명이다. 영문으로 띄어쓰기만 없으면 된다. 보통 나는 admin으로 생성한다.
나는 Organization은 Company Name과 같게 한다.

4. 프로젝트에 재생성한 keystore 등록 및 빌드

Select를 누르고 keystore를 생성한 폴더에서 keystore를 선택해서 등록한다.
그 후 비밀번호를 입력하고 빌드하면 플레이 스토어에 등록할 버전 생성이 완료된다.
공개 측면)
개발자 콘솔에서 재생성한 keystore를 등록 요청한다.
1. 등록 요청
홈 > 재등록 필요한 패키지 > Google Play로 보호됨 > Play 스토어 보호 > Play 앱 서명 관리 > 업로드 키 재설정 요청



2. 등록 요청 준비물 : .pem 파일
.pem 파일은 다음 명령어로 작성할 수 있다.
keytool -export -rfc -keystore [새로운업로드키_경로] -alias [키_별칭] -file [생성할_PEM파일명].pem
keystore가 있는 폴더에서 cmd(아니면 powershell)을 실행하고 위 명령어의 인자만 수정해서 입력하면 .pem 파일이 생성된다.
keytool은 java 라이브러리이기 때문에 해당 명령어가 실행되지 않으면, 시스템 환경 변수에서 java 경로를 작성하고 실행하면 잘 생성된다.
3. .pem 첨부하여 업로드 키 재설정 요청
요청 후에는 업데이트 가능 시간을 안내하는 메일이 온다.
그 시간 이후 앱을 업데이트한다.
3. 재발 방지
keystore 관리 문서 생성
이런 일이 다시 발생하면 안 되기 때문에 관리 문서를 작성하였다.

'박준영 > Game' 카테고리의 다른 글
| [Unity] ScriptableObject #1 (0) | 2021.02.09 |
|---|---|
| [Unity] 3D Object에 적용한 Image 채도 하락 (0) | 2020.12.12 |
| [Unity] 빌드 오류 (0) | 2020.12.11 |