File: Socket.hx

package info (click to toggle)
haxe 1%3A3.4.7-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 29,888 kB
  • sloc: ml: 106,129; ansic: 1,978; makefile: 609; cpp: 357; java: 349; cs: 323; python: 250; sh: 75; objc: 64; xml: 29
file content (50 lines) | stat: -rw-r--r-- 1,318 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package sys.ssl;

/**
	A TLS socket class : allow you to both connect to a given server and exchange messages or start your own server and wait for connections.
**/
extern class Socket extends sys.net.Socket {

	static var DEFAULT_VERIFY_CERT : Null<Bool>;

	static var DEFAULT_CA : Null<sys.ssl.Certificate>;

	/**
		Define if peer certificate is verified during SSL handshake.
	**/
	var verifyCert : Null<Bool>;

	function new() : Void;

	/**
		Perform the SSL handshake.
	**/
	function handshake() : Void;
	
	/**
		Configure the certificate chain for peer certificate verification.
	**/	
	function setCA( cert : sys.ssl.Certificate ) : Void;

	/**
		Configure the hostname for Server Name Indication TLS extension.
	**/
	function setHostname( name : String ) : Void;

	/**
		Configure own certificate and private key.
	**/
	function setCertificate( cert : Certificate, key : Key ) : Void;

	/**
		Configure additionals certificates and private keys for Server Name Indication extension.
		The callback may be called during handshake to determine the certificate to use.
	**/
	function addSNICertificate( cbServernameMatch : String->Bool, cert : Certificate, key : Key ) : Void;
	
	/**
		Return the certificate received from the other side of a connection.
	**/
	function peerCertificate() : sys.ssl.Certificate;

}