SSL/TLS 영역에서 "로컬 발급자 인증서를 얻을 수 없습니다" 오류는 개발자와 시스템 관리자가 보안 연결을 사용할 때 직면하게 되는 일반적인 걸림돌입니다. 이 오류는 일반적으로 인증서 체인을 완전히 검증할 수 없을 때 발생합니다. 즉, 시스템이 발급자를 인식하지 못하기 때문에 인증서의 진위 여부를 확인할 수 없음을 의미합니다. SSL/TLS를 사용하는 웹 애플리케이션, 서버 및 기타 시스템에서 안전한 통신을 보장하려면 이 오류를 이해하는 것이 중요합니다.
SSL/TLS란 무엇인가요?
SSL(Secure Sockets Layer)과 그 후속인 TLS(Transport Layer Security)는 컴퓨터 네트워크를 통해 보안 통신을 제공하도록 설계된 암호화 프로토콜입니다. 이는 웹 트래픽, 이메일 및 기타 형태의 통신을 보호하는 데 광범위하게 사용됩니다. SSL/TLS의 주요 목적은 개인 정보 보호, 데이터 무결성 및 통신 세션 당사자 간의 인증을 보장하는 것입니다.
SSL/TLS는 인증서를 사용하여 신뢰를 구축합니다. 이러한 인증서는 인증 기관(CA)으로 알려진 신뢰할 수 있는 기관에서 발급됩니다. 보안 연결이 설정되면 서버는 클라이언트에게 인증서를 제공하고 클라이언트는 신뢰할 수 있는 CA 목록과 비교하여 이 인증서를 확인합니다. 인증서가 유효하고 CA를 신뢰할 수 있으면 연결이 진행됩니다. 그렇지 않은 경우 "로컬 발급자 인증서를 가져올 수 없습니다."와 같은 오류가 발생할 수 있습니다.
인증서 체인의 구조
인증 경로라고도 하는 인증서 체인은 체인의 각 인증서가 후속 인증서에 의해 서명되는 일련의 인증서입니다. 체인은 최종 사용자 인증서로 시작하여 CA가 자체 서명한 루트 인증서까지 올라갑니다. 인증서 체인의 일반적인 구조는 다음과 같습니다.
- 최종 사용자 인증서: 해당 웹사이트 또는 서비스에 대한 인증서입니다.
- 중간 인증서: 이 인증서는 최종 사용자 인증서와 루트 인증서 사이의 격차를 해소합니다. CA에서 발급하며 클라이언트가 신뢰해야 합니다.
- 루트 인증서: 루트 인증서는 체인의 최상위 인증서이며 CA에서 자체 서명합니다. 일반적으로 시스템의 인증서 저장소에 사전 설치되어 있습니다.
인증서를 신뢰할 수 있으려면 최종 사용자 인증서부터 루트 인증서까지의 전체 체인이 유효하고 시스템에서 인식되어야 합니다. 이 체인의 링크가 누락되거나 인식되지 않으면 오류가 발생합니다.
"로컬 발급자 인증서를 가져올 수 없습니다" 오류의 원인은 무엇입니까?
클라이언트가 신뢰 저장소에서 중간 인증서 또는 루트 인증서를 찾을 수 없기 때문에 서버가 제공한 인증서의 유효성을 검사할 수 없는 경우 "로컬 발급자 인증서를 가져올 수 없습니다" 오류가 발생합니다. 여러 가지 요인으로 인해 이 오류가 발생할 수 있습니다.
- 누락된 중간 인증서:
o 서버가 전체 인증서 체인을 제공하지 못하는 경우 클라이언트는 인증서를 확인할 수 없습니다. 이는 서버가 중간 인증서를 포함하지 않고 최종 사용자 인증서만 보내는 경우에 일반적입니다.
- 오래되었거나 불완전한 인증서 저장소:
o 클라이언트의 인증서 저장소에 필요한 중간 또는 루트 인증서가 없을 수 있습니다. 이는 시스템의 인증서 저장소가 오래되었거나 필요한 인증서가 설치되지 않은 경우 발생할 수 있습니다.
- 자체 서명된 인증서:
o 자체 서명된 인증서가 사용되고 클라이언트가 이 인증서를 신뢰하지 않는 경우 이 오류로 인해 연결이 실패합니다. 이는 테스트 목적으로 자체 서명된 인증서를 사용하는 개발 환경에서 흔히 볼 수 있습니다.
- 부적절한 구성:
o 때로는 인증서 파일에 대한 잘못된 경로와 같은 서버의 잘못된 구성으로 인해 서버가 불완전하거나 잘못된 인증서 체인을 보낼 수 있습니다.
- 만료된 인증서:
o 체인의 인증서가 만료된 경우 클라이언트가 체인의 유효성을 검사하지 못해 이 오류가 발생할 수 있습니다.
오류 문제 해결 및 해결
"로컬 발급자 인증서를 가져올 수 없습니다" 오류를 해결하려면 근본 원인에 따라 여러 단계를 수행할 수 있습니다.
- 완전한 인증서 체인이 전송되었는지 확인하세요.
o 최종 사용자 인증서와 모든 중간 인증서를 포함하여 전체 인증서 체인을 보내도록 서버를 구성해야 합니다. 이는 일반적으로 인증서를 단일 파일로 연결하거나 필요한 모든 인증서를 참조하도록 서버 소프트웨어를 구성함으로써 수행됩니다.
- 클라이언트의 인증서 저장소 업데이트:
o 클라이언트의 인증서 저장소가 오래된 경우 최신 인증서로 업데이트해야 합니다. 대부분의 운영 체제에서는 패키지 관리자나 시스템 업데이트를 통해 이 작업을 수행할 수 있습니다. 예를 들어 Linux에서는 ca-certificates 패키지를 업데이트하면 인증서 저장소를 새로 고칠 수 있습니다.
- 누락된 인증서를 수동으로 추가:
o 특정 중간 또는 루트 인증서가 누락된 경우 클라이언트의 인증서 저장소에 수동으로 추가할 수 있습니다. CA 웹사이트에서 누락된 인증서를 받아 신뢰 저장소에 설치하면 됩니다.
- 만료된 인증서 확인:
o OpenSSL과 같은 도구를 사용하여 체인에 있는 인증서의 유효성을 확인합니다. 만료된 인증서가 있으면 갱신하거나 교체해야 합니다.
- 올바른 서버 구성 사용:
o 서버가 올바른 인증서 파일을 가리키도록 올바르게 구성되었는지 확인하십시오. 서버의 SSL/TLS 구성을 확인하여 인증서 경로가 올바르게 설정되었는지, 파일에 액세스할 수 있는지 확인하세요.
- 신뢰할 수 있는 CA로 전환:
o 자체 서명된 인증서로 인해 문제가 발생하는 경우 신뢰할 수 있는 CA에서 발급한 인증서로 전환하는 것이 좋습니다. 이제 많은 서비스에서 대부분의 클라이언트가 쉽게 설치하고 인식할 수 있는 무료 SSL/TLS 인증서(예: Let’s Encrypt)를 제공합니다.
오류 진단 도구
"로컬 발급자 인증서를 가져올 수 없습니다." 오류를 진단하고 수정하는 데 도움이 되는 여러 도구가 있습니다.
- OpenSSL:
o OpenSSL은 SSL/TLS 인증서를 관리하고 문제를 해결하는 데 널리 사용되는 도구입니다. openssl s_client -connect와 같은 명령을 사용하여 서버에서 제공하는 인증서 체인을 검사할 수 있습니다.
- SSL 연구소 SSL 테스트:
o SSL Labs SSL 테스트는 서버의 SSL/TLS 구성을 분석하고 인증서 체인 및 잠재적인 문제에 대한 자세한 정보를 제공하는 온라인 서비스입니다.
- Verbose 옵션을 사용한 Curl:
o 명령줄 도구인 Curl을 -v 옵션과 함께 사용하면 SSL/TLS 핸드셰이크 프로세스에 대한 통찰력을 제공하고 인증서 확인이 실패한 위치를 정확히 찾아낼 수 있습니다.
- 브라우저 개발자 도구:
o 최신 웹 브라우저에는 보안 패널이 포함된 개발자 도구가 함께 제공됩니다. 이는 웹사이트의 인증서 체인을 검사하고 누락되었거나 신뢰할 수 없는 인증서를 식별하는 데 사용할 수 있습니다.
결론
"로컬 발급자 인증서를 가져올 수 없습니다" 오류는 SSL/TLS로 작업할 때, 특히 보안 통신이 중요한 환경에서 발생하는 일반적인 문제입니다. 인증서 체인의 구조와 이 오류를 유발할 수 있는 요인을 이해하면 문제를 효과적으로 진단하고 해결할 수 있습니다. 클라이언트의 인증서 저장소 업데이트, 전체 인증서 체인 전송 보장, 신뢰할 수 있는 CA로 전환 등 이 문제를 완화하고 안전하고 안정적인 통신을 보장하는 데 사용할 수 있는 몇 가지 전략이 있습니다.
위 내용은 '로컬 발급자 인증서를 가져올 수 없습니다' 오류 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!