Work in progress

The content of this page was not yet updated for Godot 4.2 and may be outdated. If you know how to improve this page or you can confirm that it's up to date, feel free to open a pull request.

SSL сертифікати

Вступ

It is often desired to use SSL connections for communications to avoid "man in the middle" attacks. Godot has a connection wrapper, StreamPeerTLS, which can take a regular connection and add security around it. The HTTPClient class also supports HTTPS by using this same wrapper.

Godot включає сертифікати SSL від Mozilla, але ви можете надати свій власний за допомогою файлу .crt у параметрах проекту:

../../_images/ssl_certs.png

Цей файл повинен містити будь-яку кількість публічних сертифікатів у `форматі PEM<https://en.wikipedia.org/wiki/Privacy-enhanced_Electronic_Mail>`__.

Звичайно, не забудьте додати .crt в фільтр, щоб експортер розпізнавав його під час експорту вашого проекту.

../../_images/add_crt.png

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

Підхід 1: сертифікат з самостійним підписом

Перший підхід є найпростішим: створіть пару приватних і відкритих ключів і додайте відкритий ключ (у форматі PEM) до файлу .crt. Приватний ключ повинен перейти на ваш сервер.

OpenSSL має про це `деяку документацію<https://raw.githubusercontent.com/openssl/openssl/master/doc/HOWTO/keys.txt>`__. Цей підхід також не вимагає перевірки домену та не вимагає від вас витрат значної суми грошей на купівлю сертифікатів у ЦС.

Підхід 2: сертифікат ЦС

Другий підхід полягає у використанні центру сертифікації (ЦС), наприклад Verisign, Geotrust тощо. Це більш громіздкий процес, але він є більш "офіційним" і забезпечує чітке представлення вашої особи.

Якщо ви не працюєте з великими компаніями чи корпораціями, або вам потрібно підключитися до чужих серверів (тобто підключитися до Google, або іншого постачальника REST API, через HTTPS), то цей метод не такий корисний.

Крім того, під час використання сертифіката, виданого ЦС, ви повинні ввімкнути перевірку домену, щоб переконатися, що домен, до якого ви підключаєтеся, відповідає призначенню, інакше будь-який веб-сайт може видати будь-який сертифікат в тому ж ЦС, і він працюватиме.

Якщо ви використовуєте Linux, ви можете використовувати наданий файл сертифікатів, який зазвичай знаходиться в:

/etc/ssl/certs/ca-certificates.crt

Цей файл дозволяє підключатися HTTPS практично до будь-якого веб-сайту (наприклад, Google, Microsoft тощо).

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