2011-03-24 4 views
1

인증서가 서명 한 jar의 만료 날짜를 30 일로 변경해야합니다. 따라서 나는 순서대로 실행한다 (나는 첫 번째 명령에 대한 관련 입력을 제공한다). 그러나 validity 옵션이 30 일로 주어 지더라도 jarsigner 명령은 인증서가 6 개월 (기본값) 후에 만료됩니다. 이 생각을 어떻게 바꿀 수 있습니까? 다음은 내가 사용하는 명령 목록입니다.jar 만료 시간을 변경하려면

keytool -genkey -keystore test -alias testAlias -validity 30 <br> 
keytool -selfcert -alias testAlias -keystore test <br> 
jarsigner -keystore "C:\test" "C:\some.jar" testAlias 
+0

[가능한 만료가없는 항아리에 서명하는 방법] 가능한 복제본? (http://stackoverflow.com/questions/6171554/how-to-sign-a-jar-to-never-expire) – trashgod

답변

8

키의 유효 기간은 30 일입니다. 해당 키로 생성하고 서명하는 인증서가 지정되지 않으므로 기본값은 180 일입니다. 여기서 중요한 것은 -selfcert 명령에 지정된 -validity 플래그의 값입니다. 난 그냥이 테스트 :

cp myKeystore myKeystore-TEST 
keytool -selfcert -validity 30 -alias myAlias -keystore myKeystore-TEST 
jarsigner -keystore myKeystore-TEST myApplet.jar myAlias 

을 브라우저 대화 상자를 팝업 할 때, 나는 만료 날짜가 오늘 + 30 일로 나열되었는지 확인 할 수있다. 12/31/11 지금 삼십일 내 테스트에서, 다른 날짜 내가 키 스토어를 생성 후 90 일입니다

sm  697 Thu Dec 01 04:02:34 EST 2011 applet/Main.class 

    X.509, CN=Todd Kaufmann, OU=Unknown, O=..., L=Pittsburgh, ST=PA, C=US 
    [certificate will expire on 12/31/11 12:48 PM] 

    X.509, CN=Todd Kaufmann, OU=Unknown, O=..., L=Pittsburgh, ST=PA, C=US 
    [certificate will expire on 1/23/12 4:08 AM] 
... 
s = signature was verified 
m = entry is listed in manifest 

을 : jarsigner -verbose -certs -verify myApplet.jar뿐만 아니라 인증서와 키의 요약 목록, 훨씬 더 장황 , 나는 keytool -v -list -keystore myKeystore-TEST으로 확인할 수 있습니다. keytool의 맨 페이지에는 키의 기본값이 90 일이라고되어 ​​있습니다.

관련 문제