banshee is under active development: collectors will keep changing, and a version you publish will likely need adjustments. For stable use, wait for version 1.0.0.

Web

banshee/web-collection/network/tls/

certificate

The certificate a server presents on a TLS port: days before expiry, trust, chain, name, key, SHA-1, old protocols and weak ciphers accepted.

  • tls
  • ssl
  • certificate
  • expiry
  • https
  • rdp

by banshee1 installation2 versions

v2Latest

Published on October 28, 2026. One naming convention across collections; documentation completed.

Certificate of a TLS service

Reads the certificate a server presents on a port, and tries what it accepts in protocols and ciphers: the days before expiry, the chain, the name, the key, the signature, the old protocols and weak ciphers accepted, and TLS 1.3. Ten watches are offered, each one set on the probe.

It serves a web site or an API (443), and any other TLS port: LDAPS (636), SMTPS (465), WinRM (5986), Remote Desktop (3389).

Versions

Generic: any server whose port starts with TLS, or with an RDP negotiation, whatever its software. TLS 1.0 to 1.3 are tried; a server that speaks only SSLv3 is not read.

How it works

The collector makes handshakes with the host on the port set, and sends nothing else: no request, no account, no secret. It ignores the TLS profile of the probe, since its role is to test what the server presents.

  1. A handshake that offers everything the poller speaks (TLS 1.0 to 1.3, the 22 ciphers) reads the certificate and judges it without refusing it: its days before expiry, whether the chain reaches an authority the poller's system knows, whether it is complete, whether the server's certificate bears the expected name, whether it is self-signed, its key, and the signatures of the chain.
  2. One handshake per version, TLS 1.0, 1.1, 1.2 and 1.3, each offering only that version: the server accepts it or refuses it.
  3. At the highest version under TLS 1.3 the server accepts, one handshake per weak cipher (RC4, 3DES), each offered alone.
  • The added authorities (certificate:authorities, PEM blocks CERTIFICATE) count beside those of the poller's system: a certificate issued by the authority of a company is then trusted. They change nothing else: neither the chain, nor the name, nor the other outputs.
  • The expected name is certificate:name when set, otherwise the name of the host's address; it is also the name announced to the server, which then presents the right certificate when it serves several. An IP address without a name is judged on the addresses of the certificate.
  • A key too short: RSA under 2048 bits, or a curve under 256 bits.
  • SHA-1 is looked for in every signature of the chain, except the one a root authority bears on itself, which nobody checks.
  • Remote Desktop (certificate:rdp): the connection starts with an RDP negotiation, 19 fixed bytes, before the handshake. Nothing else is sent: the authentication that follows the handshake is never started.
  • A server that refuses the connection, does not speak TLS on the port, or with which no handshake succeeds, stops the collector as unreachable: the probe never says "OK" of a server it could not read.

Prerequisites

  • The port reachable from the poller.
  • Nothing on the server: the collector reads what any client sees.

Variables

NameLabelSaysDefault
certificate:portPortthe TLS port of the service: 443, 636, 465, 3389, 5986443
certificate:nameExpected namethe name the certificate must bear, when it differs from the address of the host, also announced to the server; optional—
certificate:authoritiesAdded authoritiesthe certificates, in PEM blocks, of the authorities that issue for this service beside those of the system; optional—
certificate:rdpRemote Desktopthe handshake follows an RDP negotiation; on for port 3389off

Outputs

NameLabelUnitPer instance
days-leftDays before expirydno
trustedCertificate trusted—no
chainChain—no
nameName matches—no
self-signedSelf-signed—no
weak-keyKey too short—no
sha1SHA-1 signature—no
old-protocolsOld protocols accepted—no
weak-suitesWeak ciphers accepted—no
tls13TLS 1.3 accepted—no

days-left is negative once the certificate has expired. chain is complete or incomplete; old-protocols and weak-suites are none or the list found (TLS 1.0, TLS 1.1); the others are yes or no.

Watches

NameTitleKindDefaultsChecked by default
expiringExpiry closebelow a threshold, on days-leftwarning below 30 d, critical below 7 dyes
untrustedCertificate not trustedstate to avoid, on trustedwarning on nono: check it once the authorities of a private issuer are added
chain-incompleteIncomplete chainexpected value, on chainwarning when not completeyes
name-mismatchName does not matchexpected value, on namecritical when not yesyes
self-signedSelf-signed certificatestate to avoid, on self-signedwarning on yesno
weak-keyKey too shortstate to avoid, on weak-keywarning on yesyes
sha1SHA-1 signaturestate to avoid, on sha1warning on yesyes
old-protocolsOld protocol acceptedexpected value, on old-protocolswarning when not noneyes
weak-suitesWeak cipher acceptedexpected value, on weak-suiteswarning when not noneyes
tls13Recent protocol refusedexpected value, on tls13warning when not yesno

Limits

  • A certificate issued by the authority of a company is not trusted unless that authority is in the system of the poller or set in certificate:authorities.
  • What the poller does not speak is not read: a server that speaks only SSLv3 stops the collector as unreachable; a cipher with a DHE exchange is never tried.
  • STARTTLS (SMTP on 25 and 587, LDAP on 389, IMAP, POP) is not opened: only a port that starts with TLS, or with an RDP negotiation, is read.
  • Only the five weak ciphers are tried one by one; the other ciphers a server accepts are not listed.