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_suitetls13_cipher_suitekey_exchange_groupsignature_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_SHA384TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS 1.3 cipher suites
tls13_cipher_suite accepts:
TLS_AES_256_GCM_SHA384TLS_AES_128_GCM_SHA256TLS_CHACHA20_POLY1305_SHA256
Key exchange groups
key_exchange_group accepts:
X25519MLKEM768secp256r1MLKEM768MLKEM768X25519secp256r1secp384r1
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_sha256ecdsa_secp384r1_sha384ecdsa_secp521r1_sha512ed25519rsa_pss_rsae_sha256rsa_pss_rsae_sha384rsa_pss_rsae_sha512rsa_pkcs1_sha256rsa_pkcs1_sha384rsa_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.