tls tls-forward-secrecy {
    protocols { TLSv1.2; };
    ciphers "HIGH:!kRSA:!aNULL:!eNULL:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!SHA1:!SHA256:!SHA384";
    dhparam-file "../dhparam3072.pem";
    ca-file "../CA/CA.pem";
};

tls tls-forward-secrecy-remote-hostname {
    protocols { TLSv1.2; };
    ca-file "../CA/CA.pem";
    remote-hostname "srv02.crt01.example.com";
};

tls tls-forward-secrecy-bad-remote-hostname {
    protocols { TLSv1.2; };
    ca-file "../CA/CA.pem";
    remote-hostname "srv02-bad.crt01.example.com";
};

tls tls-forward-secrecy-mutual-tls {
    protocols { TLSv1.2; };
    ciphers "HIGH:!kRSA:!aNULL:!eNULL:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!SHA1:!SHA256:!SHA384";
    key-file "../CA/certs/srv03.crt01.example.com.key";
    cert-file "../CA/certs/srv03.crt01.example.com.pem";
    dhparam-file "../dhparam3072.pem";
    ca-file "../CA/CA.pem";
};

tls tls-expired {
    protocols { TLSv1.2; };
    ciphers "HIGH:!kRSA:!aNULL:!eNULL:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!SHA1:!SHA256:!SHA384";
    prefer-server-ciphers yes;
    dhparam-file "../dhparam3072.pem";
    ca-file "../CA/CA.pem";
};

zone tls-x1 {
	type primary;
	file "generic.db";
	notify explicit;
	also-notify { 10.53.0.2 tls ephemeral; };
};

zone tls-x2 {
	type primary;
	file "generic.db";
	notify explicit;
	also-notify { 10.53.0.2 port @EXTRAPORT1@ tls tls-forward-secrecy; };
};

zone tls-x3 {
	type primary;
	file "generic.db";
	notify explicit;
	also-notify { 10.53.0.2 port @EXTRAPORT1@ tls tls-forward-secrecy-remote-hostname; };
};

zone tls-x4 {
	type primary;
	file "generic.db";
	notify explicit;
	also-notify { 10.53.0.2 port @EXTRAPORT1@ tls tls-forward-secrecy-bad-remote-hostname; };
};

zone tls-x5 {
	type primary;
	file "generic.db";
	notify explicit;
	also-notify { 10.53.0.2 port @EXTRAPORT3@ tls tls-forward-secrecy-mutual-tls; };
};

zone tls-x6 {
	type primary;
	file "generic.db";
	notify explicit;
	also-notify { 10.53.0.2 port @EXTRAPORT4@ tls tls-expired; };
};
