Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

TLS/SSL 인증서

소개

"중간자" 공격을 피하기 위해 통신에 TLS 연결(SSL 연결이라고도 함)을 사용하는 것이 종종 바람직합니다. Godot에는 일반 연결을 취하고 주변에 보안을 추가할 수 있는 연결 래퍼 StreamPeerTLSHTTPRequest 클래스도 동일한 래퍼를 사용하여 HTTPS를 지원합니다.

Godot는 운영 체제에서 제공하는 TLS 인증서 번들을 사용하려고 시도하지만 대체 수단으로 `Mozilla의 TLS 인증서 번들 <https://github.com/godotengine/godot/blob/master/thirdparty/certs/ca-certificates.crt>`__도 포함합니다.

또는 프로젝트 설정에서 자체 인증서 번들을 강제 실행할 수도 있습니다.

TLS 인증서 번들 재정의 프로젝트 설정 지정

TLS 인증서 번들 재정의 프로젝트 설정 지정

설정되면 이 파일은 기본적으로 운영 체제에서 제공하는 번들을 *재정의*합니다. 이 파일에는 `PEM 형식 <https://en.wikipedia.org/wiki/Privacy-enhanced_Electronic_Mail>`__의 공개 인증서가 원하는 만큼 포함되어야 합니다.

인증서를 얻는 방법에는 두 가지가 있습니다.

인증 기관으로부터 인증서 받기

인증서를 얻는 주요 접근 방식은 `Let's Encrypt <https://letsencrypt.org/>`__와 같은 인증 기관(CA)을 사용하는 것입니다. 이는 자체 서명된 인증서보다 더 번거로운 프로세스이지만 더 "공식적"이며 귀하의 신원이 명확하게 표시되도록 보장합니다. 결과 인증서는 신뢰할 수 있는 것으로 간주되기 전에 클라이언트 측에서 추가 구성이 필요한 자체 서명 인증서와 달리 웹 브라우저와 같은 애플리케이션에서도 신뢰됩니다.

Godot는 이미 편집기와 내보낸 프로젝트에 Mozilla 인증서 번들을 번들로 묶어두었기 때문에 이 인증서는 작동하기 위해 클라이언트에 어떤 구성도 필요하지 않습니다.

자체 서명된 인증서 생성

대부분의 사용 사례에서는 Let's Encrypt와 같은 인증 기관을 통해 프로세스가 무료이므로 인증 기관을 통과하는 것이 좋습니다. 그러나 인증 기관을 사용할 수 없는 경우 자체 서명된 인증서를 생성하고 클라이언트에게 자체 서명된 인증서를 신뢰할 수 있는 것으로 간주하도록 지시할 수 있습니다.

자체 서명된 인증서를 생성하려면 개인 키와 공개 키 쌍을 생성하고 프로젝트 설정에 지정된 CRT 파일에 공개 키(PEM 형식)를 추가합니다.

경고

개인 키는 오직 귀하의 서버로 이동해야 합니다. 클라이언트는 이에 액세스할 수 없어야 합니다. 그렇지 않으면 인증서 보안이 손상됩니다.

경고

프로젝트 설정에서 자체 서명된 인증서를 TLS 번들로 지정하면 인증서 CN 및 대체 이름을 통해 일반 도메인 이름 유효성 검사가 시행됩니다. 도메인 이름 검증을 사용자 정의하려면 :ref:`TLSOptions <class_TLSOptions>`을 참조하세요.

개발 목적으로 Godot는 :ref:`Crypto.generate_self_signed_certificate <class_Crypto_method_generate_self_signed_certificate>`을 통해 자체 서명된 인증서를 생성할 수 있습니다.

또는 OpenSSL에는 키 생성`인증서 <https://raw.githubusercontent.com/openssl/openssl/master/doc/HOWTO/certificates.txt>`__에 대한 일부 문서가 있습니다.