본문 바로가기

개발환경/Build

Maven2+Jetty+SSL 적용하기

먼저 "How to configure SSL"을 참고하여 인증서를 만든다.

위의 내용은 keytool, openssl을 사용하여 ssl을 적용하는 방법을 설명하고 있다.
여기에서 keytool은 java, openssl은 non-java(Apache webserver 와 같은) 영역에 적용할 수 있다.

이 글에서는 keytool을 적용하는 방법만 설명한다. 만약 이미 인증서를 보유하고 있는 경우 위의 참고 사이트에서 "Step 3: Loading Keys and Certificates"를 참고한다.

약어:
- CA : Certificate Authority(인증기관)
- CSR : Certificate Signing Request
- RSA : Rivest-Shamir-Adleman(암호화알고리즘 및 인증 시스템)

step1. keytool 명령어를 사용하여 RSA키를 생성한다.

keytool -keystore keystore -alias jetty -genkey -keyalg RSA

step2. pom.xml의 jetty 플러그인 정보에 아래의 내용을 프로젝트 환경에 맞게 변경하여 반영한다.

<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <configuration>
        <scanIntervalSeconds>10</scanIntervalSeconds>
        <connectors>
            <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                <port>8080</port>
                <maxIdleTime>60000</maxIdleTime>
            </connector>
            <connector implementation="org.mortbay.jetty.security.SslSocketConnector">
                <port>8443</port>
                <maxIdleTime>60000</maxIdleTime>
                <keystore>metadata/keystore</keystore><!-- 인증서키위치 -->
                <password>opcapl</password>
                <keyPassword>opcapl</keyPassword>
            </connector>
        </connectors>
    </configuration>
</plugin>

step3. 8443포트로 대기중인지 여부를 확인한다.

mvn jetty:run
...
...
2008-07-30 14:34:39.071::INFO:  Started SelectChannelConnector@0.0.0.0:8080
2008-07-30 14:34:40.865::INFO:  Started SslSocketConnector@0.0.0.0:8443
[INFO] Started Jetty Server


참고
- SSL인증서 신청(CSR, 인증요청서 작성)
요령