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 має обгортку підключення, StreamPeerTLS, яка може прийняти звичайне з’єднання та додати йому захист. Класи HTTPClient і HTTPRequest також підтримують HTTPS за допомогою цієї самої оболонки.

Godot спробує використати пакет сертифікатів TLS, наданий операційною системою, але також включає пакет сертифікатів TLS від Mozilla як запасний варіант.

Ви також можете створити власний пакет сертифікатів у налаштуваннях проекту:

Налаштування пакета сертифікатів TLS перевизначає налаштування проекту

Налаштування пакета сертифікатів TLS перевизначає налаштування проекту

Якщо встановлено, цей файл за замовчуванням перевизначає пакет, наданий операційною системою. Цей файл має містити будь-яку кількість публічних сертифікатів у форматі PEM.

Є два способи отримати сертифікати:

Отримати сертифікат в центрі сертифікації

Основним підходом до отримання сертифіката є використання центру сертифікації (CA), наприклад Let's Encrypt. Це більш громіздкий процес, ніж самопідписаний сертифікат, але він більш «офіційний» і забезпечує чітке представлення вашої особи. Отриманому сертифікату також довіряють такі програми, як веб-браузери, на відміну від самопідписаного сертифіката, який потребує додаткової конфігурації на стороні клієнта, перш ніж вважатиметься надійним.

Ці сертифікати не потребують жодної конфігурації на клієнті для роботи, оскільки Godot уже об’єднує пакет сертифікатів Mozilla у редакторі та експортованих проектах.

Створіть самопідписаний сертифікат

Для більшості випадків використання рекомендується пройти через центр сертифікації, оскільки цей процес є безкоштовним у таких центрах сертифікації, як Let's Encrypt. Однак, якщо використання центру сертифікації не є варіантом, ви можете створити самопідписаний сертифікат і повідомити клієнта вважати ваш самопідписаний сертифікат надійним.

Щоб створити самопідписаний сертифікат, згенеруйте пару закритого та відкритого ключів і додайте відкритий ключ (у форматі PEM) до файлу CRT, указаного в параметрах проекту.

Попередження

Закритий ключ має надходити лише на ваш сервер. Клієнт не повинен мати до нього доступу: інакше безпека сертифіката буде порушена.

Попередження

Якщо в налаштуваннях проекту вказано самопідписаний сертифікат як пакет TLS, звичайна перевірка доменного імені виконується через сертифікат CN та альтернативні імена. Перегляньте TLSOptions, щоб налаштувати перевірку доменного імені.

Для цілей розробки Godot може генерувати самопідписані сертифікати через Crypto.generate_self_signed_certificate.

Крім того, OpenSSL має певну документацію щодо генерації ключів і сертифікатів.