aboutsummaryrefslogtreecommitdiff
path: root/types/ssl.d.tl
diff options
context:
space:
mode:
Diffstat (limited to 'types/ssl.d.tl')
-rw-r--r--types/ssl.d.tl113
1 files changed, 113 insertions, 0 deletions
diff --git a/types/ssl.d.tl b/types/ssl.d.tl
new file mode 100644
index 00000000..1bd40348
--- /dev/null
+++ b/types/ssl.d.tl
@@ -0,0 +1,113 @@
1local socket = require("socket")
2local TCP = socket.TCP
3
4local record ssl
5 record SSLCertificate
6 certificate: string
7 key: string
8 password: string|function
9 end
10 record SSLContext
11 mode: string
12 protocol: string
13 key: string
14 password: string|function
15 certificate: string
16 certificates: {SSLCertificate}
17 cafile: string
18 capath: string
19 verify: string|{string}
20 options: string|{string}
21 ciphers: string
22 ciphersuites: string
23 depth: number
24 dhparam: function
25 curve: string
26 curves_list: string
27 verifyext: string|{string}
28 alpn: string|function|{string}
29 dane: boolean
30 end
31 record X509Certificate
32 enum Algorithm
33 "sha1"
34 "sha256"
35 "sha512"
36 end
37 digest: function(X509Certificate, Algorithm): string
38 extensions: function(X509Certificate): {string}
39 issued: function(X509Certificate, X509Certificate): string
40 issuer: function(X509Certificate): string
41 notbefore: function(X509Certificate): string
42 notafter: function(X509Certificate): string
43 pem: function(X509Certificate): string
44 pubkey: function(X509Certificate): string
45 serial: function(X509Certificate): string
46 enum Encoding
47 "ai5"
48 "utf8"
49 end
50 setencode: function(X509Certificate, Encoding): string
51 subject: function(X509Certificate): string
52 validat: function(X509Certificate, string): boolean
53 end
54 record SSLConnection
55 close: function(SSLConnection)
56 dohandshake: function(SSLConnection): boolean, string
57 getalpn: function(SSLConnection): string
58 getfinished: function(SSLConnection): string
59 getpeercertificate: function(SSLConnection): X509Certificate
60 getpeercertificate: function(SSLConnection, number): X509Certificate
61 getpeerchain: function(SSLConnection): X509Certificate
62 getpeerverification: function(SSLConnection): string
63 getpeerfinished: function(SSLConnection): string
64 getsniname: function(SSLConnection): string
65 getstats: function(SSLConnection): number, number, number
66 info: function(SSLConnection): table
67 info: function(SSLConnection, string): string
68 enum ReceivePattern
69 "*a"
70 "*l"
71 end
72 receive: function(SSLConnection, number|ReceivePattern): string, string
73 receive: function(SSLConnection, number|ReceivePattern, string): string, string
74 send: function(SSLConnection): number, number|string, number
75 send: function(SSLConnection, number): number, number|string, number
76 send: function(SSLConnection, number, number): number, number|string, number
77 setdane: function(SSLConnection, string)
78 setstats: function(SSLConnection, number, number, number): number
79 enum TimeoutMode
80 "b"
81 "t"
82 end
83 settimeout: function(SSLConnection, number)
84 settimeout: function(SSLConnection, number, TimeoutMode)
85 settlsa: function(SSLConnection, number, number, number, number)
86 sni: function(SSLConnection, string)
87 sni: function(SSLConnection, {string:SSLContext})
88 sni: function(SSLConnection, {string:SSLContext}, boolean)
89 enum Reason
90 "read"
91 "write"
92 "nothing"
93 end
94 want: function(SSLConnection): Reason
95 end
96
97 record config
98 protocols: {string:boolean}
99 curves: {string:boolean}
100 capabilities: {string:boolean}
101 options: {string:boolean}
102 algorithms: {string:boolean}
103 end
104
105 newcontext: function(SSLContext): SSLContext
106 wrap: function(TCP, SSLContext): SSLConnection
107 loadcertificate: function(string): X509Certificate
108
109 _COPYRIGHT: string
110 _VERSION: string
111end
112
113return ssl \ No newline at end of file