function Deno.connectTls
connectTls(options: ConnectTlsOptions | (ConnectTlsOptions & TlsCertifiedKeyPem)): Promise<TlsConn>
Establishes a secure connection over TLS (transport layer security) using an optional list of CA certs, hostname (default is "127.0.0.1") and port.
The CA cert list is optional and if not included Mozilla's root certificates will be used (see also https://github.com/ctz/webpki-roots for specifics).
Mutual TLS (mTLS or client certificates) are supported by providing a
key
and cert
in the options as PEM-encoded strings.
const caCert = await Deno.readTextFile("./certs/my_custom_root_CA.pem"); const conn1 = await Deno.connectTls({ port: 80 }); const conn2 = await Deno.connectTls({ caCerts: [caCert], hostname: "192.0.2.1", port: 80 }); const conn3 = await Deno.connectTls({ hostname: "[2001:db8::1]", port: 80 }); const conn4 = await Deno.connectTls({ caCerts: [caCert], hostname: "golang.org", port: 80}); const key = "----BEGIN PRIVATE KEY----..."; const cert = "----BEGIN CERTIFICATE----..."; const conn5 = await Deno.connectTls({ port: 80, key, cert });
Requires allow-net
permission.
options: ConnectTlsOptions | (ConnectTlsOptions & TlsCertifiedKeyPem)
Promise<TlsConn>