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

Вступ

Часто бажано використовувати з’єднання SSL для зв’язку, щоб уникнути атак "людина посередині". Godot має обгортку підключення, StreamPeerSSL, яка може приймати звичайне з’єднання та додавати йому безпеку. Клас HTTPClient також підтримує HTTPS за допомогою цієї ж обгортки.

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 тощо).

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