# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

certDir=/iopr
caCertName=TestCA
caCrlName=TestCA

#old values
userCertNames="TestUser510-rsa TestUser512-rsa"
userRevokedCertNames="TestUser510-rsa"
reverseRunCGIScript="/cgi-bin/client.cgi"
#reverseTestParam=NOREVALL
supportedTests="SslSingleHs SslSecondHs"
#supportedTests="SslSecondHs"


downloadFiles="TestUser510-rsa.p12 TestUser512-rsa.p12 ocspTrustedResponder-rsa.crt ocspTRTestUser514-rsa.crt ocspTRTestUser516-rsa.crt ocspRCATestUser518-rsa.crt ocspRCATestUser520-rsa.crt ocspDRTestUser522-rsa.crt ocspDRTestUser524-rsa.crt ocspTRUnknownIssuerCert-rsa.crt ocspRCAUnknownIssuerCert-rsa.crt ocspDRUnknownIssuerCert-rsa.crt"
# Keep a space at the end of
SslClntValidCertName="TestUser512-rsa"
SslClntRevokedCertName="TestUser510-rsa"
reverseRunCGIScript="/cgi-bin/client.cgi"
#reverseTestParam=NOREVALL

supportedTests_new="SslSingleHs SslSecondHs OcspTrustedResponder OcspResponderCA OcspDesinatedResponder"

#
# SslSingleHs: ssl single handshake with out client cert auth
SslSingleHsDescr="ssl with single handshake without client cert auth"
SslSingleHsPort=443
SslSingleHsUrl=/iopr_test/test_pg.html
SslSingleHsParam=NOAUTH

#
# SslSecondHs: ssl with secondary hs when accessing direcory 
# that requires cert verification
SslSecondHsDescr="ssl with secondary hs when accessing direcory that requires cert verification"
SslSecondHsPort=443
SslSecondHsUrl=/iopr_test_2hs/test_pg.html
SslSecondHsParam=NOCOV

#
# OcspTrustedResponder - trusted responder key is used to sign OCSP response
#
OcspTrustedResponderDescr="trusted responder key is used to sign OCSP response"
OcspTrustedResponderProto=http
OcspTrustedResponderPort=2560
OcspTrustedResponderResponderCert=ocspTrustedResponder-rsa
OcspTrustedResponderValidCertNames="ocspTRTestUser516-rsa"
OcspTrustedResponderRevokedCertNames="ocspTRTestUser514-rsa"
OcspTrustedResponderStatUnknownCertNames="ocspTRUnknownIssuerCert-rsa"

#
# OcspResponderCA - CA key is used to sign OCSP response
#
OcspResponderCADescr="CA key is used to sign OCSP response"
OcspResponderCAValidCertNames="ocspRCATestUser518-rsa"
OcspResponderCARevokedCertNames="ocspRCATestUser520-rsa"
OcspResponderCAStatUnknownCertNames="ocspRCAUnknownIssuerCert-rsa"

#
# OcspDesinatedResponder - CA Designated Responder key is used to sign OCSP response
#
OcspDesinatedResponderDescr="CA Designated Responder key is used to sign OCSP response"
OcspDesinatedResponderValidCertNames="ocspDRTestUser522-rsa"
OcspDesinatedResponderRevokedCertNames="ocspDRTestUser524-rsa"
OcspDesinatedResponderStatUnknownCertNames="ocspDRUnknownIssuerCert-rsa"
