82 lines
3.9 KiB
XML
82 lines
3.9 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="StreamPeerTLS" inherits="StreamPeer" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
TLS stream peer.
|
|
</brief_description>
|
|
<description>
|
|
TLS stream peer. This object can be used to connect to an TLS server or accept a single TLS client connection.
|
|
[b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] 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.
|
|
</description>
|
|
<tutorials>
|
|
<link title="TLS certificates">$DOCS_URL/tutorials/networking/ssl_certificates.html</link>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="accept_stream">
|
|
<return type="int" enum="Error" />
|
|
<param index="0" name="stream" type="StreamPeer" />
|
|
<param index="1" name="private_key" type="CryptoKey" />
|
|
<param index="2" name="certificate" type="X509Certificate" />
|
|
<param index="3" name="chain" type="X509Certificate" default="null" />
|
|
<description>
|
|
Accepts a peer connection as a server using the given [param private_key] and providing the given [param certificate] to the client. You can pass the optional [param chain] parameter to provide additional CA chain information along with the certificate.
|
|
</description>
|
|
</method>
|
|
<method name="connect_to_stream">
|
|
<return type="int" enum="Error" />
|
|
<param index="0" name="stream" type="StreamPeer" />
|
|
<param index="1" name="validate_certs" type="bool" default="false" />
|
|
<param index="2" name="for_hostname" type="String" default="""" />
|
|
<param index="3" name="valid_certificate" type="X509Certificate" default="null" />
|
|
<description>
|
|
Connects to a peer using an underlying [StreamPeer] [param stream]. If [param validate_certs] is [code]true[/code], [StreamPeerTLS] will validate that the certificate presented by the peer matches the [param for_hostname].
|
|
[b]Note:[/b] Specifying a custom [param valid_certificate] is not supported in Web exports due to browsers restrictions.
|
|
</description>
|
|
</method>
|
|
<method name="disconnect_from_stream">
|
|
<return type="void" />
|
|
<description>
|
|
Disconnects from host.
|
|
</description>
|
|
</method>
|
|
<method name="get_status" qualifiers="const">
|
|
<return type="int" enum="StreamPeerTLS.Status" />
|
|
<description>
|
|
Returns the status of the connection. See [enum Status] for values.
|
|
</description>
|
|
</method>
|
|
<method name="get_stream" qualifiers="const">
|
|
<return type="StreamPeer" />
|
|
<description>
|
|
Returns the underlying [StreamPeer] connection, used in [method accept_stream] or [method connect_to_stream].
|
|
</description>
|
|
</method>
|
|
<method name="poll">
|
|
<return type="void" />
|
|
<description>
|
|
Poll the connection to check for incoming bytes. Call this right before [method StreamPeer.get_available_bytes] for it to work properly.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="blocking_handshake" type="bool" setter="set_blocking_handshake_enabled" getter="is_blocking_handshake_enabled" default="true">
|
|
</member>
|
|
</members>
|
|
<constants>
|
|
<constant name="STATUS_DISCONNECTED" value="0" enum="Status">
|
|
A status representing a [StreamPeerTLS] that is disconnected.
|
|
</constant>
|
|
<constant name="STATUS_HANDSHAKING" value="1" enum="Status">
|
|
A status representing a [StreamPeerTLS] during handshaking.
|
|
</constant>
|
|
<constant name="STATUS_CONNECTED" value="2" enum="Status">
|
|
A status representing a [StreamPeerTLS] that is connected to a host.
|
|
</constant>
|
|
<constant name="STATUS_ERROR" value="3" enum="Status">
|
|
A status representing a [StreamPeerTLS] in error state.
|
|
</constant>
|
|
<constant name="STATUS_ERROR_HOSTNAME_MISMATCH" value="4" enum="Status">
|
|
An error status that shows a mismatch in the TLS certificate domain presented by the host and the domain requested for validation.
|
|
</constant>
|
|
</constants>
|
|
</class>
|