SSL证书

简介

通常希望使用SSL连接进行通信,这可以避免``中间人``攻击. Godot有一个连接包装器 StreamPeerSSL ,它可以进行更安全的连接. HTTPClient 类也通过使用相同的包装器来支持HTTPS.

Godot包括了来自Mozilla的SSL证书,但你可以在项目设置中用.crt文件提供你自己的:

../../_images/ssl_certs.png

该文件应包含任意数量的 `PEM格式的公共证书<https://en.wikipedia.org/wiki/Privacy-enhanced_Electronic_Mail>`__ .

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

../../_images/add_crt.png

获取证书有两种方法:

方法1:自签名证书

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

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

方法2:CA证书

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

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

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

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

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

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

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