http://blog.naver.com/taiji567?Redirect=Log&logNo=123892102
참고 

네이티브 애플리케이션 자동 서명용 디버그 키저장소 만들기
에뮬레이터에 내장된 네이티브 애플리케이션이 어떤 키/인증서로 서명되었는지 알았으니, 커스텀 디버그 키저장소(Custom debug keystore) 파일을 만들고, 이것을 이클립스에 등록하여 이클립스가 자동으로 네이티브 애플리케이션에 서명하도록 할 수 있습니다.
키저장소를 만들기 전에 알아둘 사항이 있는데, 생성된 java keystore 파일을 이클립스에서 사용하기 위해서는 반드시 alias는 androiddebugkey, password는 android이어야 한다는 겁니다. 그리고 openssl 과 JDK(1.6 권장)가 설치돼 있어야 합니다.
자 그럼, testkey.pk8 및 testkey.x509.pem 파일로부터 testkey.jks 파일을 만들어봅시다. 

  • 키 파일 : testkey.pk8
  • 인증서 파일 : testkey.x509.pem
  • 키 알리아스 : androiddebugkey
  • 키 패스워드 : android
  • 키저장소 패스워드 : android
  • 생성할 키저장소 파일 : testkey.jks

1. PK8 유형의 키 파일을 PEM 유형 키로 변환

$ openssl pkcs8 -inform DER -nocrypt -in testkey.pk8 -out testkey.pem

2. 키와 인증서를 포함하는 PKCS#12 포맷의 저장소 생성

$ openssl pkcs12 -export -in testkey.x509.pem -inkey testkey.pem -out testkey.p12 -password pass:android 
-name androiddebugkey

3. PKCS#12 포맷 저장소 파일을 자바 키저장소 포맷으로 변환
(1) JDK 1.5인 경우 jetty 라이브러리에 포함된 PKCS12Import 클래스를 이용

$ java -classpath jetty-core-6.1.14.jar org.mortbay.jetty.security.PKCS12Import testkey.p12 testkey.jks 

(2) JDK 1.6인 경우 JDK에서 제공하는 keytool을 이용

$ Keytool -importkeystore -deststorepass android -destkeystore testkey.jks -srckeystore testkey.p12 -srcstoretype PKCS12 -srcstorepass android

* 참고로 위의 1 ~ 3까지의 작업을 단순화시킨 keytool-importkeypair라는 스크립트가 있습니다. 아래와 같이 사용합니다

$ keytool-importkeypair -k testkey.jks -p android -pk8 testkey.pk8 -cert testkey.x509.pem -alias androiddebugkey

드디어 네이티브 애플리케이션을 이클립스를 통해 자동으로 디버그 모드 서명하기 위한 키저장소 파일을 만들었습니다. 

이클립스에 커스텀 디버그 키저장소 파일 설정하기
생성한 키저장소 파일 testkey.jks를 적당한 곳에 두고 이클립스 Preferences 창의 Android > Build 메뉴에서 커스텀 디버그 키저장소(Custom debug keystore) 필드에 설정해줍니다.

 

+ Recent posts