본문 바로가기

프로그래밍/Delphi

[델파이를 이용한 안드로이드 앱개발]키 저장소 만들기(Provisioning)

1. 안드로이드 프로비저닝(Provisioning) 개요


  안드로이드 마켓에 델파이를 이용하여 개발된 안드로이드 앱을 배포하기 위해서는 앱에 서명을 해 주어야만 한다. 개발자 본인이 인증하는 어플리케이션임을 서명 하기 위한 것이다.

  이를 위해서는 개인 키를 포함하는 암호화된 서명 파일이 있는 KeyStore가 필요하고 RAD Studio(Delphi)의 앱 배포(Deploy)과정에서 사용한다.


  • 이클립스에서는 Android SDK를 통해서 애플리케이션을 실행할 때마다 자동으로 디버그 서명을 만들고 이 서명이 애플리케이션이 사용될 때마다 서명되기 때문에 내부에서 항상 어플리케이션이 서명 되고 있다.
  • 델파이에서는 "Project > Deployment"를 통해 앱 배포 빌드할 때 사용된다.

2. 어플리케이션 서명과 구글API 키 인증 시나리오

  KeyTool로 키 쌍을 생성하면 사용자 홈 디렉토리의 특정한 곳에 KeyStore로 저장 된다. 비밀 키는 키 저장소에 암호화 되어 보호 되며 이 비밀 키로 어플리케이션을 서명하게 된다

* 특정 조직의 경우 공인인증서 이용

구글 API를 이용하려면 API용 키가 필요한데 이 때 인증 서명서의 Finger Print(MD5)가 필요하다.

안드로이드는 공개 키를 이용하여 서명 인증서를 해독하여 사용하는데 어플리케이션이 설치될 때만 서명 인증서를 검사하기 때문에 설치 후에는 인증서나 키가 만료 되어도 실행이 가능하다.

  

3. 개인 인증서의 효용

  본인이 개발한 어플리케이션임을 인증하고 관리를 위해서는 가능하면 하나의 인증서로 관리하는 것이 편리하다.
  • 업그레이드 간편화
  • 여러 어플리케이션을 하나의 프로세스로 실행
  • 코드, 데이터 공유 가능

4. Delphi XE6를 이용한 키저장소(Key Store) 만들기

가. 신규 키스토어를 생성하기 위한 마법사 실행
  • "Tools > Options > Environment Options > Provisioning"을 선택하여 마법사 실행
  • Build Type 필드에서 "Android - Application Store" 타입 지정
  • New Keystore 클릭


나. New Keystore Information 창에 저장소 파일에 관련된 정보 입력
  • File에서 "..."를 클릭하여 키파일이 저장될 경로 및 키파일명을 입력 (확장자는 자동으로 ".keystore"가 붙음)
  • 키파일 자체를 열람할 수 있게 하는 비밀번호를 등록(Password / Confirm Password)
  • "Next" 버튼 클릭하여 다음 단계로 이동


다. New Key Alias Information 창에서 키스토어 파일에 추가할 인증서 정보 입력
  • Alias : 유일하게 식별할 새 인증서를 식별하는 이름 입력
  • Password / Confirm Password : 인증서에 대한 암호 입력
  • First and Last Name : 인증서 등록자 이름 입력
  • Organizational Unit : 인증서 등록자 기관의 부서명 입력
  • Organization : 기관명(회사명 또는 개인 등) 입력
  • City or Locality : 주 거주지역 또는 시 입력
  • State or Province : 광역시도 입력
  • Country Code(XX) : 국가 코드정보 입력 (KR) - ISO 3166-1 two-letter code 참고
한국에 대한 국가코드 정보

KR     Korea, Republic of 1974 .kr      ISO 3166-2:KR 

  • Validity(days) : 인증서 만료 기간정보


  • 위 입력란에 특수문자 또는 기호가 입력되어서는 다음과 같은 오류가 발생하여 처음부터 다시 시작 해야 함
 ketstore 오류: java.io.IOException : Incorrect AVA format
  • 아래와 같이 정정하여 시도해 보면 정상적으로 인증키가 생성된다.



라. 인증키 확인

  • 생성된 인증키를 확인 하려면 "Options > Environment > Provisioning" 화면에서 해당 키 저장소 파일을 선택 한 후 "Get Certificates"를 클릭하면 하단에 해당 키스토어 정보를 확인할 수 있다.
  • 반드시 생성된 인증키는 안전한 곳에 보관하고 비밀 번호를 반드시 기억하고 있도록 주의 하세요..^^