Radiator Server Documentation — v10.34.0
Table of Contents
  • negotiation
  • Ordered allowlists
  • TLS 1.2 cipher suites
  • TLS 1.3 cipher suites
  • Key exchange groups
  • Signature schemes
  • TLS 1.2 Extended Master Secret

negotiation

The optional negotiation block constrains TLS protocol negotiation. Keep certificate, peer verification, protocol version, and session resumption settings directly in the surrounding tls block.

tls {
    min_protocol_version tlsv12;
    max_protocol_version tlsv13;

    negotiation {
        tls12_cipher_suite "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256";
        tls12_cipher_suite "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256";

        tls13_cipher_suite "TLS_AES_128_GCM_SHA256";
        tls13_cipher_suite "TLS_AES_256_GCM_SHA384";

        key_exchange_group "X25519MLKEM768";
        key_exchange_group "X25519";
        key_exchange_group "secp256r1";

        signature_scheme "ecdsa_secp256r1_sha256";
        signature_scheme "rsa_pss_rsae_sha256";
        signature_scheme "ed25519";

        tls12_require_extended_master_secret true;
    }
}

A tls block can contain at most one negotiation block.

Ordered allowlists

Repeat these parameters to create ordered allowlists:

  • tls12_cipher_suite
  • tls13_cipher_suite
  • key_exchange_group
  • signature_scheme

Radiator permits only configured values and uses declaration order as preference order. An omitted category retains its default values and order. Existing TLS configurations therefore retain their current behavior.

Radiator rejects unknown names and duplicate values while parsing the configuration. Use the IANA names documented below.

TLS 1.2 cipher suites

tls12_cipher_suite accepts:

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

TLS 1.3 cipher suites

tls13_cipher_suite accepts:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256
  • TLS_CHACHA20_POLY1305_SHA256

Key exchange groups

key_exchange_group accepts:

  • X25519MLKEM768
  • secp256r1MLKEM768
  • MLKEM768
  • X25519
  • secp256r1
  • secp384r1

The same ordered group list applies to TLS 1.2 and TLS 1.3. A group that is not compatible with an enabled protocol version cannot satisfy that version. For example, configure a conventional ECDHE group when TLS 1.2 is enabled.

Put X25519MLKEM768 first to prefer hybrid post-quantum key exchange. Omit the list to retain the default preference.

Signature schemes

signature_scheme accepts:

  • ecdsa_secp256r1_sha256
  • ecdsa_secp384r1_sha384
  • ecdsa_secp521r1_sha512
  • ed25519
  • rsa_pss_rsae_sha256
  • rsa_pss_rsae_sha384
  • rsa_pss_rsae_sha512
  • rsa_pkcs1_sha256
  • rsa_pkcs1_sha384
  • rsa_pkcs1_sha512

This allowlist controls TLS handshake signature advertisement, verification, and local signing-key selection. It does not restrict algorithms used to validate signatures within a certificate chain. At least one configured scheme must be compatible with each local certificate key used by the TLS endpoint.

TLS 1.2 Extended Master Secret

Set tls12_require_extended_master_secret true; to require the RFC 7627 Extended Master Secret extension for TLS 1.2. Radiator rejects a TLS 1.2 peer that does not negotiate the extension.

Omitting the parameter or setting it to false preserves the default behavior. The parameter has no effect on TLS 1.3.

Navigation
  • @init

  • @verification

  • aaa

  • backends

  • caches

  • captures

  • certificates

  • clients

  • conditions

  • dictionary

  • handshake-timeout

  • hmac-otp

  • include

  • interval

  • ip-accept

  • license

  • logging

  • management

  • negotiation

  • proxy-protocol

  • scripts

  • servers

  • statistics

  • stats

  • timer

  • ui