SSL 인증서 도움말

자바 코드 서명: CSR 생성하기

2014년 1월을 기하여, 웹브라우저에서 작동하는 모든 자바 앱들에 코드 서명 인증서가 요구됩니다. 귀하는 코드 서명 인증서를 구매한 후 반드시 귀하의 자바 코드에 서명해야 합니다.

자바 코드를 패키징하고 서명하는 데는 keytool, jar 및 jarsigner를 포함한 몇 가지 도구가 필요합니다. JDK 5.0을 시작으로 jarsigner는 타임 스탬프가 포함된 서명을 생성할 수 있게 되었으므로 JAR 파일이 코드 서명 인증서가 아직도 유효한 기간에 서명되었음을 확인할 수 있게 합니다.

방식 1 – 새 코드 서명 인증서 요청

  1. 필요한 경우, 다음 링크에서 JDK를 다운로드하십시오:
    http://java.sun.com/javase/downloads/index.jsp
  2. GoDaddy로부터 코드 서명 인증서 요청하십시오.
    • 새로운 키 스토어 생성하십시오. 키 스토어란 보안 인증서가 보관되는 장소입니다. 이번 보기에서는 코드 서명 인증서 및 그와 연관된 개인 키에만 사용될 "codesignstore"라는 이름의 사용자 정의 키 스토어를 생성할 것입니다.
      keytool -genkey -alias codesigncert -keypass -keyalg RSA -keysize 2048 -dname "CN=displayname,O=companyname,C=US,ST=state,L=city" -keystore codesignstore -storepass
    • 인증서 서명 요청(CSR)을 생성하십시오. 개인 키 하나가 생성되며 이것은 "codesignstore"라고 명명된 키 스토어에 보관될 것입니다. "mycsr.pem"로 명명된 CSR 파일이 현재 작업 중인 디렉토리에 생성될 것입니다.
      keytool -certreq -v -alias codesigncert -file mycsr.pem -keystore codesignstore
    • 코드 서명 인증서를 구매하십시오.
    • "내 계정"에서 이미 구입한 코드 서명 인증서 크레딧을 클릭하십시오. 이렇게 하시면 귀하는 GoDaddy 보안 인증서 서비스 계정 관리 웹 애플리케이션으로 안내될 것입니다. CSR 영역을 보이게 하려면 요청 양식에서 CSR 생성 방식을 반드시 수동으로 설정해야 합니다.
    • 코드 서명 요청의 일부로서 CSR을 제출하십시오.
      • 편집기에서 "mycsr.pem" 파일을 연 후에, 파일의 내용 전체를 코드 서명 요청 양식의 적절한 섹션에 복사 및 붙여넣기 하십시오("BEGIN NEW CERTIFICATE REQUEST" 및 "END NEW CERTIFICATE REQUEST"와 같은 문구 포함).
    • 귀하가 제공하는 회사 정보는 확인 과정을 거쳐야 합니다. 필요한 경우, 등록 기관(RA)에서 추가 정보 제공을 위해 귀하에게 연락할 수도 있습니다.
    • 일단 코드 서명 인증서가 발행되면, 귀하는 인증서 파일을 다운로드할 수 있는 링크 및 그와 연관된 모든 중간 인증서가 포함된 이메일 메시지를 수신하게 됩니다.
  3. 코드 서명 인증서는 앞서 생성한 같은 키 스토어에 설치하십시오. 다음 보기에서는 코드 서명 인증서 파일의 이름이 "mycert.cer"로 명명되는 것으로 가정합니다. 인증서 파일은 현재 작업 중인 폴더에 있고 PKCS#7 포맷임을 가정합니다.
    keytool -import -trustcacerts -keystore codesignstore -storepass -alias codesigncert -file mycert.cer
  4. 코드 서명 인증서 및 개인 키를 사용하여 jarsigner로 JAR 파일에 서명하십시오.
    jarsigner -verbose -keystore codesignstore -storepass -keypass myapp.jar codesigncert
    • 'codesignstore'는 코드 서명 인증서, 개인 키 및 그와 연관된 모든 기타 인증서가 보관되는 키 스토어에 대한 에일리어스입니다.
    • 서명되지 않은 입력 파일에 대한 명칭은 "myapp.jar"이며 이는 서명된 버전의 파일로 덮어쓰기하게 됩니다. 입력 및 출력 파일명을 따로 구분하려면 "-signedjar" 명령행 옵션을 사용하십시오.
    • 'codesigncert'는 키 스토어의 개인 키에 대한 에일리어스입니다.
    다음 예에서는 위에서 제시된 동일한 예에 시간 소인 옵션을 추가합니다.
    jarsigner -verbose -keystore codesignstore -storepass -keypass -tsa http://tsa.starfieldtech.com/ myapp.jar codesigncert
  5. 서명한 JAR 파일 확인
    jarsigner -verify -verbose -certs myapp.jar
  6. 코드 배포

접근 방식 2 – 코드 서명 인증서와 비공개 키가 모두 들어있는 기존 PKCS#12 파일 사용

  1. 필요한 경우, 다음 링크에서 JDK를 다운로드하십시오:
    http://java.sun.com/javase/downloads/index.jsp
  2. PFX/P12 파일을 jarsigner와 사용할 수 있는지 확인하십시오. 다음 명령을 실행하십시오. 5단계에서 필요한 별칭이 출력 상단에 표시됩니다.
    keytool -list -storetype pkcs12 -keystore mycert.pfx -v
  3. jar 도구를 사용하여 Java 클래스 파일로부터 JAR 파일을 작성하십시오.
    jar cvf myapp.jar myapp.class
  4. 코드 서명 인증서와 비공개 키로 jarsigner를 사용하여 JAR 파일에 서명하십시오.
    jarsigner -storetype pkcs12 -keystore mycert.pfx myapp.jar "aliasname"
    • "mycert.pfx"는 코드 서명 인증서와 비공개 키가 들어있는 PFX/P12 파일의 전체 경로입니다. 이 파일에는 모든 중간 인증서도 포함되어 있어야 합니다.
    • "aliasname"은 2단계 출력의 상단에 표시됩니다. Windows에서 PFX/P12 파일을 내보낸 경우에는 별칭이 사실상 GUID가 됩니다.
    • 지시가 나타나면 PFX/P12 파일의 비공개 키와 연결된 암호를 입력하십시오. "-storepass" 옵션을 포함시켜 명령 줄에 암호를 지정할 수도 있습니다.
    • 서명되지 않은 입력 파일에 대한 명칭은 "myapp.jar"이며 이는 서명된 버전의 파일로 덮어쓰기하게 됩니다. 입력 및 출력 파일명을 따로 구분하려면 "-signedjar" 명령행 옵션을 사용하십시오.
    다음 예에서는 위에서 제시된 동일한 예에 시간 소인 옵션을 추가합니다.
    jarsigner -storetype pkcs12 -keystore mycert.pfx -tsa http://tsa.starfieldtech.com/ myapp.jar "aliasname"
  5. 서명한 JAR 파일 확인
    jarsigner -verify -verbose -certs myapp.jar
  6. 코드 배포

링크


이 글이 도움되었나요?
피드백을 보내주셔서 감사합니다. 고객 서비스 담당자에게 문의하시려면 지원 전화 번호 또는 위의 채팅 옵션을 이용하시기 바랍니다.
도와드릴 수 있어 기쁩니다! 더 도와 드릴 것이 있나요?
그것 유감스럽습니다. 혼동이 되었던 사항 또는 솔루션이 고객님의 문제를 해결하지 못했던 원인을 알려주세요.