The "sslinfo" Module (v3)

Description

This module adds user facing TLS (SSL) information, various TLS (SSL) configuration options, and the /SSLINFO command to look up TLS (SSL) certificate information for other users.

Configuration

To load this module use the following <module> tag:

<module name="sslinfo">

<connect>

This module extends the core <connect> tags with the following fields:

Name Type Default Value Description
requiressl Text no Whether users must be using TLS (SSL) to use this class.

The requiressl field should be set to one of the following values:

Value Description
no TLS (SSL) is not required to use this class.
trusted TLS (SSL) is required and and a CA-verified client certificate must be provided to use this class.
yes TLS (SSL) is required to use this class.
Example Usage

Requires users to be using TLS (SSL) to be assigned to the Secure class:

<connect name="Secure"
         ...
         requiressl="yes">

<oper>

This module extends the core <oper> tag with the following fields:

Name Type Default Value Description
autologin Text no Whether to automatically log server operators in when they connect to the server.
fingerprint Text None If defined then a space-delimited list of TLS (SSL) client certificate fingerprints to check against this server operator's TLS (SSL) client certificate.
sslonly Boolean No Whether this server operator must be connected using TLS (SSL) to log into their account.

The autologin field should be set to one of the following values:

Value Description
yes Automatically log users with the specified client certificate fingerprint into this server operator account.
if-host-match Automatically log users with the specified client certificate fingerprint into this server operator account if their hostname matches <oper:host>.
no Do not automatically log users with the specified client certificate into this server operator account.
Example Usage
<oper name="Sadie"
      ...
      autologin="no"
      fingerprint="5d7499e1a3537687a2e875fed60b171508a4d1384351e276c4f961ab80729249"
      sslonly="yes">

<sslinfo>

The <sslinfo> tag defines settings about how the sethost module should behave. This tag can only be defined once.

Name Type Default Value Description
hash Text None The IANA Hash Function Textual Name of the hash algorithm used when getting client certificate fingerprints sent by a WebIRC gateway.
operonly Boolean No Whether TLS (SSL) client certificate fingerprints are only visible to server operators.
warnexpiring Duration 0s The maximum amount of time left that can be left on a TLS (SSL) client certificate before clients start being warned of the expiration time. If set to 0s then no warning will be sent.
Example Usage
<sslinfo hash="sha-256"
         operonly="no"
         warnexpiring="1w">

Commands

Name Parameter Count Syntax Description
SSLINFO 1 <target> Views the TLS (SSL) certificate information for <target>.

Example Usage

Views the TLS (SSL) certificate information for Sadie:

/SSLINFO Sadie

New in v3.9.0! Views the TLS (SSL) certificate information for users in #wibble:

/SSLINFO #wibble

Special Notes

The following TLS (SSL) modules are included with InspIRCd:

Name Module Description
gnutls ssl_gnutls Uses the GnuTLS library.
mbedtls ssl_mbedtls Uses the mbedTLS library.
openssl ssl_openssl Uses the OpenSSL library.