From 7698f624e8272280029a5195cc6eb870b18e6354 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Thu, 29 Aug 2024 21:39:57 +0200 Subject: [PATCH] Update SSL/TLS networking tutorial (#9847) * Update SSL/TLS networking tutorial Swap TLS and SSL mentions (TLS is now the most widely accepted term). Clarify that Godot now uses the trusted certifcates from the operating system by default, and only uses the Mozilla CA bundle as a fallback. Remove outdated export filter reference (certificates are recognized as resources). Warn about self-signed certificates still validating domain name when set in project settings (and reference TLSOptions for custom behavior). Add reference to Crypto.generate_self_signed_certificate and provide further reference about the OpenSSL documentation. --------- Co-authored-by: Max Hilbrunner Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> --- .../img/tls_certificates_export_filter.webp | Bin 12496 -> 0 bytes tutorials/networking/ssl_certificates.rst | 48 ++++++++++-------- 2 files changed, 26 insertions(+), 22 deletions(-) delete mode 100644 tutorials/networking/img/tls_certificates_export_filter.webp diff --git a/tutorials/networking/img/tls_certificates_export_filter.webp b/tutorials/networking/img/tls_certificates_export_filter.webp deleted file mode 100644 index ee83fa50436235549355c91a34d8dd3bb1af9892..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12496 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 a(4Am`, which can take a regular connection and add security around it. The :ref:`HTTPClient ` and :ref:`HTTPRequest ` classes also support HTTPS using this same wrapper. -Godot includes the -`SSL certificate bundle from Mozilla `__, -but you can provide your own with a CRT file in the Project Settings: +Godot will try to use the TLS certificate bundle provided by the operating system, +but also includes the +`TLS certificate bundle from Mozilla `__ +as a fallback. + +You can alternatively force your own certificate bundle in the Project Settings: .. figure:: img/tls_certificates_project_setting.webp :align: center @@ -24,23 +27,14 @@ but you can provide your own with a CRT file in the Project Settings: Setting the TLS certificate bundle override project setting -When set, this file *overrides* the Mozilla certificate bundle Godot uses -by default. This file should contain any number of public certificates in +When set, this file *overrides* the operating system provided bundle by default. +This file should contain any number of public certificates in `PEM format `__. -Remember to add ``*.crt`` as the non-resource export filter to your export -preset, so that the exporter recognizes this when exporting your project: - -.. figure:: img/tls_certificates_export_filter.webp - :align: center - :alt: Adding ``*.crt`` to non-resource export filter in the export preset - - Adding ``*.crt`` to non-resource export filter in the export preset - There are two ways to obtain certificates: -Acquire a certificate from a certificate authority --------------------------------------------------- +Obtain a certificate from a certificate authority +------------------------------------------------- The main approach to getting a certificate is to use a certificate authority (CA) such as `Let's Encrypt `__. This is a more @@ -73,7 +67,17 @@ Settings. access to it: otherwise, the security of the certificate will be compromised. -OpenSSL has `some documentation +.. warning:: + + When specifying a self-signed certificate as TLS bundle in the project + settings, normal domain name validation is enforced via the certificate + :abbr:`CN (common name)` and alternative names. See + :ref:`TLSOptions ` to customize domain name validation. + +For development purposes Godot can generate self-signed certificates via +:ref:`Crypto.generate_self_signed_certificate +`. + +Alternatively, OpenSSL has some documentation about `generating keys `__ -about this. For local development purposes **only**, `mkcert -`__ can be used as an alternative. +and `certificates `__.