openssl/test/ssl-tests/08-npn.cnf
Matt Caswell 9925c97a8e Allow an empty NPN/ALPN protocol list in the tests
Allow ourselves to configure an empty NPN/ALPN protocol list and test what
happens if we do.

Follow on from CVE-2024-5535

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24716)
2024-06-27 10:30:51 +01:00

884 lines
26 KiB
INI

# Generated with generate_ssl_tests.pl
num_tests = 22
test-0 = 0-npn-simple
test-1 = 1-npn-client-finds-match
test-2 = 2-npn-client-honours-server-pref
test-3 = 3-npn-client-first-pref-on-mismatch
test-4 = 4-npn-no-server-support
test-5 = 5-npn-no-client-support
test-6 = 6-npn-empty-client-list
test-7 = 7-npn-empty-server-list
test-8 = 8-npn-with-sni-no-context-switch
test-9 = 9-npn-with-sni-context-switch
test-10 = 10-npn-selected-sni-server-supports-npn
test-11 = 11-npn-selected-sni-server-does-not-support-npn
test-12 = 12-alpn-preferred-over-npn
test-13 = 13-sni-npn-preferred-over-alpn
test-14 = 14-npn-simple-resumption
test-15 = 15-npn-server-switch-resumption
test-16 = 16-npn-client-switch-resumption
test-17 = 17-npn-client-first-pref-on-mismatch-resumption
test-18 = 18-npn-no-server-support-resumption
test-19 = 19-npn-no-client-support-resumption
test-20 = 20-alpn-preferred-over-npn-resumption
test-21 = 21-npn-used-if-alpn-not-supported-resumption
# ===========================================================
[0-npn-simple]
ssl_conf = 0-npn-simple-ssl
[0-npn-simple-ssl]
server = 0-npn-simple-server
client = 0-npn-simple-client
[0-npn-simple-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[0-npn-simple-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-0]
ExpectedNPNProtocol = foo
server = 0-npn-simple-server-extra
client = 0-npn-simple-client-extra
[0-npn-simple-server-extra]
NPNProtocols = foo
[0-npn-simple-client-extra]
NPNProtocols = foo
# ===========================================================
[1-npn-client-finds-match]
ssl_conf = 1-npn-client-finds-match-ssl
[1-npn-client-finds-match-ssl]
server = 1-npn-client-finds-match-server
client = 1-npn-client-finds-match-client
[1-npn-client-finds-match-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[1-npn-client-finds-match-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-1]
ExpectedNPNProtocol = bar
server = 1-npn-client-finds-match-server-extra
client = 1-npn-client-finds-match-client-extra
[1-npn-client-finds-match-server-extra]
NPNProtocols = baz,bar
[1-npn-client-finds-match-client-extra]
NPNProtocols = foo,bar
# ===========================================================
[2-npn-client-honours-server-pref]
ssl_conf = 2-npn-client-honours-server-pref-ssl
[2-npn-client-honours-server-pref-ssl]
server = 2-npn-client-honours-server-pref-server
client = 2-npn-client-honours-server-pref-client
[2-npn-client-honours-server-pref-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[2-npn-client-honours-server-pref-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-2]
ExpectedNPNProtocol = bar
server = 2-npn-client-honours-server-pref-server-extra
client = 2-npn-client-honours-server-pref-client-extra
[2-npn-client-honours-server-pref-server-extra]
NPNProtocols = bar,foo
[2-npn-client-honours-server-pref-client-extra]
NPNProtocols = foo,bar
# ===========================================================
[3-npn-client-first-pref-on-mismatch]
ssl_conf = 3-npn-client-first-pref-on-mismatch-ssl
[3-npn-client-first-pref-on-mismatch-ssl]
server = 3-npn-client-first-pref-on-mismatch-server
client = 3-npn-client-first-pref-on-mismatch-client
[3-npn-client-first-pref-on-mismatch-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[3-npn-client-first-pref-on-mismatch-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-3]
ExpectedNPNProtocol = foo
server = 3-npn-client-first-pref-on-mismatch-server-extra
client = 3-npn-client-first-pref-on-mismatch-client-extra
[3-npn-client-first-pref-on-mismatch-server-extra]
NPNProtocols = baz
[3-npn-client-first-pref-on-mismatch-client-extra]
NPNProtocols = foo,bar
# ===========================================================
[4-npn-no-server-support]
ssl_conf = 4-npn-no-server-support-ssl
[4-npn-no-server-support-ssl]
server = 4-npn-no-server-support-server
client = 4-npn-no-server-support-client
[4-npn-no-server-support-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[4-npn-no-server-support-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-4]
client = 4-npn-no-server-support-client-extra
[4-npn-no-server-support-client-extra]
NPNProtocols = foo
# ===========================================================
[5-npn-no-client-support]
ssl_conf = 5-npn-no-client-support-ssl
[5-npn-no-client-support-ssl]
server = 5-npn-no-client-support-server
client = 5-npn-no-client-support-client
[5-npn-no-client-support-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[5-npn-no-client-support-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-5]
server = 5-npn-no-client-support-server-extra
[5-npn-no-client-support-server-extra]
NPNProtocols = foo
# ===========================================================
[6-npn-empty-client-list]
ssl_conf = 6-npn-empty-client-list-ssl
[6-npn-empty-client-list-ssl]
server = 6-npn-empty-client-list-server
client = 6-npn-empty-client-list-client
[6-npn-empty-client-list-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[6-npn-empty-client-list-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-6]
ExpectedClientAlert = HandshakeFailure
ExpectedResult = ClientFail
server = 6-npn-empty-client-list-server-extra
client = 6-npn-empty-client-list-client-extra
[6-npn-empty-client-list-server-extra]
NPNProtocols = foo
[6-npn-empty-client-list-client-extra]
NPNProtocols =
# ===========================================================
[7-npn-empty-server-list]
ssl_conf = 7-npn-empty-server-list-ssl
[7-npn-empty-server-list-ssl]
server = 7-npn-empty-server-list-server
client = 7-npn-empty-server-list-client
[7-npn-empty-server-list-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[7-npn-empty-server-list-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-7]
ExpectedNPNProtocol = foo
server = 7-npn-empty-server-list-server-extra
client = 7-npn-empty-server-list-client-extra
[7-npn-empty-server-list-server-extra]
NPNProtocols =
[7-npn-empty-server-list-client-extra]
NPNProtocols = foo
# ===========================================================
[8-npn-with-sni-no-context-switch]
ssl_conf = 8-npn-with-sni-no-context-switch-ssl
[8-npn-with-sni-no-context-switch-ssl]
server = 8-npn-with-sni-no-context-switch-server
client = 8-npn-with-sni-no-context-switch-client
server2 = 8-npn-with-sni-no-context-switch-server2
[8-npn-with-sni-no-context-switch-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[8-npn-with-sni-no-context-switch-server2]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[8-npn-with-sni-no-context-switch-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-8]
ExpectedNPNProtocol = foo
ExpectedServerName = server1
server = 8-npn-with-sni-no-context-switch-server-extra
server2 = 8-npn-with-sni-no-context-switch-server2-extra
client = 8-npn-with-sni-no-context-switch-client-extra
[8-npn-with-sni-no-context-switch-server-extra]
NPNProtocols = foo
ServerNameCallback = IgnoreMismatch
[8-npn-with-sni-no-context-switch-server2-extra]
NPNProtocols = bar
[8-npn-with-sni-no-context-switch-client-extra]
NPNProtocols = foo,bar
ServerName = server1
# ===========================================================
[9-npn-with-sni-context-switch]
ssl_conf = 9-npn-with-sni-context-switch-ssl
[9-npn-with-sni-context-switch-ssl]
server = 9-npn-with-sni-context-switch-server
client = 9-npn-with-sni-context-switch-client
server2 = 9-npn-with-sni-context-switch-server2
[9-npn-with-sni-context-switch-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[9-npn-with-sni-context-switch-server2]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[9-npn-with-sni-context-switch-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-9]
ExpectedNPNProtocol = bar
ExpectedServerName = server2
server = 9-npn-with-sni-context-switch-server-extra
server2 = 9-npn-with-sni-context-switch-server2-extra
client = 9-npn-with-sni-context-switch-client-extra
[9-npn-with-sni-context-switch-server-extra]
NPNProtocols = foo
ServerNameCallback = IgnoreMismatch
[9-npn-with-sni-context-switch-server2-extra]
NPNProtocols = bar
[9-npn-with-sni-context-switch-client-extra]
NPNProtocols = foo,bar
ServerName = server2
# ===========================================================
[10-npn-selected-sni-server-supports-npn]
ssl_conf = 10-npn-selected-sni-server-supports-npn-ssl
[10-npn-selected-sni-server-supports-npn-ssl]
server = 10-npn-selected-sni-server-supports-npn-server
client = 10-npn-selected-sni-server-supports-npn-client
server2 = 10-npn-selected-sni-server-supports-npn-server2
[10-npn-selected-sni-server-supports-npn-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[10-npn-selected-sni-server-supports-npn-server2]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[10-npn-selected-sni-server-supports-npn-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-10]
ExpectedNPNProtocol = bar
ExpectedServerName = server2
server = 10-npn-selected-sni-server-supports-npn-server-extra
server2 = 10-npn-selected-sni-server-supports-npn-server2-extra
client = 10-npn-selected-sni-server-supports-npn-client-extra
[10-npn-selected-sni-server-supports-npn-server-extra]
ServerNameCallback = IgnoreMismatch
[10-npn-selected-sni-server-supports-npn-server2-extra]
NPNProtocols = bar
[10-npn-selected-sni-server-supports-npn-client-extra]
NPNProtocols = foo,bar
ServerName = server2
# ===========================================================
[11-npn-selected-sni-server-does-not-support-npn]
ssl_conf = 11-npn-selected-sni-server-does-not-support-npn-ssl
[11-npn-selected-sni-server-does-not-support-npn-ssl]
server = 11-npn-selected-sni-server-does-not-support-npn-server
client = 11-npn-selected-sni-server-does-not-support-npn-client
server2 = 11-npn-selected-sni-server-does-not-support-npn-server2
[11-npn-selected-sni-server-does-not-support-npn-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[11-npn-selected-sni-server-does-not-support-npn-server2]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[11-npn-selected-sni-server-does-not-support-npn-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-11]
ExpectedServerName = server2
server = 11-npn-selected-sni-server-does-not-support-npn-server-extra
client = 11-npn-selected-sni-server-does-not-support-npn-client-extra
[11-npn-selected-sni-server-does-not-support-npn-server-extra]
NPNProtocols = bar
ServerNameCallback = IgnoreMismatch
[11-npn-selected-sni-server-does-not-support-npn-client-extra]
NPNProtocols = foo,bar
ServerName = server2
# ===========================================================
[12-alpn-preferred-over-npn]
ssl_conf = 12-alpn-preferred-over-npn-ssl
[12-alpn-preferred-over-npn-ssl]
server = 12-alpn-preferred-over-npn-server
client = 12-alpn-preferred-over-npn-client
[12-alpn-preferred-over-npn-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[12-alpn-preferred-over-npn-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-12]
ExpectedALPNProtocol = foo
server = 12-alpn-preferred-over-npn-server-extra
client = 12-alpn-preferred-over-npn-client-extra
[12-alpn-preferred-over-npn-server-extra]
ALPNProtocols = foo
NPNProtocols = bar
[12-alpn-preferred-over-npn-client-extra]
ALPNProtocols = foo
NPNProtocols = bar
# ===========================================================
[13-sni-npn-preferred-over-alpn]
ssl_conf = 13-sni-npn-preferred-over-alpn-ssl
[13-sni-npn-preferred-over-alpn-ssl]
server = 13-sni-npn-preferred-over-alpn-server
client = 13-sni-npn-preferred-over-alpn-client
server2 = 13-sni-npn-preferred-over-alpn-server2
[13-sni-npn-preferred-over-alpn-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[13-sni-npn-preferred-over-alpn-server2]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[13-sni-npn-preferred-over-alpn-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-13]
ExpectedNPNProtocol = bar
ExpectedServerName = server2
server = 13-sni-npn-preferred-over-alpn-server-extra
server2 = 13-sni-npn-preferred-over-alpn-server2-extra
client = 13-sni-npn-preferred-over-alpn-client-extra
[13-sni-npn-preferred-over-alpn-server-extra]
ALPNProtocols = foo
ServerNameCallback = IgnoreMismatch
[13-sni-npn-preferred-over-alpn-server2-extra]
NPNProtocols = bar
[13-sni-npn-preferred-over-alpn-client-extra]
ALPNProtocols = foo
NPNProtocols = bar
ServerName = server2
# ===========================================================
[14-npn-simple-resumption]
ssl_conf = 14-npn-simple-resumption-ssl
[14-npn-simple-resumption-ssl]
server = 14-npn-simple-resumption-server
client = 14-npn-simple-resumption-client
resume-server = 14-npn-simple-resumption-server
resume-client = 14-npn-simple-resumption-client
[14-npn-simple-resumption-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[14-npn-simple-resumption-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-14]
ExpectedNPNProtocol = foo
HandshakeMode = Resume
ResumptionExpected = Yes
server = 14-npn-simple-resumption-server-extra
resume-server = 14-npn-simple-resumption-server-extra
client = 14-npn-simple-resumption-client-extra
resume-client = 14-npn-simple-resumption-client-extra
[14-npn-simple-resumption-server-extra]
NPNProtocols = foo
[14-npn-simple-resumption-client-extra]
NPNProtocols = foo
# ===========================================================
[15-npn-server-switch-resumption]
ssl_conf = 15-npn-server-switch-resumption-ssl
[15-npn-server-switch-resumption-ssl]
server = 15-npn-server-switch-resumption-server
client = 15-npn-server-switch-resumption-client
resume-server = 15-npn-server-switch-resumption-resume-server
resume-client = 15-npn-server-switch-resumption-client
[15-npn-server-switch-resumption-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[15-npn-server-switch-resumption-resume-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[15-npn-server-switch-resumption-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-15]
ExpectedNPNProtocol = baz
HandshakeMode = Resume
ResumptionExpected = Yes
server = 15-npn-server-switch-resumption-server-extra
resume-server = 15-npn-server-switch-resumption-resume-server-extra
client = 15-npn-server-switch-resumption-client-extra
resume-client = 15-npn-server-switch-resumption-client-extra
[15-npn-server-switch-resumption-server-extra]
NPNProtocols = bar,foo
[15-npn-server-switch-resumption-resume-server-extra]
NPNProtocols = baz,foo
[15-npn-server-switch-resumption-client-extra]
NPNProtocols = foo,bar,baz
# ===========================================================
[16-npn-client-switch-resumption]
ssl_conf = 16-npn-client-switch-resumption-ssl
[16-npn-client-switch-resumption-ssl]
server = 16-npn-client-switch-resumption-server
client = 16-npn-client-switch-resumption-client
resume-server = 16-npn-client-switch-resumption-server
resume-client = 16-npn-client-switch-resumption-resume-client
[16-npn-client-switch-resumption-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[16-npn-client-switch-resumption-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[16-npn-client-switch-resumption-resume-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-16]
ExpectedNPNProtocol = bar
HandshakeMode = Resume
ResumptionExpected = Yes
server = 16-npn-client-switch-resumption-server-extra
resume-server = 16-npn-client-switch-resumption-server-extra
client = 16-npn-client-switch-resumption-client-extra
resume-client = 16-npn-client-switch-resumption-resume-client-extra
[16-npn-client-switch-resumption-server-extra]
NPNProtocols = foo,bar,baz
[16-npn-client-switch-resumption-client-extra]
NPNProtocols = foo,baz
[16-npn-client-switch-resumption-resume-client-extra]
NPNProtocols = bar,baz
# ===========================================================
[17-npn-client-first-pref-on-mismatch-resumption]
ssl_conf = 17-npn-client-first-pref-on-mismatch-resumption-ssl
[17-npn-client-first-pref-on-mismatch-resumption-ssl]
server = 17-npn-client-first-pref-on-mismatch-resumption-server
client = 17-npn-client-first-pref-on-mismatch-resumption-client
resume-server = 17-npn-client-first-pref-on-mismatch-resumption-resume-server
resume-client = 17-npn-client-first-pref-on-mismatch-resumption-client
[17-npn-client-first-pref-on-mismatch-resumption-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[17-npn-client-first-pref-on-mismatch-resumption-resume-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[17-npn-client-first-pref-on-mismatch-resumption-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-17]
ExpectedNPNProtocol = foo
HandshakeMode = Resume
ResumptionExpected = Yes
server = 17-npn-client-first-pref-on-mismatch-resumption-server-extra
resume-server = 17-npn-client-first-pref-on-mismatch-resumption-resume-server-extra
client = 17-npn-client-first-pref-on-mismatch-resumption-client-extra
resume-client = 17-npn-client-first-pref-on-mismatch-resumption-client-extra
[17-npn-client-first-pref-on-mismatch-resumption-server-extra]
NPNProtocols = bar
[17-npn-client-first-pref-on-mismatch-resumption-resume-server-extra]
NPNProtocols = baz
[17-npn-client-first-pref-on-mismatch-resumption-client-extra]
NPNProtocols = foo,bar
# ===========================================================
[18-npn-no-server-support-resumption]
ssl_conf = 18-npn-no-server-support-resumption-ssl
[18-npn-no-server-support-resumption-ssl]
server = 18-npn-no-server-support-resumption-server
client = 18-npn-no-server-support-resumption-client
resume-server = 18-npn-no-server-support-resumption-resume-server
resume-client = 18-npn-no-server-support-resumption-client
[18-npn-no-server-support-resumption-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[18-npn-no-server-support-resumption-resume-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[18-npn-no-server-support-resumption-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-18]
HandshakeMode = Resume
ResumptionExpected = Yes
server = 18-npn-no-server-support-resumption-server-extra
client = 18-npn-no-server-support-resumption-client-extra
resume-client = 18-npn-no-server-support-resumption-client-extra
[18-npn-no-server-support-resumption-server-extra]
NPNProtocols = foo
[18-npn-no-server-support-resumption-client-extra]
NPNProtocols = foo
# ===========================================================
[19-npn-no-client-support-resumption]
ssl_conf = 19-npn-no-client-support-resumption-ssl
[19-npn-no-client-support-resumption-ssl]
server = 19-npn-no-client-support-resumption-server
client = 19-npn-no-client-support-resumption-client
resume-server = 19-npn-no-client-support-resumption-server
resume-client = 19-npn-no-client-support-resumption-resume-client
[19-npn-no-client-support-resumption-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[19-npn-no-client-support-resumption-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[19-npn-no-client-support-resumption-resume-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-19]
HandshakeMode = Resume
ResumptionExpected = Yes
server = 19-npn-no-client-support-resumption-server-extra
resume-server = 19-npn-no-client-support-resumption-server-extra
client = 19-npn-no-client-support-resumption-client-extra
[19-npn-no-client-support-resumption-server-extra]
NPNProtocols = foo
[19-npn-no-client-support-resumption-client-extra]
NPNProtocols = foo
# ===========================================================
[20-alpn-preferred-over-npn-resumption]
ssl_conf = 20-alpn-preferred-over-npn-resumption-ssl
[20-alpn-preferred-over-npn-resumption-ssl]
server = 20-alpn-preferred-over-npn-resumption-server
client = 20-alpn-preferred-over-npn-resumption-client
resume-server = 20-alpn-preferred-over-npn-resumption-resume-server
resume-client = 20-alpn-preferred-over-npn-resumption-client
[20-alpn-preferred-over-npn-resumption-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[20-alpn-preferred-over-npn-resumption-resume-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[20-alpn-preferred-over-npn-resumption-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-20]
ExpectedALPNProtocol = foo
HandshakeMode = Resume
ResumptionExpected = Yes
server = 20-alpn-preferred-over-npn-resumption-server-extra
resume-server = 20-alpn-preferred-over-npn-resumption-resume-server-extra
client = 20-alpn-preferred-over-npn-resumption-client-extra
resume-client = 20-alpn-preferred-over-npn-resumption-client-extra
[20-alpn-preferred-over-npn-resumption-server-extra]
NPNProtocols = bar
[20-alpn-preferred-over-npn-resumption-resume-server-extra]
ALPNProtocols = foo
NPNProtocols = baz
[20-alpn-preferred-over-npn-resumption-client-extra]
ALPNProtocols = foo
NPNProtocols = bar,baz
# ===========================================================
[21-npn-used-if-alpn-not-supported-resumption]
ssl_conf = 21-npn-used-if-alpn-not-supported-resumption-ssl
[21-npn-used-if-alpn-not-supported-resumption-ssl]
server = 21-npn-used-if-alpn-not-supported-resumption-server
client = 21-npn-used-if-alpn-not-supported-resumption-client
resume-server = 21-npn-used-if-alpn-not-supported-resumption-resume-server
resume-client = 21-npn-used-if-alpn-not-supported-resumption-client
[21-npn-used-if-alpn-not-supported-resumption-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[21-npn-used-if-alpn-not-supported-resumption-resume-server]
Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem
CipherString = DEFAULT
PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem
[21-npn-used-if-alpn-not-supported-resumption-client]
CipherString = DEFAULT
MaxProtocol = TLSv1.2
VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem
VerifyMode = Peer
[test-21]
ExpectedNPNProtocol = baz
HandshakeMode = Resume
ResumptionExpected = Yes
server = 21-npn-used-if-alpn-not-supported-resumption-server-extra
resume-server = 21-npn-used-if-alpn-not-supported-resumption-resume-server-extra
client = 21-npn-used-if-alpn-not-supported-resumption-client-extra
resume-client = 21-npn-used-if-alpn-not-supported-resumption-client-extra
[21-npn-used-if-alpn-not-supported-resumption-server-extra]
ALPNProtocols = foo
NPNProtocols = bar
[21-npn-used-if-alpn-not-supported-resumption-resume-server-extra]
NPNProtocols = baz
[21-npn-used-if-alpn-not-supported-resumption-client-extra]
ALPNProtocols = foo
NPNProtocols = bar,baz