[Android/안드로이드] jarsigner로 서명 시 발생하는 timestamp 관련 경고 해결 방법
요약
JDK에 포함된 jarsigner를 이용해 jar파일 또는 안드로이드 apk파일에 서명하는 경우 발생하는 타임 스탬프관련 경고 메시지를 없애는 방법
증상 및 원인
jarsigner를 이용해 리패키징한 안드로이드 apk파일에 서명하던 도중 아래와 같은 경고 메시지를 발견했다. 서명은 정상적으로 되었기 때문에 무시해도 상관없으나 왠지 찜찜하여 원인과 해결 방법을 알아보았다.
Warning:
No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date <yyyy-mm-dd> or after future revocation date.
< 발생한 경고 메시지 >
서명 인증서가 만료되면 배포 된 파일을 다시 서명해야 하기 때문에 이런한 문제를 해결하기 위해 재서명이 필요없는 URL 기반 인증 방식인 타임 스탬프를 이용한 서명을 권장하는 것으로 확인된다. 관련 Oracle 문서에는 J2SE 5.0부터 추가 된 기능이라고 나와있으나 기존에 사용하던 JDK 버전(1.7021)에서는 경고 없이 서명이 되었던걸로 보아 이후 버전에서 발생하는 것으로 보인다.
해결 방법
서명 시, -tsa 옵션과 함께 인증 기관 URL을 입력해주면 경고 메시지 없이 서명이 가능하다.
-tsa http://timestamp.digicert.com
< Timestamp를 이용한 서명 결과 >
관련 포스팅
'개발 > Android' 카테고리의 다른 글
안드로이드 아키텍처: MVC (0) | 2021.02.24 |
---|---|
안드로이드 스레드 run()과 start()의 메소드의 차이 (0) | 2017.05.30 |
[Android/안드로이드] 손쉽게 스와이프가 가능한 액션바 탭 만들기 (ViewPager, Fragment) 이용 (0) | 2017.04.25 |
[Android/안드로이드] 무음/방해금지 모드 설정과 해제를 위한 방해금지 설정 변경 권한 얻기 (0) | 2017.04.15 |
[Android/안드로이드] apk파일 assets, res 변경 후 리패키징하기 (0) | 2017.04.15 |