누락되었거나 신뢰할 수 없는 인증서로 인한 AEM SSL 인증서 유효성 검사 오류

Java 런타임, AEM 인증서 저장소 또는 로컬 개발 환경이 원격 서버 인증서 체인을 신뢰하지 않는 경우 Adobe Experience Manager(AEM) 아웃바운드 HTTPS 및 mTLS 연결이 실패합니다. 이 문제는 필요한 루트 또는 중간 인증서가 없거나, 인증서 체인이 완전하지 않거나, SSL 차단으로 신뢰할 수 없는 인증서가 도입되거나, Java 업그레이드 후 트러스트 관계가 변경될 때 발생합니다. 이 문제를 해결하려면 인증서를 확인하고 인증서 저장소를 업데이트하며 연결을 확인합니다.

설명 description

환경

Adobe Experience Manager as a Cloud Service (AEMaaCS)

문제/증상

  • 응용 프로그램 로그에 javax.net.ssl.SSLHandshakeException: PKIX 경로 작성 실패​가 표시됩니다. 이는 Java가 원격 끝점에 대해 신뢰할 수 있는 인증 경로를 작성할 수 없음을 나타냅니다.
  • aio CLI 또는 node-fetch와 같은 로컬 개발 도구는 SSL 체인에 신뢰할 수 없는 인증서가 있음을 나타내는 SELF_SIGNED_CERT_IN_CHAIN을 표시합니다.
  • 인증서 체인이 완전하지 않기 때문에 보안 끝점에 액세스할 때 브라우저에 연결이 비공개입니다.
  • 로컬 개발 환경에서는 로컬 Truststore가 인증서 체인을 신뢰하지 않음을 나타내는 로컬 발급자 인증서를 가져올 수 없음​을 표시합니다.
  • 키 저장소 구성이 올바르게 표시되는 경우에도 아웃바운드 mTLS 호출이 실패합니다.

근본 원인

이 문제는 AEM 또는 기본 Java 런타임이 원격 서버 인증서 체인을 신뢰하지 않기 때문에 발생합니다. 루트 또는 중간 인증서 기관 누락, 불완전한 인증서 업로드, SSL 검사 프록시, Java Truststore 변경 및 로컬 SDK 트러스트 유효성 검사 실패로 인해 SSL 핸드셰이크 유효성 검사가 성공적으로 수행되지 않습니다.

해결 방법 resolution

SSL 인증서 신뢰 문제를 식별하고 해결하려면 다음 단계를 따르십시오.

  1. AEM 로그, Cloud Manager CLI 출력, JVM 스택 추적 또는 로컬 개발 로그에서 PKIX 경로 작성 실패 또는 SELF_SIGNED_CERT_IN_CHAIN​과 같은 메시지를 검토하여 인증서 유효성 검사 오류를 식별합니다.
  2. openssl s_client -showcerts -connect <host>:443을(를) 실행하여 원격 서버 인증서 체인을 추출하고 체인의 모든 인증서가 반환되는지 확인하십시오.
  3. 인증서 누락, 불완전한 체인, SSL 가로채기, 브라우저 트러스트 문제 또는 로컬 개발 트러스트 유효성 검사 오류로 인해 문제가 발생했는지 여부를 확인하여 실패 범주를 결정합니다.
  4. 누락된 루트 및 중간 인증서를 AEM Truststore에 추가합니다. AEM as a Cloud Service의 경우 글로벌 Truststore를 통해 인증서를 가져옵니다. AMS 또는 온프레미스 환경의 경우 키 도구를 사용하여 Java Truststore로 인증서를 가져옵니다.
  5. 브라우저 기반 인증서 경고에 불완전한 체인이 표시되면 리프, 중간 및 루트 인증서가 포함된 전체 인증서 체인을 업로드합니다.
  6. 필요한 회사 CA 인증서를 로컬 운영 체제 또는 Node.js 인증서 저장소에 추가하여 로컬 개발 인증서 문제를 해결합니다.
  7. AMS 또는 온프레미스 환경에서 Truststore가 업데이트된 후 AEM 인스턴스 또는 Java 프로세스를 다시 시작하여 업데이트된 인증서가 성공적으로 로드되도록 합니다.
  8. SSLPoke 또는 애플리케이션 수준 API 호출을 사용하여 아웃바운드 연결을 확인하고 SSL 핸드셰이크 오류가 더 이상 발생하지 않는지 확인합니다.
  9. 아웃바운드 연결이 성공하고, SSLHandshakeException 오류가 더 이상 로그에 표시되지 않고, 인증서 유효성 검사가 성공적으로 완료되는지 확인하여 해결 방법을 확인합니다.

에스컬레이션 시기

  • Truststore에 필요한 인증서가 포함되어 있어도 SSL 핸드셰이크 실패는 계속됩니다.
  • 인증서 체인이 완료된 것으로 표시되지만 아웃바운드 연결이 계속 실패합니다.
  • SSL 검사 또는 프록시 인증서는 환경에서 검증하거나 신뢰할 수 없습니다.
  • Truststore 업데이트 및 연결 유효성 검사 후에도 아웃바운드 SSL 유효성 검사에 실패했습니다.

관련 읽기

recommendation-more-help
experience-cloud-kcs-help-kbarticles