Function: erc-tls

erc-tls is an interactive and byte-compiled function defined in erc.el.gz.

Signature

(erc-tls &key (SERVER (erc-compute-server)) (PORT (erc-compute-port)) (NICK (erc-compute-nick)) PASSWORD (FULL-NAME (erc-compute-full-name)) CLIENT-CERTIFICATE)

Documentation

ERC is a powerful, modular, and extensible IRC client.

This function is the main entry point for ERC over TLS.

It allows selecting connection parameters, and then starts ERC over TLS.

Non-interactively, it takes the keyword arguments
   (server (erc-compute-server))
   (port (erc-compute-port))
   (nick (erc-compute-nick))
   password
   (full-name (erc-compute-full-name))
   client-certificate

That is, if called with

   (erc-tls :server "irc.libera.chat" :full-name "J. Random Hacker")

then the server and full-name will be set to those values, whereas erc-compute-port and erc-compute-nick will be invoked for the values of their respective parameters.

CLIENT-CERTIFICATE, if non-nil, should either be a list where the first element is the certificate key file name, and the second element is the certificate file name itself, or t, which means that auth-source will be queried for the key and the certificate. Authenticating using a TLS client certificate is also referred to as "CertFP" (Certificate Fingerprint) authentication by various IRC networks.

Example usage:

    (erc-tls :server "irc.libera.chat" :port 6697
             :client-certificate
             '("/home/bandali/my-cert.key"
               "/home/bandali/my-cert.crt"))

Key Bindings

Aliases

erc-ssl

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc.el.gz
;;;###autoload
(cl-defun erc-tls (&key (server (erc-compute-server))
                        (port   (erc-compute-port))
                        (nick   (erc-compute-nick))
                        password
                        (full-name (erc-compute-full-name))
                        client-certificate)
  "ERC is a powerful, modular, and extensible IRC client.
This function is the main entry point for ERC over TLS.

It allows selecting connection parameters, and then starts ERC
over TLS.

Non-interactively, it takes the keyword arguments
   (server (erc-compute-server))
   (port   (erc-compute-port))
   (nick   (erc-compute-nick))
   password
   (full-name (erc-compute-full-name))
   client-certificate

That is, if called with

   (erc-tls :server \"irc.libera.chat\" :full-name \"J. Random Hacker\")

then the server and full-name will be set to those values,
whereas `erc-compute-port' and `erc-compute-nick' will be invoked
for the values of their respective parameters.

CLIENT-CERTIFICATE, if non-nil, should either be a list where the
first element is the certificate key file name, and the second
element is the certificate file name itself, or t, which means
that `auth-source' will be queried for the key and the
certificate.  Authenticating using a TLS client certificate is
also referred to as \"CertFP\" (Certificate Fingerprint)
authentication by various IRC networks.

Example usage:

    (erc-tls :server \"irc.libera.chat\" :port 6697
             :client-certificate
             '(\"/home/bandali/my-cert.key\"
               \"/home/bandali/my-cert.crt\"))"
  (interactive (let ((erc-default-port erc-default-port-tls))
		 (erc-select-read-args)))
  (let ((erc-server-connect-function 'erc-open-tls-stream))
    (erc-open server port nick full-name t password
              nil nil nil client-certificate)))