SSL certificates

はじめに

「中間者」攻撃を回避するために、通信にSSL接続を使用することがしばしば望まれます。 Godotには、接続ラッパー StreamPeerSSL があります。これは、通常の接続を取得し、その周りにセキュリティを追加できます。HTTPClient クラスは、この同じラッパーを使用してHTTPSもサポートしています。

SSLを機能させるには、証明書を提供する必要があります。プロジェクト設定で.crtファイルを指定する必要があります:

../../_images/ssl_certs.png

このファイルには、任意の数の https://en.wikipedia.org/wiki/Privacy-enhanced_Electronic_Mail 形式の公開証明書を含める必要があります。

もちろん、プロジェクトのエクスポート時にエクスポーターがこれを認識するように、.crtをフィルターとして追加することを忘れないでください。

../../_images/add_crt.png

証明書を取得するには2つの方法があります:

アプローチ1: 自己署名証明書

最初のアプローチは最も単純です: 秘密鍵と公開鍵のペアを生成し、公開ペアを.crtファイルに(再び、PEM形式で)配置します。秘密鍵はサーバーに送られます。

OpenSSLには、これに関する ドキュメント があります。このアプローチは、ドメインの検証を必要としませんまた、CAから証明書を購入するのにかなりのお金を費やす必要もありません。

アプローチ2: CA証明書

2番目のアプローチは、Verisign、Geotrustなどの認証局(CA)を使用することです。これはより面倒なプロセスですが、より「公式」であり、身元が明確に表現されるようにします。

大企業や大企業で作業している場合、または他の人のサーバーに接続する必要がある場合(つまり、HTTPSを介してGoogleや他のREST APIプロバイダーに接続する場合)を除き、この方法はあまり役に立ちません。

また、CAが発行した証明書を使用する場合は、ドメイン検証を有効にする必要があります、接続しているドメインが意図したものであることを確認します。

Linuxを使用している場合、提供されているcertsファイルを使用できます。これは通常、次の場所にあります:

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

このファイルにより、事実上すべてのWebサイト(Google、Microsoftなど)へのHTTPS接続が可能になります。

または、特定の証明書に接続する場合は、より具体的な証明書を選択します。