blob: f4fab20638d76facaf4336781d3aad5e2b110d92 [file] [log] [blame]
#
# ssl_multicert.config
#
# Documentation:
# https://docs.trafficserver.apache.org/en/latest/admin-guide/files/ssl_multicert.config.en.html
#
# Allows a TLS certificate and private key to be tied to a specific
# hostname or IP address. At load time, the certificate is parsed to
# extract the subject CN and all the DNS subjectAltNames. The
# certificate will be presented for connections requesting any of the
# hostnames found in the certificate. Wildcard names in the certificates
# are supported, but only of the form '*.domain.com', ie. where '*'
# is the leftmost domain component.
#
# The certificate file path, CA path and key path specified in
# records.config will be used for all certificates, CAs and keys
# specified here.
#
# Fields:
#
# dest_ip=ADDRESS
# The IP (v4 or v6) address that the certificate should be presented
# on. This is now only used as a fallback in the case that the TLS
# ServerNameIndication extension is not supported. If ADDRESS is
# '*', the certificate will be used as the default fallback if no
# other match can be made.
#
# The address specified here can contain a port specifier, in which
# case the corresponding certificate will only match for connections
# accepted on the specified port. IPv6 addresses must be enclosed by
# square brackets if they have a port, eg, [::1]:80.
#
# ssl_key_name=FILENAME
# The name of the file containing the private key for this certificate.
# If the key is contained in the certificate file, this field can be
# omitted.
#
# ssl_ca_name=FILENAME
# If your certificates have different Certificate Authorities, you
# can optionally specify the corresponding file here.
#
# ssl_cert_name=FILENAME
# The name of the file containing the TLS certificate. This is the
# only field that is required to be present.
#
# ssl_key_dialog=[builtin|exec:/path/to/program]
# Method used to provide a pass phrase for encrypted private keys.
# Two options are supported: builtin and exec
# builtin - Requests passphrase via stdin/stdout. Useful for debugging.
# exec: - Executes a program and uses the stdout output for the pass
# phrase.
#
# action=[tunnel]
# If the tunnel matches this line, traffic server will not participate
# in the handshake. But rather it will blind tunnel the SSL connection.
# If the connection is identified by server name, an openSSL patch must
# be applied to enable this functionality. See TS-3006 for details.
#
# Examples:
# ssl_cert_name=foo.pem
# dest_ip=* ssl_cert_name=bar.pem ssl_key_name=barKey.pem
# dest_ip=209.131.48.79 ssl_cert_name=server.pem ssl_key_name=serverKey.pem
# dest_ip=10.0.0.1:99 ssl_cert_name=port99.pem
# ssl_cert_name=foo.pem ssl_key_dialog="exec:/usr/bin/mypass foo 'ba r'"
# ssl_cert_name=foo.pem action=tunnel
# ssl_cert_name=wildcardcert.pem ssl_key_name=privkey.pem