Android

Android) 앱 서명 키 안전하게 보안하는 방법

가짜 개발자 2021. 5. 30. 13:15


이전 포스팅에서 release 모드에서 앱을 테스트해보는 방법을 알아봤습니다.

signingConfigs {
	release {
        	storeFile file('keystore 경로')
        	storePassword '비밀번호'
    		keyAlias 'keyAlias 이름'
        	keyPassword '비밀번호'
	}
}

기본 방법은 위와 같은데, 이처럼 keystore 정보가 노출된 채로 Git이나 외부에 공유된다면 악용될 가능성이 있거나 보안상 좋지 않겠죠?

 

그래서 별도의 파일을 생성해서 keystore 정보를 관리하는 것을 권장하고 있습니다. 

 

 

1. 프로젝트의 루트 디렉토리keystore.properties 파일을 생성합니다.

 

 

2.  keystore.properties 파일 안에 keystore의 정보를 넣어줍니다.

 

// keystore.properties
storePassword=myStorePassword
keyPassword=mykeyPassword
keyAlias=myKeyAlias
storeFile=myStoreFileLocation

// 싱글 쿼테이션으로 묶지 않고 입력해줍니다. 즉, ' '을 제외한 내용을 넣어줍니다.

 

3. 모듈의 build.gradle 파일에서 apply와 android 사이에 keystore.properties 파일을 로드하는 코드를 추가해줍니다.

// Keystore Security
def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

 

4. 모듈의 build.gradle 파일keystore.properties에 저장된 속성을 참조할 수 있도록 signingConfigs 블록을 수정합니다.

android {
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }
    ...
  }
  
  buildTypes {
        release {
            signingConfig signingConfigs.release
            ...
        }
    }

이후 keystore.properties 파일을 제외한 수정사항을 Git에 올려주시면 됩니다.

반응형