Home | History | Annotate | Line # | Download | only in ssl-tests
      1  1.1  christos # -*- mode: perl; -*-
      2  1.1  christos # Copyright 2016-2022 The OpenSSL Project Authors. All Rights Reserved.
      3  1.1  christos #
      4  1.1  christos # Licensed under the Apache License 2.0 (the "License").  You may not use
      5  1.1  christos # this file except in compliance with the License.  You can obtain a copy
      6  1.1  christos # in the file LICENSE in the source distribution or at
      7  1.1  christos # https://www.openssl.org/source/license.html
      8  1.1  christos 
      9  1.1  christos 
     10  1.1  christos ## Test version negotiation
     11  1.1  christos 
     12  1.1  christos use strict;
     13  1.1  christos use warnings;
     14  1.1  christos 
     15  1.1  christos package ssltests;
     16  1.1  christos 
     17  1.1  christos 
     18  1.1  christos our @tests = (
     19  1.1  christos     {
     20  1.1  christos         name => "ct-permissive-without-scts",
     21  1.1  christos         server => {
     22  1.1  christos         },
     23  1.1  christos         client => {
     24  1.1  christos             extra => {
     25  1.1  christos                 "CTValidation" => "Permissive",
     26  1.1  christos             },
     27  1.1  christos         },
     28  1.1  christos         test => {
     29  1.1  christos             "ExpectedResult" => "Success",
     30  1.1  christos         },
     31  1.1  christos     },
     32  1.1  christos     {
     33  1.1  christos         name => "ct-permissive-with-scts",
     34  1.1  christos         server => {
     35  1.1  christos             "Certificate" => test_pem("embeddedSCTs1.pem"),
     36  1.1  christos             "PrivateKey"  => test_pem("embeddedSCTs1-key.pem"),
     37  1.1  christos         },
     38  1.1  christos         client => {
     39  1.1  christos             "VerifyCAFile" => test_pem("embeddedSCTs1_issuer.pem"),
     40  1.1  christos             extra => {
     41  1.1  christos                 "CTValidation" => "Permissive",
     42  1.1  christos             },
     43  1.1  christos         },
     44  1.1  christos         test => {
     45  1.1  christos             "ExpectedResult" => "Success",
     46  1.1  christos         },
     47  1.1  christos     },
     48  1.1  christos     {
     49  1.1  christos         name => "ct-strict-without-scts",
     50  1.1  christos         server => {
     51  1.1  christos         },
     52  1.1  christos         client => {
     53  1.1  christos             extra => {
     54  1.1  christos                 "CTValidation" => "Strict",
     55  1.1  christos             },
     56  1.1  christos         },
     57  1.1  christos         test => {
     58  1.1  christos             "ExpectedResult" => "ClientFail",
     59  1.1  christos             "ExpectedClientAlert" => "HandshakeFailure",
     60  1.1  christos         },
     61  1.1  christos     },
     62  1.1  christos     {
     63  1.1  christos         name => "ct-strict-with-scts",
     64  1.1  christos         server => {
     65  1.1  christos             "Certificate" => test_pem("embeddedSCTs1.pem"),
     66  1.1  christos             "PrivateKey"  => test_pem("embeddedSCTs1-key.pem"),
     67  1.1  christos         },
     68  1.1  christos         client => {
     69  1.1  christos             "VerifyCAFile" => test_pem("embeddedSCTs1_issuer.pem"),
     70  1.1  christos             extra => {
     71  1.1  christos                 "CTValidation" => "Strict",
     72  1.1  christos             },
     73  1.1  christos         },
     74  1.1  christos         test => {
     75  1.1  christos             "ExpectedResult" => "Success",
     76  1.1  christos         },
     77  1.1  christos     },
     78  1.1  christos     {
     79  1.1  christos         name => "ct-permissive-resumption",
     80  1.1  christos         server => {
     81  1.1  christos             "Certificate" => test_pem("embeddedSCTs1.pem"),
     82  1.1  christos             "PrivateKey"  => test_pem("embeddedSCTs1-key.pem"),
     83  1.1  christos         },
     84  1.1  christos         client => {
     85  1.1  christos             "VerifyCAFile" => test_pem("embeddedSCTs1_issuer.pem"),
     86  1.1  christos             extra => {
     87  1.1  christos                 "CTValidation" => "Permissive",
     88  1.1  christos             },
     89  1.1  christos         },
     90  1.1  christos         test => {
     91  1.1  christos             "HandshakeMode" => "Resume",
     92  1.1  christos             "ResumptionExpected" => "Yes",
     93  1.1  christos             "ExpectedResult" => "Success",
     94  1.1  christos         },
     95  1.1  christos     },
     96  1.1  christos     {
     97  1.1  christos         name => "ct-strict-resumption",
     98  1.1  christos         server => {
     99  1.1  christos             "Certificate" => test_pem("embeddedSCTs1.pem"),
    100  1.1  christos             "PrivateKey"  => test_pem("embeddedSCTs1-key.pem"),
    101  1.1  christos         },
    102  1.1  christos         client => {
    103  1.1  christos             "VerifyCAFile" => test_pem("embeddedSCTs1_issuer.pem"),
    104  1.1  christos             extra => {
    105  1.1  christos                 "CTValidation" => "Strict",
    106  1.1  christos             },
    107  1.1  christos         },
    108  1.1  christos         # SCTs are not present during resumption, so the resumption
    109  1.1  christos         # should succeed.
    110  1.1  christos         resume_client => {
    111  1.1  christos             extra => {
    112  1.1  christos                 "CTValidation" => "Strict",
    113  1.1  christos             },
    114  1.1  christos         },
    115  1.1  christos         test => {
    116  1.1  christos             "HandshakeMode" => "Resume",
    117  1.1  christos             "ResumptionExpected" => "Yes",
    118  1.1  christos             "ExpectedResult" => "Success",
    119  1.1  christos         },
    120  1.1  christos     },
    121  1.1  christos );
    122