102 lines
3.9 KiB
Perl
102 lines
3.9 KiB
Perl
# -*- mode: perl; -*-
|
|
# Copyright 2022 The Tongsuo Project Authors. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
# this file except in compliance with the License. You can obtain a copy
|
|
# in the file LICENSE in the source distribution or at
|
|
# https://github.com/Tongsuo-Project/Tongsuo/blob/master/LICENSE.txt
|
|
|
|
## Test delegated credential
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
package ssltests;
|
|
|
|
our @tests = (
|
|
{
|
|
name => "test client can verify server by delegated credential",
|
|
server => {
|
|
"MinProtocol" => "TLSv1.3",
|
|
"MaxProtocol" => "TLSv1.3",
|
|
"Enable_sign_by_dc" => "on",
|
|
"Certificate" => test_run("dc", "dc-leaf-server.crt"),
|
|
"PrivateKey" => test_run("dc", "dc-leaf-server.key"),
|
|
"DC" => test_run("dc", "dc-server.dc"),
|
|
"DCKey" => test_run("dc", "dc-server.key"),
|
|
},
|
|
client => {
|
|
"MinProtocol" => "TLSv1.3",
|
|
"MaxProtocol" => "TLSv1.3",
|
|
"VerifyCAFile" => test_run("dc", "dc-chain-ca.crt"),
|
|
"Enable_verify_peer_by_dc" => "on",
|
|
},
|
|
test => {
|
|
"ExpectedResult" => "Success",
|
|
"ExpextClientDCusage" => "VerifyPeerByDCOnly",
|
|
"ExpextServerDCusage" => "SignByDCOnly",
|
|
},
|
|
},
|
|
{
|
|
name => "test client/server can do mtls by delegated credential",
|
|
server => {
|
|
"MinProtocol" => "TLSv1.3",
|
|
"MaxProtocol" => "TLSv1.3",
|
|
"Enable_sign_by_dc" => "on",
|
|
"Enable_verify_peer_by_dc" => "on",
|
|
"Certificate" => test_run("dc", "dc-leaf-server.crt"),
|
|
"PrivateKey" => test_run("dc", "dc-leaf-server.key"),
|
|
"DC" => test_run("dc", "dc-server.dc"),
|
|
"DCKey" => test_run("dc", "dc-server.key"),
|
|
"VerifyCAFile" => test_run("dc", "dc-chain-ca.crt"),
|
|
"VerifyMode" => "Request",
|
|
},
|
|
client => {
|
|
"MinProtocol" => "TLSv1.3",
|
|
"MaxProtocol" => "TLSv1.3",
|
|
"VerifyCAFile" => test_run("dc", "dc-chain-ca.crt"),
|
|
"Enable_sign_by_dc" => "on",
|
|
"Enable_verify_peer_by_dc" => "on",
|
|
"Certificate" => test_run("dc", "dc-leaf-client.crt"),
|
|
"PrivateKey" => test_run("dc", "dc-leaf-client.key"),
|
|
"DC" => test_run("dc", "dc-client.dc"),
|
|
"DCKey" => test_run("dc", "dc-client.key"),
|
|
},
|
|
test => {
|
|
"ExpectedResult" => "Success",
|
|
"ExpextClientDCusage" => "VerifyPeerAndSignByDC",
|
|
"ExpextServerDCusage" => "VerifyPeerAndSignByDC",
|
|
},
|
|
},
|
|
{
|
|
name => "test depoly cert and dc at the same time, but do not open dc ",
|
|
server => {
|
|
"MinProtocol" => "TLSv1.3",
|
|
"MaxProtocol" => "TLSv1.3",
|
|
"Enable_sign_by_dc" => "off",
|
|
"Enable_verify_peer_by_dc" => "off",
|
|
"Certificate" => test_run("dc", "dc-leaf-server.crt"),
|
|
"PrivateKey" => test_run("dc", "dc-leaf-server.key"),
|
|
"DC" => test_run("dc", "dc-server.dc"),
|
|
"DCKey" => test_run("dc", "dc-server.key"),
|
|
"VerifyCAFile" => test_run("dc", "dc-chain-ca.crt"),
|
|
"VerifyMode" => "Request",
|
|
},
|
|
client => {
|
|
"MinProtocol" => "TLSv1.3",
|
|
"MaxProtocol" => "TLSv1.3",
|
|
"VerifyCAFile" => test_run("dc", "dc-chain-ca.crt"),
|
|
"Enable_sign_by_dc" => "off",
|
|
"Enable_verify_peer_by_dc" => "off",
|
|
"Certificate" => test_run("dc", "dc-leaf-client.crt"),
|
|
"PrivateKey" => test_run("dc", "dc-leaf-client.key"),
|
|
"DC" => test_run("dc", "dc-client.dc"),
|
|
"DCKey" => test_run("dc", "dc-client.key"),
|
|
},
|
|
test => {
|
|
"ExpectedResult" => "Success",
|
|
"ExpextClientDCusage" => "NotUseDC",
|
|
"ExpextServerDCusage" => "NotUseDC",
|
|
},
|
|
},
|
|
); |