1. 인증서 준비
Amazon의 루트 인증서(RSA 2048 M03)는 다음 링크에서 다운로드할 수 있습니다:
•
https://www.amazontrust.com/repository/Amazon-RSA-2048-M03.cer (Amazon의 루트 인증서RSA 2048 M03 다운로드
•
https://www.amazontrust.com/repository/AmazonRootCA1.cer (Amazon Root CA1 다운로드)
•
필요한 인증서: Amazon Root CA 3 또는 Amazon Root CA 4 등, 사용하는 서비스에 따라 다름
보통 .pem 형식 또는 .crt 형식으로 제공됩니다. JDK의 키스토어에 넣기 위해 .cer 혹은 .der 형식으로 변환해도 됩니다.
2. JDK 1.8 TrustStore에 인증서 등록
JDK의 cacerts 트러스트스토어에 인증서를 등록해야 JBoss를 포함한 Java 애플리케이션이 Amazon의 인증서를 신뢰할 수 있습니다.
기본 위치:
bash
복사편집
$JAVA_HOME/jre/lib/security/cacerts
Shell
복사
기본 비밀번호:
bash
복사편집
changeit
Shell
복사
등록 명령어:
bash
복사편집
keytool -import -trustcacerts -alias amazon-root-ca-m03 \
-file AmazonRootCA3.pem \
-keystore $JAVA_HOME/jre/lib/security/cacerts \
-storepass changeit
Shell
복사
AmazonRootCA3.pem 파일의 이름은 실제 다운로드한 인증서 파일 이름에 맞게 조정하세요.
3. JBoss 7.4 설정 확인
JBoss에서 HTTPS 통신이나 외부 API 호출(AWS 서비스 등)에 인증서를 사용할 경우, JDK 트러스트스토어의 인증서가 자동으로 반영되지만 다음 사항을 확인하세요:
A. JBoss에서 Java 사용 버전 확인
bash
복사편집
$JBOSS_HOME/bin/jboss-cli.sh --connect
[standalone@localhost:9990 /] :read-attribute(name=java-home)
Shell
복사
B. JVM 옵션에 TrustStore 직접 지정 (선택적)
bash
복사편집
JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=$JAVA_HOME/jre/lib/security/cacerts -Djavax.net.ssl.trustStorePassword=changeit"
Shell
복사
이는 필요한 경우이며, 대부분 JDK의 기본 트러스트스토어를 사용하므로 명시할 필요는 없습니다.
4. 적용 확인
인증서 적용 후에는 다음 명령어로 실제 등록 여부를 확인합니다:
bash
복사편집
keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts -alias amazon-root-ca-m03 -storepass changeit
Shell
복사
또한, JBoss 애플리케이션이 AWS 엔드포인트(예: https://email.us-west-2.amazonaws.com) 등과 통신하는 경우, SSL 예외가 발생하지 않는지 로그로 확인하세요.
테스트 예시
Java 코드 혹은 curl + JDK 기반 명령어를 통해 인증서 문제 없이 접속 가능한지 확인:
bash
복사편집
curl https://sns.us-west-2.amazonaws.com
Shell
복사
또는:
java
복사편집
HttpsURLConnection conn = (HttpsURLConnection) new URL("https://sns.us-west-2.amazonaws.com").openConnection();
conn.connect(); // 인증서 문제 없으면 정상 연결됨
Java
복사
필요 시, 인증서 체인 문제 해결을 위해 중간 인증서도 등록해야 할 수 있습니다. AWS의 서비스별 요구 사항에 따라 Amazon Intermediate CA 인증서도 함께 확인하세요.
필요하다면 관련 서비스나 로그 기반 문제 해결 방법도 도와드릴 수 있습니다.