본문 바로가기
일상다반사

Unity / Android studio Keystore/jks를 pem으로 변환하기

by 유럽겉핥기 DH 2020. 6. 2.

구글 플레이스토어에 앱을 출시하려면 Key를 만들어야한다.

그리고 출시된 앱을 업데이트하려면 같은 Key를 사용해서 앱번들을 만들어야한다.

피치 못한 사정으로 같은 키를 사용하지 못할 때가 있다.

 

유니티에서 Key를 로드할때 에러가 발생하거나 Key 비밀번호를 잊어버리는 등의 경우다.

나같은 경우는 Key를 로드할때 자바 에러가 발생했는데, 예전 버전의 유니티에서 나는 에러이고 이미 fix되었다고 나와있는데도 발생했다. 처음 겪는 일이기에 무작정 구글링을 하다가 키를 새로 생성해버렸다.

키를 재 생성하니 다시 빌드는 성공했지만... 구글플레이스토어에 업데이트를 못하는 상황이 발생했다. 키가 같지 않으니 업로드 에러가 뜨더라..

 

그래서 깜짝놀라 구글 서포트에 메일을 보냈다.

참고로 한글로 보내도 된다. 나는 영어로 썼다가 한글답장이 와서 좀 민망했다.

곧바로 아래와 같은 답장을 받았다.

 

그리고 실제로 영업일 기준 2일 뒤에 키를 리셋해주겠다는 메일을 받았다.

새로 키를 생성한뒤 그 키를 pem으로 변환해서 보내주면 그 키로 다시 등록해주겠다는 것이다.

이 과정을 설명해주겠다.

 

1. 새로 키를 생성한다.

key이름과 alias는 절대로 띄어쓰기를 넣지 말자.

내 경우엔 띄어쓰기가 있을때 pem변환이 되지 않았다.

 

2. 새로 생성한 키의 경로를 복사해둔다.

유니티나 안드로이드 스튜디오로 생성한 key는 *.keystore 혹은 *.jks 파일일 것이다.

 

3. keytool이 있는 경로를 알아낸다.

보통 java가 깔려있는 경로에 keytool이 있다.  program files/java/jdkxxx/bin

그러나 나의 경우 유니티가 있는 폴더에 있다. program files/Unity/....../editor/OpenJDK/bin

잘 모르겠으면 두 곳 모두 F3로 확인해보자.  

 

4. 커맨드 창을 관리자 권한으로 연다.

관리자 권한으로 열지 않으면 액세스가 거부된다고 뜬다.

 

5. 아래 명령을 실행한다.

keytool -export -rfc -alias [새로 만든 key alias] -file upload_certificate.pem -keystore [새로 만든 키 경로(파일이름포함)]

만약 에러가 뜬다면 경로를 잘 확인해보자. 확장자도 포함되야한다. *.jks 혹은 *.keystore

제대로 실행이 된다면 keytool이 있는 폴더에 upload_certificate.pem이 생성될 것이다. 나는 파일 이름을 바꿔서 저장했는데, 이게 문제가 될지는 아직  모르겠다.

 

 

댓글