@integration-app/react 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (262) hide show
  1. package/node_modules/@compwright/namecase/LICENSE +26 -0
  2. package/node_modules/@compwright/namecase/README.md +49 -0
  3. package/node_modules/@compwright/namecase/bin/namecase +28 -0
  4. package/node_modules/@compwright/namecase/dist/namecase.min.js +4 -0
  5. package/node_modules/@compwright/namecase/dist/namecase.min.js.map +1 -0
  6. package/node_modules/@compwright/namecase/package.json +46 -0
  7. package/node_modules/@compwright/namecase/src/index.js +146 -0
  8. package/node_modules/@integration-app/sdk/bundle.js +404 -262
  9. package/node_modules/@integration-app/sdk/bundle.js.map +1 -1
  10. package/node_modules/@integration-app/sdk/client.d.ts +3 -3
  11. package/node_modules/@integration-app/sdk/data-builder/formulas/case.d.ts +3 -7
  12. package/node_modules/@integration-app/sdk/data-builder/formulas/case.js +16 -32
  13. package/node_modules/@integration-app/sdk/data-builder/formulas/case.js.map +1 -1
  14. package/node_modules/@integration-app/sdk/integrations/accessors.d.ts +0 -6
  15. package/node_modules/@integration-app/sdk/integrations/accessors.js +1 -87
  16. package/node_modules/@integration-app/sdk/integrations/accessors.js.map +1 -1
  17. package/node_modules/@integration-app/sdk/json-schema/index.d.ts +1 -1
  18. package/node_modules/@integration-app/sdk/src/client.ts +3 -3
  19. package/node_modules/@integration-app/sdk/src/data-builder/formulas/case.test.ts +11 -113
  20. package/node_modules/@integration-app/sdk/src/data-builder/formulas/case.ts +22 -46
  21. package/node_modules/@integration-app/sdk/src/integrations/accessors.ts +2 -122
  22. package/node_modules/@sinclair/typebox/package.json +40 -0
  23. package/node_modules/@sinclair/typebox/readme.md +740 -0
  24. package/node_modules/@sinclair/typebox/typebox.d.ts +351 -0
  25. package/node_modules/@sinclair/typebox/typebox.js +345 -0
  26. package/node_modules/@types/node/README.md +16 -0
  27. package/node_modules/@types/node/assert.d.ts +128 -0
  28. package/node_modules/@types/node/async_hooks.d.ts +229 -0
  29. package/node_modules/@types/node/buffer.d.ts +89 -0
  30. package/node_modules/@types/node/child_process.d.ts +514 -0
  31. package/node_modules/@types/node/cluster.d.ts +265 -0
  32. package/node_modules/@types/node/console.d.ts +142 -0
  33. package/node_modules/@types/node/constants.d.ts +18 -0
  34. package/node_modules/@types/node/crypto.d.ts +1283 -0
  35. package/node_modules/@types/node/dgram.d.ts +144 -0
  36. package/node_modules/@types/node/dns.d.ts +387 -0
  37. package/node_modules/@types/node/domain.d.ts +27 -0
  38. package/node_modules/@types/node/events.d.ts +82 -0
  39. package/node_modules/@types/node/fs/promises.d.ts +572 -0
  40. package/node_modules/@types/node/fs.d.ts +2281 -0
  41. package/node_modules/@types/node/globals.d.ts +747 -0
  42. package/node_modules/@types/node/globals.global.d.ts +1 -0
  43. package/node_modules/@types/node/http.d.ts +580 -0
  44. package/node_modules/@types/node/http2.d.ts +962 -0
  45. package/node_modules/@types/node/https.d.ts +271 -0
  46. package/node_modules/@types/node/index.d.ts +98 -0
  47. package/node_modules/@types/node/inspector.d.ts +3051 -0
  48. package/node_modules/@types/node/module.d.ts +56 -0
  49. package/node_modules/@types/node/net.d.ts +308 -0
  50. package/node_modules/@types/node/os.d.ts +243 -0
  51. package/node_modules/@types/node/package.json +232 -0
  52. package/node_modules/@types/node/path.d.ts +168 -0
  53. package/node_modules/@types/node/perf_hooks.d.ts +274 -0
  54. package/node_modules/@types/node/process.d.ts +413 -0
  55. package/node_modules/@types/node/punycode.d.ts +78 -0
  56. package/node_modules/@types/node/querystring.d.ts +31 -0
  57. package/node_modules/@types/node/readline.d.ts +174 -0
  58. package/node_modules/@types/node/repl.d.ts +398 -0
  59. package/node_modules/@types/node/stream.d.ts +359 -0
  60. package/node_modules/@types/node/string_decoder.d.ts +10 -0
  61. package/node_modules/@types/node/timers.d.ts +19 -0
  62. package/node_modules/@types/node/tls.d.ts +784 -0
  63. package/node_modules/@types/node/trace_events.d.ts +64 -0
  64. package/node_modules/@types/node/ts4.8/assert.d.ts +128 -0
  65. package/node_modules/@types/node/ts4.8/async_hooks.d.ts +229 -0
  66. package/node_modules/@types/node/ts4.8/buffer.d.ts +89 -0
  67. package/node_modules/@types/node/ts4.8/child_process.d.ts +514 -0
  68. package/node_modules/@types/node/ts4.8/cluster.d.ts +265 -0
  69. package/node_modules/@types/node/ts4.8/console.d.ts +142 -0
  70. package/node_modules/@types/node/ts4.8/constants.d.ts +18 -0
  71. package/node_modules/@types/node/ts4.8/crypto.d.ts +1283 -0
  72. package/node_modules/@types/node/ts4.8/dgram.d.ts +144 -0
  73. package/node_modules/@types/node/ts4.8/dns.d.ts +387 -0
  74. package/node_modules/@types/node/ts4.8/domain.d.ts +27 -0
  75. package/node_modules/@types/node/ts4.8/events.d.ts +82 -0
  76. package/node_modules/@types/node/ts4.8/fs/promises.d.ts +572 -0
  77. package/node_modules/@types/node/ts4.8/fs.d.ts +2281 -0
  78. package/node_modules/@types/node/ts4.8/globals.d.ts +746 -0
  79. package/node_modules/@types/node/ts4.8/globals.global.d.ts +1 -0
  80. package/node_modules/@types/node/ts4.8/http.d.ts +580 -0
  81. package/node_modules/@types/node/ts4.8/http2.d.ts +962 -0
  82. package/node_modules/@types/node/ts4.8/https.d.ts +271 -0
  83. package/node_modules/@types/node/ts4.8/index.d.ts +53 -0
  84. package/node_modules/@types/node/ts4.8/inspector.d.ts +3051 -0
  85. package/node_modules/@types/node/ts4.8/module.d.ts +56 -0
  86. package/node_modules/@types/node/ts4.8/net.d.ts +308 -0
  87. package/node_modules/@types/node/ts4.8/os.d.ts +243 -0
  88. package/node_modules/@types/node/ts4.8/path.d.ts +168 -0
  89. package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +274 -0
  90. package/node_modules/@types/node/ts4.8/process.d.ts +413 -0
  91. package/node_modules/@types/node/ts4.8/punycode.d.ts +78 -0
  92. package/node_modules/@types/node/ts4.8/querystring.d.ts +31 -0
  93. package/node_modules/@types/node/ts4.8/readline.d.ts +174 -0
  94. package/node_modules/@types/node/ts4.8/repl.d.ts +398 -0
  95. package/node_modules/@types/node/ts4.8/stream.d.ts +359 -0
  96. package/node_modules/@types/node/ts4.8/string_decoder.d.ts +10 -0
  97. package/node_modules/@types/node/ts4.8/timers.d.ts +19 -0
  98. package/node_modules/@types/node/ts4.8/tls.d.ts +784 -0
  99. package/node_modules/@types/node/ts4.8/trace_events.d.ts +64 -0
  100. package/node_modules/@types/node/ts4.8/tty.d.ts +69 -0
  101. package/node_modules/@types/node/ts4.8/url.d.ts +149 -0
  102. package/node_modules/@types/node/ts4.8/util.d.ts +216 -0
  103. package/node_modules/@types/node/ts4.8/v8.d.ts +190 -0
  104. package/node_modules/@types/node/ts4.8/vm.d.ts +155 -0
  105. package/node_modules/@types/node/ts4.8/wasi.d.ts +89 -0
  106. package/node_modules/@types/node/ts4.8/worker_threads.d.ts +241 -0
  107. package/node_modules/@types/node/ts4.8/zlib.d.ts +364 -0
  108. package/node_modules/@types/node/tty.d.ts +69 -0
  109. package/node_modules/@types/node/url.d.ts +149 -0
  110. package/node_modules/@types/node/util.d.ts +216 -0
  111. package/node_modules/@types/node/v8.d.ts +190 -0
  112. package/node_modules/@types/node/vm.d.ts +155 -0
  113. package/node_modules/@types/node/wasi.d.ts +89 -0
  114. package/node_modules/@types/node/worker_threads.d.ts +241 -0
  115. package/node_modules/@types/node/zlib.d.ts +364 -0
  116. package/package.json +2 -5
  117. package/node_modules/@integration-app/sdk/.DS_Store +0 -0
  118. package/node_modules/@integration-app/sdk/.gitignore +0 -11
  119. package/node_modules/@integration-app/sdk/.npmignore +0 -0
  120. package/node_modules/@integration-app/sdk/app-data-collections/app-data-collections.d.ts +0 -23
  121. package/node_modules/@integration-app/sdk/app-data-collections/app-data-collections.js.map +0 -1
  122. package/node_modules/@integration-app/sdk/app-data-schemas/app-data-schemas.d.ts +0 -20
  123. package/node_modules/@integration-app/sdk/app-data-schemas/app-data-schemas.js.map +0 -1
  124. package/node_modules/@integration-app/sdk/app-events/app-events.d.ts +0 -44
  125. package/node_modules/@integration-app/sdk/app-events/app-events.js.map +0 -1
  126. package/node_modules/@integration-app/sdk/connection-client.d.ts +0 -12
  127. package/node_modules/@integration-app/sdk/connection-client.js +0 -31
  128. package/node_modules/@integration-app/sdk/connection-client.js.map +0 -1
  129. package/node_modules/@integration-app/sdk/connections/connections.d.ts +0 -46
  130. package/node_modules/@integration-app/sdk/connections/connections.js.map +0 -1
  131. package/node_modules/@integration-app/sdk/connector-api/connector-api.d.ts +0 -157
  132. package/node_modules/@integration-app/sdk/connector-api/connector-api.js.map +0 -1
  133. package/node_modules/@integration-app/sdk/data-builder/findExternalRecordId.d.ts +0 -0
  134. package/node_modules/@integration-app/sdk/data-builder/findExternalRecordId.js.map +0 -1
  135. package/node_modules/@integration-app/sdk/data-builder/first-name.test.d.ts +0 -0
  136. package/node_modules/@integration-app/sdk/data-builder/first-name.test.js +0 -2
  137. package/node_modules/@integration-app/sdk/data-builder/first-name.test.js.map +0 -1
  138. package/node_modules/@integration-app/sdk/data-builder/formulas/anyOfOption.d.ts +0 -10
  139. package/node_modules/@integration-app/sdk/data-builder/formulas/anyOfOption.js.map +0 -1
  140. package/node_modules/@integration-app/sdk/data-builder/formulas/base.test.d.ts +0 -1
  141. package/node_modules/@integration-app/sdk/data-builder/formulas/base.test.js +0 -26
  142. package/node_modules/@integration-app/sdk/data-builder/formulas/base.test.js.map +0 -1
  143. package/node_modules/@integration-app/sdk/data-builder/formulas/case.test.d.ts +0 -1
  144. package/node_modules/@integration-app/sdk/data-builder/formulas/case.test.js +0 -246
  145. package/node_modules/@integration-app/sdk/data-builder/formulas/case.test.js.map +0 -1
  146. package/node_modules/@integration-app/sdk/data-builder/formulas/concat.test.d.ts +0 -1
  147. package/node_modules/@integration-app/sdk/data-builder/formulas/concat.test.js +0 -85
  148. package/node_modules/@integration-app/sdk/data-builder/formulas/concat.test.js.map +0 -1
  149. package/node_modules/@integration-app/sdk/data-builder/formulas/copy.test.d.ts +0 -1
  150. package/node_modules/@integration-app/sdk/data-builder/formulas/copy.test.js +0 -64
  151. package/node_modules/@integration-app/sdk/data-builder/formulas/copy.test.js.map +0 -1
  152. package/node_modules/@integration-app/sdk/data-builder/formulas/extractDate.test.d.ts +0 -1
  153. package/node_modules/@integration-app/sdk/data-builder/formulas/extractDate.test.js +0 -44
  154. package/node_modules/@integration-app/sdk/data-builder/formulas/extractDate.test.js.map +0 -1
  155. package/node_modules/@integration-app/sdk/data-builder/formulas/extractTime.test.d.ts +0 -1
  156. package/node_modules/@integration-app/sdk/data-builder/formulas/extractTime.test.js +0 -44
  157. package/node_modules/@integration-app/sdk/data-builder/formulas/extractTime.test.js.map +0 -1
  158. package/node_modules/@integration-app/sdk/data-builder/formulas/findAppRecordId.test.d.ts +0 -1
  159. package/node_modules/@integration-app/sdk/data-builder/formulas/findAppRecordId.test.js +0 -26
  160. package/node_modules/@integration-app/sdk/data-builder/formulas/findAppRecordId.test.js.map +0 -1
  161. package/node_modules/@integration-app/sdk/data-builder/formulas/findExternalRecordId.test.d.ts +0 -1
  162. package/node_modules/@integration-app/sdk/data-builder/formulas/findExternalRecordId.test.js +0 -26
  163. package/node_modules/@integration-app/sdk/data-builder/formulas/findExternalRecordId.test.js.map +0 -1
  164. package/node_modules/@integration-app/sdk/data-builder/formulas/first-name.test.d.ts +0 -1
  165. package/node_modules/@integration-app/sdk/data-builder/formulas/first-name.test.js +0 -14
  166. package/node_modules/@integration-app/sdk/data-builder/formulas/first-name.test.js.map +0 -1
  167. package/node_modules/@integration-app/sdk/data-builder/formulas/index.test.d.ts +0 -1
  168. package/node_modules/@integration-app/sdk/data-builder/formulas/index.test.js +0 -63
  169. package/node_modules/@integration-app/sdk/data-builder/formulas/index.test.js.map +0 -1
  170. package/node_modules/@integration-app/sdk/data-builder/formulas/iterate.test.d.ts +0 -1
  171. package/node_modules/@integration-app/sdk/data-builder/formulas/iterate.test.js +0 -112
  172. package/node_modules/@integration-app/sdk/data-builder/formulas/iterate.test.js.map +0 -1
  173. package/node_modules/@integration-app/sdk/data-builder/formulas/lookup.test.d.ts +0 -1
  174. package/node_modules/@integration-app/sdk/data-builder/formulas/lookup.test.js +0 -18
  175. package/node_modules/@integration-app/sdk/data-builder/formulas/lookup.test.js.map +0 -1
  176. package/node_modules/@integration-app/sdk/data-builder/formulas/map.test.d.ts +0 -1
  177. package/node_modules/@integration-app/sdk/data-builder/formulas/map.test.js +0 -114
  178. package/node_modules/@integration-app/sdk/data-builder/formulas/map.test.js.map +0 -1
  179. package/node_modules/@integration-app/sdk/data-builder/formulas/tpl.test.d.ts +0 -1
  180. package/node_modules/@integration-app/sdk/data-builder/formulas/tpl.test.js +0 -49
  181. package/node_modules/@integration-app/sdk/data-builder/formulas/tpl.test.js.map +0 -1
  182. package/node_modules/@integration-app/sdk/data-builder/formulas/types.d.ts +0 -0
  183. package/node_modules/@integration-app/sdk/data-builder/formulas/types.js.map +0 -1
  184. package/node_modules/@integration-app/sdk/data-builder/index.test.d.ts +0 -1
  185. package/node_modules/@integration-app/sdk/data-builder/index.test.js +0 -295
  186. package/node_modules/@integration-app/sdk/data-builder/index.test.js.map +0 -1
  187. package/node_modules/@integration-app/sdk/data-builder/locators.test.d.ts +0 -1
  188. package/node_modules/@integration-app/sdk/data-builder/locators.test.js +0 -775
  189. package/node_modules/@integration-app/sdk/data-builder/locators.test.js.map +0 -1
  190. package/node_modules/@integration-app/sdk/data-filter/conditions.d.ts +0 -0
  191. package/node_modules/@integration-app/sdk/data-filter/conditions.js.map +0 -1
  192. package/node_modules/@integration-app/sdk/data-filter/data-filter.test.d.ts +0 -1
  193. package/node_modules/@integration-app/sdk/data-filter/data-filter.test.js.map +0 -1
  194. package/node_modules/@integration-app/sdk/data-filter/index.test.d.ts +0 -1
  195. package/node_modules/@integration-app/sdk/data-filter/index.test.js +0 -43
  196. package/node_modules/@integration-app/sdk/data-filter/index.test.js.map +0 -1
  197. package/node_modules/@integration-app/sdk/data-filter/operators.test.d.ts +0 -1
  198. package/node_modules/@integration-app/sdk/data-filter/operators.test.js +0 -490
  199. package/node_modules/@integration-app/sdk/data-filter/operators.test.js.map +0 -1
  200. package/node_modules/@integration-app/sdk/data-links/data-links.d.ts +0 -58
  201. package/node_modules/@integration-app/sdk/data-links/data-links.js.map +0 -1
  202. package/node_modules/@integration-app/sdk/data-schema/index.test.d.ts +0 -1
  203. package/node_modules/@integration-app/sdk/data-schema/index.test.js +0 -86
  204. package/node_modules/@integration-app/sdk/data-schema/index.test.js.map +0 -1
  205. package/node_modules/@integration-app/sdk/data-sources/data-sources.d.ts +0 -41
  206. package/node_modules/@integration-app/sdk/data-sources/data-sources.js.map +0 -1
  207. package/node_modules/@integration-app/sdk/endpoints/endpoint-spec.d.ts +0 -30
  208. package/node_modules/@integration-app/sdk/endpoints/endpoint-spec.js.map +0 -1
  209. package/node_modules/@integration-app/sdk/field-mappings/field-mappings.d.ts +0 -29
  210. package/node_modules/@integration-app/sdk/field-mappings/field-mappings.js.map +0 -1
  211. package/node_modules/@integration-app/sdk/flow-runs/flow-runs.d.ts +0 -51
  212. package/node_modules/@integration-app/sdk/flow-runs/flow-runs.js.map +0 -1
  213. package/node_modules/@integration-app/sdk/flows/flows.d.ts +0 -156
  214. package/node_modules/@integration-app/sdk/flows/flows.js.map +0 -1
  215. package/node_modules/@integration-app/sdk/flows/nodes/data-record-delete-trigger.d.ts +0 -3
  216. package/node_modules/@integration-app/sdk/flows/nodes/data-record-delete-trigger.js.map +0 -1
  217. package/node_modules/@integration-app/sdk/flows/nodes/nodes.d.ts +0 -25
  218. package/node_modules/@integration-app/sdk/flows/nodes/nodes.js.map +0 -1
  219. package/node_modules/@integration-app/sdk/flows/utils.test.d.ts +0 -1
  220. package/node_modules/@integration-app/sdk/flows/utils.test.js +0 -62
  221. package/node_modules/@integration-app/sdk/flows/utils.test.js.map +0 -1
  222. package/node_modules/@integration-app/sdk/integration-elements/integration-elements.d.ts +0 -21
  223. package/node_modules/@integration-app/sdk/integration-elements/integration-elements.js.map +0 -1
  224. package/node_modules/@integration-app/sdk/integrations/integrations.d.ts +0 -48
  225. package/node_modules/@integration-app/sdk/integrations/integrations.js.map +0 -1
  226. package/node_modules/@integration-app/sdk/json-schema/json-schema.test.d.ts +0 -1
  227. package/node_modules/@integration-app/sdk/json-schema/json-schema.test.js +0 -194
  228. package/node_modules/@integration-app/sdk/json-schema/json-schema.test.js.map +0 -1
  229. package/node_modules/@integration-app/sdk/json-schema/schema-builder.test.d.ts +0 -1
  230. package/node_modules/@integration-app/sdk/json-schema/schema-builder.test.js +0 -352
  231. package/node_modules/@integration-app/sdk/json-schema/schema-builder.test.js.map +0 -1
  232. package/node_modules/@integration-app/sdk/jwt.test.d.ts +0 -1
  233. package/node_modules/@integration-app/sdk/jwt.test.js +0 -9
  234. package/node_modules/@integration-app/sdk/jwt.test.js.map +0 -1
  235. package/node_modules/@integration-app/sdk/package-lock.json +0 -3834
  236. package/node_modules/@integration-app/sdk/udm/activities.test.d.ts +0 -1
  237. package/node_modules/@integration-app/sdk/udm/activities.test.js +0 -40
  238. package/node_modules/@integration-app/sdk/udm/activities.test.js.map +0 -1
  239. package/node_modules/@integration-app/sdk/udm/campaign-members.d.ts +0 -45
  240. package/node_modules/@integration-app/sdk/udm/campaign-members.js +0 -99
  241. package/node_modules/@integration-app/sdk/udm/campaign-members.js.map +0 -1
  242. package/node_modules/@integration-app/sdk/udm/contacts.test.d.ts +0 -1
  243. package/node_modules/@integration-app/sdk/udm/contacts.test.js +0 -136
  244. package/node_modules/@integration-app/sdk/udm/contacts.test.js.map +0 -1
  245. package/node_modules/@integration-app/sdk/udm/crm-activities.d.ts +0 -17
  246. package/node_modules/@integration-app/sdk/udm/crm-activities.js.map +0 -1
  247. package/node_modules/@integration-app/sdk/udm/crm-activity.d.ts +0 -11
  248. package/node_modules/@integration-app/sdk/udm/crm-activity.js.map +0 -1
  249. package/node_modules/@integration-app/sdk/udm/crm-companies.d.ts +0 -14
  250. package/node_modules/@integration-app/sdk/udm/crm-companies.js.map +0 -1
  251. package/node_modules/@integration-app/sdk/udm/crm-contact.d.ts +0 -10
  252. package/node_modules/@integration-app/sdk/udm/crm-contact.js.map +0 -1
  253. package/node_modules/@integration-app/sdk/udm/crm-contacts.d.ts +0 -16
  254. package/node_modules/@integration-app/sdk/udm/crm-contacts.js.map +0 -1
  255. package/node_modules/@integration-app/sdk/udm/crm-deals.d.ts +0 -15
  256. package/node_modules/@integration-app/sdk/udm/crm-deals.js.map +0 -1
  257. package/node_modules/@integration-app/sdk/udm/crm-leads.d.ts +0 -16
  258. package/node_modules/@integration-app/sdk/udm/crm-leads.js.map +0 -1
  259. package/node_modules/@integration-app/sdk/udm/members.d.ts +0 -45
  260. package/node_modules/@integration-app/sdk/udm/members.js.map +0 -1
  261. package/node_modules/@integration-app/sdk/users/users.d.ts +0 -5
  262. package/node_modules/@integration-app/sdk/users/users.js.map +0 -1
