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.

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包括了来自Mozilla的SSL证书, 但你可以在项目设置中用.crt文件提供你自己的:

../../_images/ssl_certs.png

该文件应包含任意数量的 PEM 格式的公共证书 .

当然, 请记住将.crt添加为过滤器, 以便导出器在导出项目时识别这一点.

../../_images/add_crt.png

获取证书有两种方法:

方法 1:自签名证书

第一种方法最简单: 生成一个私钥和公钥对, 并将公钥(PEM格式)添加到.crt文件中. 私钥应该放到你的服务器上.

OpenSSL有 一些文档 谈到这些. 这种方法也 不需要域名验证 也不要求您花费现金从CA购买证书.

方法 2:CA 证书

第二种方法是借助 Verisign、Geotrust 等证书颁发机构(CA)。这是一个更加繁琐的过程,但它更加“正式”并且可以确保您的身份被清晰地表示。

除非你与大公司或企业合作, 或需要连接到别人的服务器(即通过HTTPS连接到谷歌或其他REST API供应商), 否则这种方法就不那么有用.

此外, 当使用CA颁发的证书时, 您必须启用域名验证 , 以确保您要连接的域名是您想连接的域名, 否则一个CA颁发的证书将会成功用到任意数量的网站中.

如果您使用的是Linux, 则可以使用系统提供的证书文件, 通常位于:

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

此文件允许HTTPS连接到几乎任何网站(即Google,Microsoft等).

或者, 如果要连接到特定网站, 请选择任何更加具体的证书.