SSL证书

介绍

人们通常希望使用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

获取证书有两种方法:

方法1:自签名证书

第一种方法是最简单的:生成一个私有和公共密钥对,并将公共密钥对放入.crt文件中(同样,采用pem格式)。私钥应该转到服务器。

openssl有 some documentation 关于这个。这种方法也是 不需要域验证 也不要求你花大量的钱从CA购买证书。

方法2:CA证书

第二种方法包括使用证书颁发机构(CA),如Verisign、geotrust等。这是一个更麻烦的过程,但它更“正式”,并确保您的身份被清楚地表示出来。

除非您正在与大型公司或企业合作,或者需要连接到其他人的服务器(即通过HTTPS连接到Google或其他REST API提供商),否则此方法没有那么有用。

此外,当使用CA颁发的证书时, 必须启用域验证 ,以确保您正在连接的域是预期的域,否则任何网站都可以在同一CA中颁发任何证书,它将工作。

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

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

这个文件允许HTTPS连接到几乎任何网站(如谷歌、微软等)。

或者,如果要连接到特定的证书,则选择其中任何更具体的证书。