:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the StreamPeerSSL.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_StreamPeerSSL: StreamPeerSSL ============= **Inherits:** :ref:`StreamPeer` **<** :ref:`RefCounted` **<** :ref:`Object` SSL stream peer. Description ----------- SSL stream peer. This object can be used to connect to an SSL server or accept a single SSL client connection. \ **Note:** When exporting to Android, make sure to enable the ``INTERNET`` permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. Tutorials --------- - :doc:`SSL certificates <../tutorials/networking/ssl_certificates>` Properties ---------- +-------------------------+----------------------------------------------------------------------------+----------+ | :ref:`bool` | :ref:`blocking_handshake` | ``true`` | +-------------------------+----------------------------------------------------------------------------+----------+ Methods ------- +------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`accept_stream` **(** :ref:`StreamPeer` stream, :ref:`CryptoKey` private_key, :ref:`X509Certificate` certificate, :ref:`X509Certificate` chain=null **)** | +------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`connect_to_stream` **(** :ref:`StreamPeer` stream, :ref:`bool` validate_certs=false, :ref:`String` for_hostname="", :ref:`X509Certificate` valid_certificate=null **)** | +------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`disconnect_from_stream` **(** **)** | +------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Status` | :ref:`get_status` **(** **)** |const| | +------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`poll` **(** **)** | +------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Enumerations ------------ .. _enum_StreamPeerSSL_Status: .. _class_StreamPeerSSL_constant_STATUS_DISCONNECTED: .. _class_StreamPeerSSL_constant_STATUS_HANDSHAKING: .. _class_StreamPeerSSL_constant_STATUS_CONNECTED: .. _class_StreamPeerSSL_constant_STATUS_ERROR: .. _class_StreamPeerSSL_constant_STATUS_ERROR_HOSTNAME_MISMATCH: enum **Status**: - **STATUS_DISCONNECTED** = **0** --- A status representing a ``StreamPeerSSL`` that is disconnected. - **STATUS_HANDSHAKING** = **1** --- A status representing a ``StreamPeerSSL`` during handshaking. - **STATUS_CONNECTED** = **2** --- A status representing a ``StreamPeerSSL`` that is connected to a host. - **STATUS_ERROR** = **3** --- A status representing a ``StreamPeerSSL`` in error state. - **STATUS_ERROR_HOSTNAME_MISMATCH** = **4** --- An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation. Property Descriptions --------------------- .. _class_StreamPeerSSL_property_blocking_handshake: - :ref:`bool` **blocking_handshake** +-----------+---------------------------------------+ | *Default* | ``true`` | +-----------+---------------------------------------+ | *Setter* | set_blocking_handshake_enabled(value) | +-----------+---------------------------------------+ | *Getter* | is_blocking_handshake_enabled() | +-----------+---------------------------------------+ Method Descriptions ------------------- .. _class_StreamPeerSSL_method_accept_stream: - :ref:`Error` **accept_stream** **(** :ref:`StreamPeer` stream, :ref:`CryptoKey` private_key, :ref:`X509Certificate` certificate, :ref:`X509Certificate` chain=null **)** Accepts a peer connection as a server using the given ``private_key`` and providing the given ``certificate`` to the client. You can pass the optional ``chain`` parameter to provide additional CA chain information along with the certificate. ---- .. _class_StreamPeerSSL_method_connect_to_stream: - :ref:`Error` **connect_to_stream** **(** :ref:`StreamPeer` stream, :ref:`bool` validate_certs=false, :ref:`String` for_hostname="", :ref:`X509Certificate` valid_certificate=null **)** Connects to a peer using an underlying :ref:`StreamPeer` ``stream``. If ``validate_certs`` is ``true``, ``StreamPeerSSL`` will validate that the certificate presented by the peer matches the ``for_hostname``. \ **Note:** Specifying a custom ``valid_certificate`` is not supported in HTML5 exports due to browsers restrictions. ---- .. _class_StreamPeerSSL_method_disconnect_from_stream: - void **disconnect_from_stream** **(** **)** Disconnects from host. ---- .. _class_StreamPeerSSL_method_get_status: - :ref:`Status` **get_status** **(** **)** |const| Returns the status of the connection. See :ref:`Status` for values. ---- .. _class_StreamPeerSSL_method_poll: - void **poll** **(** **)** Poll the connection to check for incoming bytes. Call this right before :ref:`StreamPeer.get_available_bytes` for it to work properly. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`