키스토어 명령어들

topics
types 레퍼런스 도구
tags

키스토어 명령어들

Android 앱 서명에 필요한 키스토어 관련 명령어 모음이다.

키스토어 생성

keytool -genkey -v -keystore ~/my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias
옵션 설명
-keystore 키스토어 파일 경로
-keyalg RSA 알고리즘 (RSA 권장)
-keysize 2048 키 크기
-validity 10000 유효기간 (일)
-alias 키 별칭

키스토어 정보 확인

# <span id="자세한-정보-확인"></span>자세한 정보 확인
keytool -list -v -keystore ~/.android/my.jks

# <span id="sha-지문만-확인"></span>SHA 지문만 확인
keytool -list -keystore ~/.android/my.jks

키스토어 파일에 저장된 인증서 정보를 확인한다. 별칭(alias), 유효기간, SHA 지문 등을 볼 수 있다.

SHA-1 Base64 인코딩 (OAuth용)

keytool -exportcert -alias releasekey -keystore ~/.android/my.jks -storepass {비번} -keypass {비번} | openssl sha1 -binary | openssl base64

언제 쓰냐면: Google Sign-In이나 Kakao 로그인 같은 소셜 로그인을 연동할 때 이 값을 제공해야 한다.

Debug 키스토어 SHA 확인

# <span id="maclinux"></span>Mac/Linux
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

# <span id="windows"></span>Windows
keytool -list -v -keystore "C:\Users\{유저명}\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

개발 중 Firebase나 OAuth 테스트할 때 debug 키스토어의 SHA-1이 필요하다.

키스토어 비밀번호 변경

# <span id="스토어-비밀번호-변경"></span>스토어 비밀번호 변경
keytool -storepasswd -keystore my.jks

# <span id="키-비밀번호-변경"></span>키 비밀번호 변경
keytool -keypasswd -alias my-alias -keystore my.jks

build.gradle 설정

// android/app/build.gradle
android {
    signingConfigs {
        release {
            storeFile file("path/to/keystore.jks")
            storePassword "password"
            keyAlias "alias"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

주의: 비밀번호를 하드코딩하면 안된다. local.properties나 환경변수로 분리하자.

관련 문서