@@ -0,0 +1,784 @@
1
+ declare module 'tls' {
2
+ import * as net from 'net';
3
+ import * as stream from 'stream';
4
+
5
+ const CLIENT_RENEG_LIMIT: number;
6
+ const CLIENT_RENEG_WINDOW: number;
7
+
8
+ interface Certificate {
9
+ /**
10
+ * Country code.
11
+ */
12
+ C: string;
13
+ /**
14
+ * Street.
15
+ */
16
+ ST: string;
17
+ /**
18
+ * Locality.
19
+ */
20
+ L: string;
21
+ /**
22
+ * Organization.
23
+ */
24
+ O: string;
25
+ /**
26
+ * Organizational unit.
27
+ */
28
+ OU: string;
29
+ /**
30
+ * Common name.
31
+ */
32
+ CN: string;
33
+ }
34
+
35
+ interface PeerCertificate {
36
+ subject: Certificate;
37
+ issuer: Certificate;
38
+ subjectaltname: string;
39
+ infoAccess: NodeJS.Dict<string[]>;
40
+ modulus: string;
41
+ exponent: string;
42
+ valid_from: string;
43
+ valid_to: string;
44
+ fingerprint: string;
45
+ fingerprint256: string;
46
+ ext_key_usage: string[];
47
+ serialNumber: string;
48
+ raw: Buffer;
49
+ }
50
+
51
+ interface DetailedPeerCertificate extends PeerCertificate {
52
+ issuerCertificate: DetailedPeerCertificate;
53
+ }
54
+
55
+ interface CipherNameAndProtocol {
56
+ /**
57
+ * The cipher name.
58
+ */
59
+ name: string;
60
+ /**
61
+ * SSL/TLS protocol version.
62
+ */
63
+ version: string;
64
+
65
+ /**
66
+ * IETF name for the cipher suite.
67
+ */
68
+ standardName: string;
69
+ }
70
+
71
+ interface EphemeralKeyInfo {
72
+ /**
73
+ * The supported types are 'DH' and 'ECDH'.
74
+ */
75
+ type: string;
76
+ /**
77
+ * The name property is available only when type is 'ECDH'.
78
+ */
79
+ name?: string | undefined;
80
+ /**
81
+ * The size of parameter of an ephemeral key exchange.
82
+ */
83
+ size: number;
84
+ }
85
+
86
+ interface KeyObject {
87
+ /**
88
+ * Private keys in PEM format.
89
+ */
90
+ pem: string | Buffer;
91
+ /**
92
+ * Optional passphrase.
93
+ */
94
+ passphrase?: string | undefined;
95
+ }
96
+
97
+ interface PxfObject {
98
+ /**
99
+ * PFX or PKCS12 encoded private key and certificate chain.
100
+ */
101
+ buf: string | Buffer;
102
+ /**
103
+ * Optional passphrase.
104
+ */
105
+ passphrase?: string | undefined;
106
+ }
107
+
108
+ interface TLSSocketOptions extends SecureContextOptions, CommonConnectionOptions {
109
+ /**
110
+ * If true the TLS socket will be instantiated in server-mode.
111
+ * Defaults to false.
112
+ */
113
+ isServer?: boolean | undefined;
114
+ /**
115
+ * An optional net.Server instance.
116
+ */
117
+ server?: net.Server | undefined;
118
+
119
+ /**
120
+ * An optional Buffer instance containing a TLS session.
121
+ */
122
+ session?: Buffer | undefined;
123
+ /**
124
+ * If true, specifies that the OCSP status request extension will be
125
+ * added to the client hello and an 'OCSPResponse' event will be
126
+ * emitted on the socket before establishing a secure communication
127
+ */
128
+ requestOCSP?: boolean | undefined;
129
+ }
130
+
131
+ class TLSSocket extends net.Socket {
132
+ /**
133
+ * Construct a new tls.TLSSocket object from an existing TCP socket.
134
+ */
135
+ constructor(socket: net.Socket, options?: TLSSocketOptions);
136
+
137
+ /**
138
+ * A boolean that is true if the peer certificate was signed by one of the specified CAs, otherwise false.
139
+ */
140
+ authorized: boolean;
141
+ /**
142
+ * The reason why the peer's certificate has not been verified.
143
+ * This property becomes available only when tlsSocket.authorized === false.
144
+ */
145
+ authorizationError: Error;
146
+ /**
147
+ * Static boolean value, always true.
148
+ * May be used to distinguish TLS sockets from regular ones.
149
+ */
150
+ encrypted: true;
151
+
152
+ /**
153
+ * String containing the selected ALPN protocol.
154
+ * Before a handshake has completed, this value is always null.
155
+ * When a handshake is completed but not ALPN protocol was selected, tlsSocket.alpnProtocol equals false.
156
+ */
157
+ alpnProtocol: string | false | null;
158
+
159
+ /**
160
+ * Returns an object representing the local certificate. The returned
161
+ * object has some properties corresponding to the fields of the
162
+ * certificate.
163
+ *
164
+ * See tls.TLSSocket.getPeerCertificate() for an example of the
165
+ * certificate structure.
166
+ *
167
+ * If there is no local certificate, an empty object will be returned.
168
+ * If the socket has been destroyed, null will be returned.
169
+ */
170
+ getCertificate(): PeerCertificate | object | null;
171
+ /**
172
+ * Returns an object representing the cipher name and the SSL/TLS protocol version of the current connection.
173
+ * @returns Returns an object representing the cipher name
174
+ * and the SSL/TLS protocol version of the current connection.
175
+ */
176
+ getCipher(): CipherNameAndProtocol;
177
+ /**
178
+ * Returns an object representing the type, name, and size of parameter
179
+ * of an ephemeral key exchange in Perfect Forward Secrecy on a client
180
+ * connection. It returns an empty object when the key exchange is not
181
+ * ephemeral. As this is only supported on a client socket; null is
182
+ * returned if called on a server socket. The supported types are 'DH'
183
+ * and 'ECDH'. The name property is available only when type is 'ECDH'.
184
+ *
185
+ * For example: { type: 'ECDH', name: 'prime256v1', size: 256 }.
186
+ */
187
+ getEphemeralKeyInfo(): EphemeralKeyInfo | object | null;
188
+ /**
189
+ * Returns the latest Finished message that has
190
+ * been sent to the socket as part of a SSL/TLS handshake, or undefined
191
+ * if no Finished message has been sent yet.
192
+ *
193
+ * As the Finished messages are message digests of the complete
194
+ * handshake (with a total of 192 bits for TLS 1.0 and more for SSL
195
+ * 3.0), they can be used for external authentication procedures when
196
+ * the authentication provided by SSL/TLS is not desired or is not
197
+ * enough.
198
+ *
199
+ * Corresponds to the SSL_get_finished routine in OpenSSL and may be
200
+ * used to implement the tls-unique channel binding from RFC 5929.
201
+ */
202
+ getFinished(): Buffer | undefined;
203
+ /**
204
+ * Returns an object representing the peer's certificate.
205
+ * The returned object has some properties corresponding to the field of the certificate.
206
+ * If detailed argument is true the full chain with issuer property will be returned,
207
+ * if false only the top certificate without issuer property.
208
+ * If the peer does not provide a certificate, it returns null or an empty object.
209
+ * @param detailed - If true; the full chain with issuer property will be returned.
210
+ * @returns An object representing the peer's certificate.
211
+ */
212
+ getPeerCertificate(detailed: true): DetailedPeerCertificate;
213
+ getPeerCertificate(detailed?: false): PeerCertificate;
214
+ getPeerCertificate(detailed?: boolean): PeerCertificate | DetailedPeerCertificate;
215
+ /**
216
+ * Returns the latest Finished message that is expected or has actually
217
+ * been received from the socket as part of a SSL/TLS handshake, or
218
+ * undefined if there is no Finished message so far.
219
+ *
220
+ * As the Finished messages are message digests of the complete
221
+ * handshake (with a total of 192 bits for TLS 1.0 and more for SSL
222
+ * 3.0), they can be used for external authentication procedures when
223
+ * the authentication provided by SSL/TLS is not desired or is not
224
+ * enough.
225
+ *
226
+ * Corresponds to the SSL_get_peer_finished routine in OpenSSL and may
227
+ * be used to implement the tls-unique channel binding from RFC 5929.
228
+ */
229
+ getPeerFinished(): Buffer | undefined;
230
+ /**
231
+ * Returns a string containing the negotiated SSL/TLS protocol version of the current connection.
232
+ * The value `'unknown'` will be returned for connected sockets that have not completed the handshaking process.
233
+ * The value `null` will be returned for server sockets or disconnected client sockets.
234
+ * See https://www.openssl.org/docs/man1.0.2/ssl/SSL_get_version.html for more information.
235
+ * @returns negotiated SSL/TLS protocol version of the current connection
236
+ */
237
+ getProtocol(): string | null;
238
+ /**
239
+ * Could be used to speed up handshake establishment when reconnecting to the server.
240
+ * @returns ASN.1 encoded TLS session or undefined if none was negotiated.
241
+ */
242
+ getSession(): Buffer | undefined;
243
+ /**
244
+ * Returns a list of signature algorithms shared between the server and
245
+ * the client in the order of decreasing preference.
246
+ */
247
+ getSharedSigalgs(): string[];
248
+ /**
249
+ * NOTE: Works only with client TLS sockets.
250
+ * Useful only for debugging, for session reuse provide session option to tls.connect().
251
+ * @returns TLS session ticket or undefined if none was negotiated.
252
+ */
253
+ getTLSTicket(): Buffer | undefined;
254
+ /**
255
+ * Returns true if the session was reused, false otherwise.
256
+ */
257
+ isSessionReused(): boolean;
258
+ /**
259
+ * Initiate TLS renegotiation process.
260
+ *
261
+ * NOTE: Can be used to request peer's certificate after the secure connection has been established.
262
+ * ANOTHER NOTE: When running as the server, socket will be destroyed with an error after handshakeTimeout timeout.
263
+ * @param options - The options may contain the following fields: rejectUnauthorized,
264
+ * requestCert (See tls.createServer() for details).
265
+ * @param callback - callback(err) will be executed with null as err, once the renegotiation
266
+ * is successfully completed.
267
+ * @return `undefined` when socket is destroy, `false` if negotiaion can't be initiated.
268
+ */
269
+ renegotiate(options: { rejectUnauthorized?: boolean | undefined, requestCert?: boolean | undefined }, callback: (err: Error | null) => void): undefined | boolean;
270
+ /**
271
+ * Set maximum TLS fragment size (default and maximum value is: 16384, minimum is: 512).
272
+ * Smaller fragment size decreases buffering latency on the client: large fragments are buffered by
273
+ * the TLS layer until the entire fragment is received and its integrity is verified;
274
+ * large fragments can span multiple roundtrips, and their processing can be delayed due to packet
275
+ * loss or reordering. However, smaller fragments add extra TLS framing bytes and CPU overhead,
276
+ * which may decrease overall server throughput.
277
+ * @param size - TLS fragment size (default and maximum value is: 16384, minimum is: 512).
278
+ * @returns Returns true on success, false otherwise.
279
+ */
280
+ setMaxSendFragment(size: number): boolean;
281
+
282
+ /**
283
+ * Disables TLS renegotiation for this TLSSocket instance. Once called,
284
+ * attempts to renegotiate will trigger an 'error' event on the
285
+ * TLSSocket.
286
+ */
287
+ disableRenegotiation(): void;
288
+
289
+ /**
290
+ * When enabled, TLS packet trace information is written to `stderr`. This can be
291
+ * used to debug TLS connection problems.
292
+ *
293
+ * Note: The format of the output is identical to the output of `openssl s_client
294
+ * -trace` or `openssl s_server -trace`. While it is produced by OpenSSL's
295
+ * `SSL_trace()` function, the format is undocumented, can change without notice,
296
+ * and should not be relied on.
297
+ */
298
+ enableTrace(): void;
299
+
300
+ /**
301
+ * @param length number of bytes to retrieve from keying material
302
+ * @param label an application specific label, typically this will be a value from the
303
+ * [IANA Exporter Label Registry](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels).
304
+ * @param context optionally provide a context.
305
+ */
306
+ exportKeyingMaterial(length: number, label: string, context: Buffer): Buffer;
307
+
308
+ addListener(event: string, listener: (...args: any[]) => void): this;
309
+ addListener(event: "OCSPResponse", listener: (response: Buffer) => void): this;
310
+ addListener(event: "secureConnect", listener: () => void): this;
311
+ addListener(event: "session", listener: (session: Buffer) => void): this;
312
+ addListener(event: "keylog", listener: (line: Buffer) => void): this;
313
+
314
+ emit(event: string | symbol, ...args: any[]): boolean;
315
+ emit(event: "OCSPResponse", response: Buffer): boolean;
316
+ emit(event: "secureConnect"): boolean;
317
+ emit(event: "session", session: Buffer): boolean;
318
+ emit(event: "keylog", line: Buffer): boolean;
319
+
320
+ on(event: string, listener: (...args: any[]) => void): this;
321
+ on(event: "OCSPResponse", listener: (response: Buffer) => void): this;
322
+ on(event: "secureConnect", listener: () => void): this;
323
+ on(event: "session", listener: (session: Buffer) => void): this;
324
+ on(event: "keylog", listener: (line: Buffer) => void): this;
325
+
326
+ once(event: string, listener: (...args: any[]) => void): this;
327
+ once(event: "OCSPResponse", listener: (response: Buffer) => void): this;
328
+ once(event: "secureConnect", listener: () => void): this;
329
+ once(event: "session", listener: (session: Buffer) => void): this;
330
+ once(event: "keylog", listener: (line: Buffer) => void): this;
331
+
332
+ prependListener(event: string, listener: (...args: any[]) => void): this;
333
+ prependListener(event: "OCSPResponse", listener: (response: Buffer) => void): this;
334
+ prependListener(event: "secureConnect", listener: () => void): this;
335
+ prependListener(event: "session", listener: (session: Buffer) => void): this;
336
+ prependListener(event: "keylog", listener: (line: Buffer) => void): this;
337
+
338
+ prependOnceListener(event: string, listener: (...args: any[]) => void): this;
339
+ prependOnceListener(event: "OCSPResponse", listener: (response: Buffer) => void): this;
340
+ prependOnceListener(event: "secureConnect", listener: () => void): this;
341
+ prependOnceListener(event: "session", listener: (session: Buffer) => void): this;
342
+ prependOnceListener(event: "keylog", listener: (line: Buffer) => void): this;
343
+ }
344
+
345
+ interface CommonConnectionOptions {
346
+ /**
347
+ * An optional TLS context object from tls.createSecureContext()
348
+ */
349
+ secureContext?: SecureContext | undefined;
350
+
351
+ /**
352
+ * When enabled, TLS packet trace information is written to `stderr`. This can be
353
+ * used to debug TLS connection problems.
354
+ * @default false
355
+ */
356
+ enableTrace?: boolean | undefined;
357
+ /**
358
+ * If true the server will request a certificate from clients that
359
+ * connect and attempt to verify that certificate. Defaults to
360
+ * false.
361
+ */
362
+ requestCert?: boolean | undefined;
363
+ /**
364
+ * An array of strings or a Buffer naming possible ALPN protocols.
365
+ * (Protocols should be ordered by their priority.)
366
+ */
367
+ ALPNProtocols?: string[] | Uint8Array[] | Uint8Array | undefined;
368
+ /**
369
+ * SNICallback(servername, cb) <Function> A function that will be
370
+ * called if the client supports SNI TLS extension. Two arguments
371
+ * will be passed when called: servername and cb. SNICallback should
372
+ * invoke cb(null, ctx), where ctx is a SecureContext instance.
373
+ * (tls.createSecureContext(...) can be used to get a proper
374
+ * SecureContext.) If SNICallback wasn't provided the default callback
375
+ * with high-level API will be used (see below).
376
+ */
377
+ SNICallback?: ((servername: string, cb: (err: Error | null, ctx: SecureContext) => void) => void) | undefined;
378
+ /**
379
+ * If true the server will reject any connection which is not
380
+ * authorized with the list of supplied CAs. This option only has an
381
+ * effect if requestCert is true.
382
+ * @default true
383
+ */
384
+ rejectUnauthorized?: boolean | undefined;
385
+ }
386
+
387
+ interface TlsOptions extends SecureContextOptions, CommonConnectionOptions, net.ServerOpts {
388
+ /**
389
+ * Abort the connection if the SSL/TLS handshake does not finish in the
390
+ * specified number of milliseconds. A 'tlsClientError' is emitted on
391
+ * the tls.Server object whenever a handshake times out. Default:
392
+ * 120000 (120 seconds).
393
+ */
394
+ handshakeTimeout?: number | undefined;
395
+ /**
396
+ * The number of seconds after which a TLS session created by the
397
+ * server will no longer be resumable. See Session Resumption for more
398
+ * information. Default: 300.
399
+ */
400
+ sessionTimeout?: number | undefined;
401
+ /**
402
+ * 48-bytes of cryptographically strong pseudo-random data.
403
+ */
404
+ ticketKeys?: Buffer | undefined;
405
+
406
+ /**
407
+ *
408
+ * @param socket
409
+ * @param identity identity parameter sent from the client.
410
+ * @return pre-shared key that must either be
411
+ * a buffer or `null` to stop the negotiation process. Returned PSK must be
412
+ * compatible with the selected cipher's digest.
413
+ *
414
+ * When negotiating TLS-PSK (pre-shared keys), this function is called
415
+ * with the identity provided by the client.
416
+ * If the return value is `null` the negotiation process will stop and an
417
+ * "unknown_psk_identity" alert message will be sent to the other party.
418
+ * If the server wishes to hide the fact that the PSK identity was not known,
419
+ * the callback must provide some random data as `psk` to make the connection
420
+ * fail with "decrypt_error" before negotiation is finished.
421
+ * PSK ciphers are disabled by default, and using TLS-PSK thus
422
+ * requires explicitly specifying a cipher suite with the `ciphers` option.
423
+ * More information can be found in the RFC 4279.
424
+ */
425
+
426
+ pskCallback?(socket: TLSSocket, identity: string): DataView | NodeJS.TypedArray | null;
427
+ /**
428
+ * hint to send to a client to help
429
+ * with selecting the identity during TLS-PSK negotiation. Will be ignored
430
+ * in TLS 1.3. Upon failing to set pskIdentityHint `tlsClientError` will be
431
+ * emitted with `ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED` code.
432
+ */
433
+ pskIdentityHint?: string | undefined;
434
+ }
435
+
436
+ interface PSKCallbackNegotation {
437
+ psk: DataView | NodeJS.TypedArray;
438
+ identity: string;
439
+ }
440
+
441
+ interface ConnectionOptions extends SecureContextOptions, CommonConnectionOptions {
442
+ host?: string | undefined;
443
+ port?: number | undefined;
444
+ path?: string | undefined; // Creates unix socket connection to path. If this option is specified, `host` and `port` are ignored.
445
+ socket?: stream.Duplex | undefined; // Establish secure connection on a given socket rather than creating a new socket
446
+ checkServerIdentity?: typeof checkServerIdentity | undefined;
447
+ servername?: string | undefined; // SNI TLS Extension
448
+ session?: Buffer | undefined;
449
+ minDHSize?: number | undefined;
450
+ lookup?: net.LookupFunction | undefined;
451
+ timeout?: number | undefined;
452
+ /**
453
+ * When negotiating TLS-PSK (pre-shared keys), this function is called
454
+ * with optional identity `hint` provided by the server or `null`
455
+ * in case of TLS 1.3 where `hint` was removed.
456
+ * It will be necessary to provide a custom `tls.checkServerIdentity()`
457
+ * for the connection as the default one will try to check hostname/IP
458
+ * of the server against the certificate but that's not applicable for PSK
459
+ * because there won't be a certificate present.
460
+ * More information can be found in the RFC 4279.
461
+ *
462
+ * @param hint message sent from the server to help client
463
+ * decide which identity to use during negotiation.
464
+ * Always `null` if TLS 1.3 is used.
465
+ * @returns Return `null` to stop the negotiation process. `psk` must be
466
+ * compatible with the selected cipher's digest.
467
+ * `identity` must use UTF-8 encoding.
468
+ */
469
+ pskCallback?(hint: string | null): PSKCallbackNegotation | null;
470
+ }
471
+
472
+ class Server extends net.Server {
473
+ constructor(secureConnectionListener?: (socket: TLSSocket) => void);
474
+ constructor(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void);
475
+
476
+ /**
477
+ * The server.addContext() method adds a secure context that will be
478
+ * used if the client request's SNI name matches the supplied hostname
479
+ * (or wildcard).
480
+ */
481
+ addContext(hostName: string, credentials: SecureContextOptions): void;
482
+ /**
483
+ * Returns the session ticket keys.
484
+ */
485
+ getTicketKeys(): Buffer;
486
+ /**
487
+ *
488
+ * The server.setSecureContext() method replaces the
489
+ * secure context of an existing server. Existing connections to the
490
+ * server are not interrupted.
491
+ */
492
+ setSecureContext(details: SecureContextOptions): void;
493
+ /**
494
+ * The server.setSecureContext() method replaces the secure context of
495
+ * an existing server. Existing connections to the server are not
496
+ * interrupted.
497
+ */
498
+ setTicketKeys(keys: Buffer): void;
499
+
500
+ /**
501
+ * events.EventEmitter
502
+ * 1. tlsClientError
503
+ * 2. newSession
504
+ * 3. OCSPRequest
505
+ * 4. resumeSession
506
+ * 5. secureConnection
507
+ * 6. keylog
508
+ */
509
+ addListener(event: string, listener: (...args: any[]) => void): this;
510
+ addListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this;
511
+ addListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: () => void) => void): this;
512
+ addListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
513
+ addListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error | null, sessionData: Buffer | null) => void) => void): this;
514
+ addListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this;
515
+ addListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this;
516
+
517
+ emit(event: string | symbol, ...args: any[]): boolean;
518
+ emit(event: "tlsClientError", err: Error, tlsSocket: TLSSocket): boolean;
519
+ emit(event: "newSession", sessionId: Buffer, sessionData: Buffer, callback: () => void): boolean;
520
+ emit(event: "OCSPRequest", certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void): boolean;
521
+ emit(event: "resumeSession", sessionId: Buffer, callback: (err: Error | null, sessionData: Buffer | null) => void): boolean;
522
+ emit(event: "secureConnection", tlsSocket: TLSSocket): boolean;
523
+ emit(event: "keylog", line: Buffer, tlsSocket: TLSSocket): boolean;
524
+
525
+ on(event: string, listener: (...args: any[]) => void): this;
526
+ on(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this;
527
+ on(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: () => void) => void): this;
528
+ on(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
529
+ on(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error | null, sessionData: Buffer | null) => void) => void): this;
530
+ on(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this;
531
+ on(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this;
532
+
533
+ once(event: string, listener: (...args: any[]) => void): this;
534
+ once(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this;
535
+ once(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: () => void) => void): this;
536
+ once(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
537
+ once(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error | null, sessionData: Buffer | null) => void) => void): this;
538
+ once(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this;
539
+ once(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this;
540
+
541
+ prependListener(event: string, listener: (...args: any[]) => void): this;
542
+ prependListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this;
543
+ prependListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: () => void) => void): this;
544
+ prependListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
545
+ prependListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error | null, sessionData: Buffer | null) => void) => void): this;
546
+ prependListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this;
547
+ prependListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this;
548
+
549
+ prependOnceListener(event: string, listener: (...args: any[]) => void): this;
550
+ prependOnceListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this;
551
+ prependOnceListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: () => void) => void): this;
552
+ prependOnceListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
553
+ prependOnceListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error | null, sessionData: Buffer | null) => void) => void): this;
554
+ prependOnceListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this;
555
+ prependOnceListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this;
556
+ }
557
+
558
+ interface SecurePair {
559
+ encrypted: TLSSocket;
560
+ cleartext: TLSSocket;
561
+ }
562
+
563
+ type SecureVersion = 'TLSv1.3' | 'TLSv1.2' | 'TLSv1.1' | 'TLSv1';
564
+
565
+ interface SecureContextOptions {
566
+ /**
567
+ * Optionally override the trusted CA certificates. Default is to trust
568
+ * the well-known CAs curated by Mozilla. Mozilla's CAs are completely
569
+ * replaced when CAs are explicitly specified using this option.
570
+ */
571
+ ca?: string | Buffer | Array<string | Buffer> | undefined;
572
+ /**
573
+ * Cert chains in PEM format. One cert chain should be provided per
574
+ * private key. Each cert chain should consist of the PEM formatted
575
+ * certificate for a provided private key, followed by the PEM
576
+ * formatted intermediate certificates (if any), in order, and not
577
+ * including the root CA (the root CA must be pre-known to the peer,
578
+ * see ca). When providing multiple cert chains, they do not have to
579
+ * be in the same order as their private keys in key. If the
580
+ * intermediate certificates are not provided, the peer will not be
581
+ * able to validate the certificate, and the handshake will fail.
582
+ */
583
+ cert?: string | Buffer | Array<string | Buffer> | undefined;
584
+ /**
585
+ * Colon-separated list of supported signature algorithms. The list
586
+ * can contain digest algorithms (SHA256, MD5 etc.), public key
587
+ * algorithms (RSA-PSS, ECDSA etc.), combination of both (e.g
588
+ * 'RSA+SHA384') or TLS v1.3 scheme names (e.g. rsa_pss_pss_sha512).
589
+ */
590
+ sigalgs?: string | undefined;
591
+ /**
592
+ * Cipher suite specification, replacing the default. For more
593
+ * information, see modifying the default cipher suite. Permitted
594
+ * ciphers can be obtained via tls.getCiphers(). Cipher names must be
595
+ * uppercased in order for OpenSSL to accept them.
596
+ */
597
+ ciphers?: string | undefined;
598
+ /**
599
+ * Name of an OpenSSL engine which can provide the client certificate.
600
+ */
601
+ clientCertEngine?: string | undefined;
602
+ /**
603
+ * PEM formatted CRLs (Certificate Revocation Lists).
604
+ */
605
+ crl?: string | Buffer | Array<string | Buffer> | undefined;
606
+ /**
607
+ * Diffie Hellman parameters, required for Perfect Forward Secrecy. Use
608
+ * openssl dhparam to create the parameters. The key length must be
609
+ * greater than or equal to 1024 bits or else an error will be thrown.
610
+ * Although 1024 bits is permissible, use 2048 bits or larger for
611
+ * stronger security. If omitted or invalid, the parameters are
612
+ * silently discarded and DHE ciphers will not be available.
613
+ */
614
+ dhparam?: string | Buffer | undefined;
615
+ /**
616
+ * A string describing a named curve or a colon separated list of curve
617
+ * NIDs or names, for example P-521:P-384:P-256, to use for ECDH key
618
+ * agreement. Set to auto to select the curve automatically. Use
619
+ * crypto.getCurves() to obtain a list of available curve names. On
620
+ * recent releases, openssl ecparam -list_curves will also display the
621
+ * name and description of each available elliptic curve. Default:
622
+ * tls.DEFAULT_ECDH_CURVE.
623
+ */
624
+ ecdhCurve?: string | undefined;
625
+ /**
626
+ * Attempt to use the server's cipher suite preferences instead of the
627
+ * client's. When true, causes SSL_OP_CIPHER_SERVER_PREFERENCE to be
628
+ * set in secureOptions
629
+ */
630
+ honorCipherOrder?: boolean | undefined;
631
+ /**
632
+ * Private keys in PEM format. PEM allows the option of private keys
633
+ * being encrypted. Encrypted keys will be decrypted with
634
+ * options.passphrase. Multiple keys using different algorithms can be
635
+ * provided either as an array of unencrypted key strings or buffers,
636
+ * or an array of objects in the form {pem: <string|buffer>[,
637
+ * passphrase: <string>]}. The object form can only occur in an array.
638
+ * object.passphrase is optional. Encrypted keys will be decrypted with
639
+ * object.passphrase if provided, or options.passphrase if it is not.
640
+ */
641
+ key?: string | Buffer | Array<Buffer | KeyObject> | undefined;
642
+ /**
643
+ * Name of an OpenSSL engine to get private key from. Should be used
644
+ * together with privateKeyIdentifier.
645
+ */
646
+ privateKeyEngine?: string | undefined;
647
+ /**
648
+ * Identifier of a private key managed by an OpenSSL engine. Should be
649
+ * used together with privateKeyEngine. Should not be set together with
650
+ * key, because both options define a private key in different ways.
651
+ */
652
+ privateKeyIdentifier?: string | undefined;
653
+ /**
654
+ * Optionally set the maximum TLS version to allow. One
655
+ * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the
656
+ * `secureProtocol` option, use one or the other.
657
+ * **Default:** `'TLSv1.3'`, unless changed using CLI options. Using
658
+ * `--tls-max-v1.2` sets the default to `'TLSv1.2'`. Using `--tls-max-v1.3` sets the default to
659
+ * `'TLSv1.3'`. If multiple of the options are provided, the highest maximum is used.
660
+ */
661
+ maxVersion?: SecureVersion | undefined;
662
+ /**
663
+ * Optionally set the minimum TLS version to allow. One
664
+ * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the
665
+ * `secureProtocol` option, use one or the other. It is not recommended to use
666
+ * less than TLSv1.2, but it may be required for interoperability.
667
+ * **Default:** `'TLSv1.2'`, unless changed using CLI options. Using
668
+ * `--tls-v1.0` sets the default to `'TLSv1'`. Using `--tls-v1.1` sets the default to
669
+ * `'TLSv1.1'`. Using `--tls-min-v1.3` sets the default to
670
+ * 'TLSv1.3'. If multiple of the options are provided, the lowest minimum is used.
671
+ */
672
+ minVersion?: SecureVersion | undefined;
673
+ /**
674
+ * Shared passphrase used for a single private key and/or a PFX.
675
+ */
676
+ passphrase?: string | undefined;
677
+ /**
678
+ * PFX or PKCS12 encoded private key and certificate chain. pfx is an
679
+ * alternative to providing key and cert individually. PFX is usually
680
+ * encrypted, if it is, passphrase will be used to decrypt it. Multiple
681
+ * PFX can be provided either as an array of unencrypted PFX buffers,
682
+ * or an array of objects in the form {buf: <string|buffer>[,
683
+ * passphrase: <string>]}. The object form can only occur in an array.
684
+ * object.passphrase is optional. Encrypted PFX will be decrypted with
685
+ * object.passphrase if provided, or options.passphrase if it is not.
686
+ */
687
+ pfx?: string | Buffer | Array<string | Buffer | PxfObject> | undefined;
688
+ /**
689
+ * Optionally affect the OpenSSL protocol behavior, which is not
690
+ * usually necessary. This should be used carefully if at all! Value is
691
+ * a numeric bitmask of the SSL_OP_* options from OpenSSL Options
692
+ */
693
+ secureOptions?: number | undefined; // Value is a numeric bitmask of the `SSL_OP_*` options
694
+ /**
695
+ * Legacy mechanism to select the TLS protocol version to use, it does
696
+ * not support independent control of the minimum and maximum version,
697
+ * and does not support limiting the protocol to TLSv1.3. Use
698
+ * minVersion and maxVersion instead. The possible values are listed as
699
+ * SSL_METHODS, use the function names as strings. For example, use
700
+ * 'TLSv1_1_method' to force TLS version 1.1, or 'TLS_method' to allow
701
+ * any TLS protocol version up to TLSv1.3. It is not recommended to use
702
+ * TLS versions less than 1.2, but it may be required for
703
+ * interoperability. Default: none, see minVersion.
704
+ */
705
+ secureProtocol?: string | undefined;
706
+ /**
707
+ * Opaque identifier used by servers to ensure session state is not
708
+ * shared between applications. Unused by clients.
709
+ */
710
+ sessionIdContext?: string | undefined;
711
+ /**
712
+ * 48-bytes of cryptographically strong pseudo-random data.
713
+ * See Session Resumption for more information.
714
+ */
715
+ ticketKeys?: Buffer | undefined;
716
+ /**
717
+ * The number of seconds after which a TLS session created by the
718
+ * server will no longer be resumable. See Session Resumption for more
719
+ * information. Default: 300.
720
+ */
721
+ sessionTimeout?: number | undefined;
722
+ }
723
+
724
+ interface SecureContext {
725
+ context: any;
726
+ }
727
+
728
+ /*
729
+ * Verifies the certificate `cert` is issued to host `host`.
730
+ * @host The hostname to verify the certificate against
731
+ * @cert PeerCertificate representing the peer's certificate
732
+ *
733
+ * Returns Error object, populating it with the reason, host and cert on failure. On success, returns undefined.
734
+ */
735
+ function checkServerIdentity(host: string, cert: PeerCertificate): Error | undefined;
736
+ function createServer(secureConnectionListener?: (socket: TLSSocket) => void): Server;
737
+ function createServer(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void): Server;
738
+ function connect(options: ConnectionOptions, secureConnectListener?: () => void): TLSSocket;
739
+ function connect(port: number, host?: string, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket;
740
+ function connect(port: number, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket;
741
+ /**
742
+ * @deprecated since v0.11.3 Use `tls.TLSSocket` instead.
743
+ */
744
+ function createSecurePair(credentials?: SecureContext, isServer?: boolean, requestCert?: boolean, rejectUnauthorized?: boolean): SecurePair;
745
+ function createSecureContext(options?: SecureContextOptions): SecureContext;
746
+ function getCiphers(): string[];
747
+
748
+ /**
749
+ * The default curve name to use for ECDH key agreement in a tls server.
750
+ * The default value is 'auto'. See tls.createSecureContext() for further
751
+ * information.
752
+ */
753
+ let DEFAULT_ECDH_CURVE: string;
754
+ /**
755
+ * The default value of the maxVersion option of
756
+ * tls.createSecureContext(). It can be assigned any of the supported TLS
757
+ * protocol versions, 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'. Default:
758
+ * 'TLSv1.3', unless changed using CLI options. Using --tls-max-v1.2 sets
759
+ * the default to 'TLSv1.2'. Using --tls-max-v1.3 sets the default to
760
+ * 'TLSv1.3'. If multiple of the options are provided, the highest maximum
761
+ * is used.
762
+ */
763
+ let DEFAULT_MAX_VERSION: SecureVersion;
764
+ /**
765
+ * The default value of the minVersion option of tls.createSecureContext().
766
+ * It can be assigned any of the supported TLS protocol versions,
767
+ * 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'. Default: 'TLSv1.2', unless
768
+ * changed using CLI options. Using --tls-min-v1.0 sets the default to
769
+ * 'TLSv1'. Using --tls-min-v1.1 sets the default to 'TLSv1.1'. Using
770
+ * --tls-min-v1.3 sets the default to 'TLSv1.3'. If multiple of the options
771
+ * are provided, the lowest minimum is used.
772
+ */
773
+ let DEFAULT_MIN_VERSION: SecureVersion;
774
+
775
+ /**
776
+ * An immutable array of strings representing the root certificates (in PEM
777
+ * format) used for verifying peer certificates. This is the default value
778
+ * of the ca option to tls.createSecureContext().
779
+ */
780
+ const rootCertificates: ReadonlyArray<string>;
781
+ }
782
+ declare module 'node:tls' {
783
+ export * from 'tls';
784
+ }