보통은 할일이 없는데 이걸 내가 할 줄이야..
-import -alias issure -trustcacerts \
-file %USERPROFILE%\2_issuer_Intermediate.crt -keystore %USERPROFILE%\test.mydomain.com.jks
I. 서버 인증서 설치 해서 크롬이나 ie에서 보안경고 안보이게.
II. 톰캣 : 80 ==> 443 리다이렉트
I. 서버 인증서 설치 해서 크롬이나 ie에서 보안경고 안보이게.
1. 인증서 생성
1.1. 자바 스탠다드 키스토어 포맷으로 생성 ( java standard key store : jks )
설치될 서버 도메인 확정
test.mydomain.com => 생성할 도메인으로 바꾸시면 됩니다.
"%JAVA_HOME%\bin\keytool" -genkey -alias myssl -keypass 인증서비밀번호 \ -storepass 인증서비밀번호 -keyalg RSA -sigalg SHA1withRSA \ -dname "CN=test.mydomain.com, OU=OrgUnit, O=AssetPlus, C=KR" \ -keystore %USERPROFILE%\test.mydomain.com.jks
이때 CN=test.mydomain.com 정확히 적으셔야 인증이 마무리 됩니다.
1.2. 인증서 요청파일 CSR(Certificate Signing Reuest) 파일 생성
"%JAVA_HOME%\bin\keytool" -certreq -keyalg RSA -alias myssl \ -sigalg SHA1withRSA -keystore %USERPROFILE%\test.mydomain.com.jks \
-file %USERPROFILE%\test.mydomain.com.certreq.csr
CSR 파일을 열어보면
이렇게 생겨 있습니다.
이제 무료 인증 싸이트 가입 해서 인증을 요청 합니다.
와우사인 업체입니다.
Request a Free SSL Certificate 를 클릭 합니다.
도메인을 적고 , 회원 가입이 안되어 있으면 가입을 합니다.
여기는 3년짜리 무료료 발급 해 줍니다. 도메인에 대한 소유권을 확인 하는 절차가 있는데,
webmaster 나 admin 등의 아이디로 이메일 인증이 되면 발급 할 수 있습니다.
발급 버튼을 누르면 csr 업로드 창이 뜹니다.
아까 만든 csr 파일의 내용을 붙여넣기 합니다.
submit 누르면 인증서 파일이 다운로드 됩니다.
압축을 풀면 아래처럼 또 압축 파일이 있습니다.
이중에서 for Other Server.zip 파일을 압축을 해제 합니다.
이제 이 인증서를 내 키스토어에 추가 합니다.
- 순서는 root 먼저 합니다. 다른 순서로는 안해봐서
"%JAVA_HOME%\bin\keytool" -import -alias root -trustcacerts \ -file %USERPROFILE%\root.crt -keystore %USERPROFILE%\test.mydomain.com.jks
- 1_cross_Intermediate 인증서 추가
"%JAVA_HOME%\bin\keytool" -import -alias corss -trustcacerts \ -file %USERPROFILE%\1_cross_Intermediate.crt -keystore %USERPROFILE%\test.mydomain.com.jks
- 2_issuer_Intermediate.crt 추가
"%JAVA_HOME%\bin\ keytool"
- 싸이트인증서 추가하기
"%JAVA_HOME%\bin\keytool" -import -alias myssl -trustcacerts \ -file %USERPROFILE%\3_user_test.mydomain.com.crt -keystore %USERPROFILE%\test.mydomain.com.jks
이번에는 응답 메세지가 조금 틀립니다.
인증서회신이 추가되었습니다. 라는 메세지가 떠야 합니다.
인증서를 확인 해 보겠습니다.
"%JAVA_HOME%\bin\keytool" -list -v -keystore %USERPROFILE%\test.mydomain.com.jks
아래와 같이 발행자: CN=WoSign CA Free SSL Certificate G2, O=WoSign CA Limited, C=CN 가 추가 되어 있습니다.
여기까지 해서 인증서 생성이 완료 되었습니다.
다음은 톰캣 설정입니다.
II. 톰캣 : 80 ==> 443 리다이렉트
1. 443 https 설정
C:\Program Files\Apache Software Foundation\Tomcat 8.0\conf
폴더에 내 키스토어 파일을 복사 합니다. test.mydomain.com.jks
server.xml 파일을 수정 합니다.
노드는 Server > Service 아래 입니다.
1.1. protocol="HTTP/1/1" 의 8080 포트를 80 으로 바꾸고, 8443 을 443 으로 바꿔 줍니다.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="443"/>
1.2. SSL 추가 해 줍니다.
<Connector sslProtocol="TLS" clientAuth="false"
keyAlias="myssl"
keystorePass="인증서비밀번호"
keystoreFile="conf/test.mydomain.com.jks"
secure="true" scheme="https" maxThreads="150" SSLEnabled="true" port="443"/>
1.3. protocol="APJ/1.3" 의 redirectPort 를 8443 에서 443 포트로 변경해 줍니다.
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
1.4. 톰캣 서비스를 재시작 합니다.
2. 80 포트 443 로 리다이렉트 시키기
2.1. WEB.XML 을 수정 해야 적용 된다.
테스트를 위해서 C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\ROOT\WEB-INF\web.xml 파일의 web-app 노드에 security-constraint 를 추가 한다.
<security-constraint>
<web-resource-collection>
<web-resource-name>Secured</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
브라우저에서 확인 해 보면 http://test.mydomain.com => https://test.mydomain.com
로 리다이렉트가 된다.
댓글
댓글 쓰기