Certicates 인증서

 - SSL를 구현하려면 웹 서버에 Certificate가 있어야 한다.

 - Certificate은 암호화된 연결을 수용하는 외부 인터페이스를 보장






Certificate Keystore 준비하기

 - Tomcat에서 수용하는 keystore 타입은 JKS, PKCS11 또는PKCS12

  · JKS: Java 표준 키스토어 형식.

    JDK에 포함된 keytool 커맨드 라인툴로 생성 가능


  · PKCS12 : 인터넷 표준 형식. Open SSL이나 Microsoft Key-Manager로 조작 가능


 - keystore의 목록들은 alias의 문자열 값으로 구분할 수 있다. 대부분은 대소문자 구분을 하지 않지만, PKCS11 형식은 대소문자 구분


C:\Program Files\Java\jdk1.8.0_161\bin>keytool -genkey -keyalg RSA -sigalg SHA1withRSA -alias mySSL -keysize 2048 -keystore mySSL.jks

키 저장소 비밀번호 입력:

키 저장소 비밀번호가 너무 짧음 - 6자 이상이어야 합니다.

키 저장소 비밀번호 입력:

새 비밀번호 다시 입력:

일치하지 않습니다. 다시 시도하십시오.

키 저장소 비밀번호 입력:

새 비밀번호 다시 입력:

이름과 성을 입력하십시오.

  [Unknown]:  seok

조직 단위 이름을 입력하십시오.

  [Unknown]:  seok

조직 이름을 입력하십시오.

  [Unknown]:  seok

구/군/시 이름을 입력하십시오?

  [Unknown]:  Seuol

시/도 이름을 입력하십시오.

  [Unknown]:  Seuol

이 조직의 두 자리 국가 코드를 입력하십시오.

  [Unknown]:  KR

CN=seok, OU=seok, O=seok, L=Seuol, ST=Seuol, C=KR이(가) 맞습니까?

  [아니오]:  Y


<mySSL>에 대한 키 비밀번호를 입력하십시오.

        (키 저장소 비밀번호와 동일한 경우 Enter 키를 누름):


Warning:

JKS 키 저장소는 고유 형식을 사용합니다. "keytool -importkeystore -srckeystore mySSL.jks -destkeystore mySSL.jks -deststoretype pkcs12"를 사용하는 산업 표준 형식인 PKCS12로 이전하는 것이 좋습니다.


C:\Program Files\Java\jdk1.8.0_161\bin>keytool -importkeystore -srckeystore mySSL.jks -destkeystore mySSL.jks -deststoretype pkcs12

소스 키 저장소 비밀번호 입력:

myssl 별칭에 대한 항목이 성공적으로 임포트되었습니다.

임포트 명령 완료: 성공적으로 임포트된 항목은 1개, 실패하거나 취소된 항목은 0개입니다.


Warning:

"mySSL.jks"을(를) Non JKS/JCEKS(으)로 이전했습니다. JKS 키 저장소가 "mySSL.jks.old"(으)로 백업되 었습니다.


 - Tomcat 설정

Server.xml

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true">

        <SSLHostConfig>

            <Certificate certificateKeystoreFile="conf/mySSL.jks" 

            certificateKeystorePassword="비밀번호"  

            type="RSA" />

        </SSLHostConfig>

    </Connector>


 - SSL 접근


+ Recent posts