2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2019-04-01 18:33:56 +08:00
<class name= "StreamPeerSSL" inherits= "StreamPeer" category= "Core" version= "3.2" >
2017-09-13 04:42:36 +08:00
<brief_description >
2019-06-22 07:04:47 +08:00
SSL stream peer.
2017-09-13 04:42:36 +08:00
</brief_description>
<description >
2019-09-24 00:16:41 +08:00
SSL stream peer. This object can be used to connect to an SSL server or accept a single SSL client connection.
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
2018-11-05 15:46:27 +08:00
<link > https://docs.godotengine.org/en/latest/tutorials/networking/ssl_certificates.html</link>
2017-09-13 04:42:36 +08:00
</tutorials>
<methods >
<method name= "accept_stream" >
<return type= "int" enum= "Error" >
</return>
2019-08-22 20:49:30 +08:00
<argument index= "0" name= "stream" type= "StreamPeer" >
</argument>
<argument index= "1" name= "private_key" type= "CryptoKey" >
</argument>
<argument index= "2" name= "certificate" type= "X509Certificate" >
</argument>
<argument index= "3" name= "chain" type= "X509Certificate" default= "null" >
2017-09-13 04:42:36 +08:00
</argument>
<description >
2019-09-24 00:16:41 +08:00
Accepts a peer connection as a server using the given [code]private_key[/code] and providing the given [code]certificate[/code] to the client. You can pass the optional [code]chain[/code] parameter to provide additional CA chain information along with the certificate.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "connect_to_stream" >
<return type= "int" enum= "Error" >
</return>
<argument index= "0" name= "stream" type= "StreamPeer" >
</argument>
<argument index= "1" name= "validate_certs" type= "bool" default= "false" >
</argument>
<argument index= "2" name= "for_hostname" type= "String" default= """" >
</argument>
2019-08-22 20:49:30 +08:00
<argument index= "3" name= "valid_certificate" type= "X509Certificate" default= "null" >
</argument>
2017-09-13 04:42:36 +08:00
<description >
2019-06-22 07:04:47 +08:00
Connects to a peer using an underlying [StreamPeer] [code]stream[/code]. If [code]validate_certs[/code] is [code]true[/code], [StreamPeerSSL] will validate that the certificate presented by the peer matches the [code]for_hostname[/code].
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "disconnect_from_stream" >
<return type= "void" >
</return>
<description >
2019-06-22 07:04:47 +08:00
Disconnects from host.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_status" qualifiers= "const" >
<return type= "int" enum= "StreamPeerSSL.Status" >
</return>
<description >
2019-06-22 07:04:47 +08:00
Returns the status of the connection. See [enum Status] for values.
2017-09-13 04:42:36 +08:00
</description>
</method>
2018-02-09 22:03:34 +08:00
<method name= "poll" >
<return type= "void" >
</return>
<description >
2019-06-22 07:04:47 +08:00
Poll the connection to check for incoming bytes. Call this right before [method StreamPeer.get_available_bytes] for it to work properly.
2018-02-09 22:03:34 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
</methods>
2018-07-26 17:56:21 +08:00
<members >
2019-06-29 18:38:01 +08:00
<member name= "blocking_handshake" type= "bool" setter= "set_blocking_handshake_enabled" getter= "is_blocking_handshake_enabled" default= "true" >
2018-07-26 17:56:21 +08:00
</member>
</members>
2017-09-13 04:42:36 +08:00
<constants >
2017-11-25 06:16:30 +08:00
<constant name= "STATUS_DISCONNECTED" value= "0" enum= "Status" >
2019-03-30 06:37:35 +08:00
A status representing a [StreamPeerSSL] that is disconnected.
2017-09-13 04:42:36 +08:00
</constant>
2018-10-07 21:52:07 +08:00
<constant name= "STATUS_HANDSHAKING" value= "1" enum= "Status" >
</constant>
2018-07-26 17:56:21 +08:00
<constant name= "STATUS_CONNECTED" value= "2" enum= "Status" >
2019-03-30 06:37:35 +08:00
A status representing a [StreamPeerSSL] that is connected to a host.
2017-09-13 04:42:36 +08:00
</constant>
2018-07-26 17:56:21 +08:00
<constant name= "STATUS_ERROR" value= "3" enum= "Status" >
2017-09-13 04:42:36 +08:00
</constant>
2018-07-26 17:56:21 +08:00
<constant name= "STATUS_ERROR_HOSTNAME_MISMATCH" value= "4" enum= "Status" >
2017-09-13 04:42:36 +08:00
An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation.
</constant>
</constants>
</class>