add script (setup-mock.sh) to generate test credentials for CMP.

Add script to generate complete test credentials for CMP mock test with option
to use classic algorithms (RSA) and Post-Quantum algorithms (ML-DSA, SLH-DSA,
and ML-KEM).

Remove hard-coded issuer DN and serial number from test_commands.csv and
extract them dynamically from the certificate referenced by rsp_cert in
server.cnf during test loading.

Add PQ algorithm patterns (ML-KEM*, MLKEM*, ML-DSA*, MLDSA*,
SLH-DSA*) to mkcert.sh to support key generation for these algorithms.

Fixes #29623

setup-mock.sh: replace sort -V with portable awk version check

replace CMP test certificate

update big_* test cert files with SHA2 certificate

added comment in CHANGE.md

Reviewed-by: Andrew Dinh <andrewd@openssl.org>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
MergeDate: Wed Sep 16 06:30:44 2026
(Merged from https://github.com/openssl/openssl/pull/30815)
This commit is contained in:
Rajeev Ranjan authored and Dr. David von Oheimb committed 2026-09-16 08:30:40 +02:00
1 parent 3bdd4a655b
commit 5f38725fce
29 files changed
+1818 -6540

No files matched your search

+6
View File
@@ -418,6 +418,12 @@ OpenSSL 4.1
*Mounir IDRASSI*
* Added script to generate CMP test credentials.
This work was sponsored by Siemens AG.
*Rajeev Ranjan*
* Fixed TLS 1.3 clients to encrypt 0-RTT early data with the first offered
PSK identity ([RFC 9846 Section 4.3.10]) when a 0-RTT-capable resumption
ticket has aged out and an external PSK is offered in its place. The early
+5
View File
@@ -56,6 +56,11 @@ key() {
dsa) args=(-paramfile "$bits");;
ed25519) ;;
ed448) ;;
ML-KEM*) ;;
MLKEM*) ;;
ML-DSA*) ;;
MLDSA*) ;;
SLH-DSA*) ;;
*) printf "Unsupported key algorithm: %s\n" "$alg" >&2; return 1;;
esac
stderr_onerror \
+32
View File
@@ -257,12 +257,44 @@ sub load_tests {
my $file = data_file("test_$aspect.csv");
my $result_dir = result_dir();
my @result;
my ($cert_issuer, $cert_serial) = ("", "");
if ($server_name eq "Mock" && $aspect eq "commands") {
my $cert_file;
if (open(my $cnf, '<', 'server.cnf')) {
while (<$cnf>) {
if (/^\s*rsp_cert\s*=\s*(\S+)/) {
$cert_file = $1;
last;
}
}
close($cnf);
}
if (defined $cert_file && -f $cert_file) {
my @issuer_out = run(app([qw(openssl x509 -noout -issuer -nameopt compat -in),
$cert_file]), capture => 1);
if (@issuer_out) {
($cert_issuer = $issuer_out[0]) =~ s/^issuer=//;
chomp $cert_issuer;
}
my @serial_out = run(app([qw(openssl x509 -noout -serial -in), $cert_file]),
capture => 1);
if (@serial_out) {
($cert_serial = $serial_out[0]) =~ s/^serial=/0x/;
chomp $cert_serial;
}
}
die "Cannot extract cert issuer or serial"
. (defined $cert_file ? " from '$cert_file'" : " (rsp_cert not found in server.cnf)")
if $cert_issuer eq "" || $cert_serial eq "";
}
open(my $data, '<', $file) || die "Cannot open '$file' for reading: $!";
LOOP:
while (my $line = <$data>) {
chomp $line;
$line =~ s{\r\n}{\n}g; # adjust line endings
$line =~ s{_CERT_ISSUER}{$cert_issuer}g;
$line =~ s{_CERT_SERIAL}{$cert_serial}g;
$line =~ s{_CA_DN}{$ca_dn}g;
$line =~ s{_SERVER_DN}{$server_dn}g;
$line =~ s{_SERVER_HOST}{$server_host}g;
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+13 -15
View File
@@ -1,17 +1,15 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICszCCAZ0CAQAwVDELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUx
ITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDENMAsGA1UEAxMEbGVh
ZjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9EKPVgvwSgO9C7UCXc
FRkl6q/Xbrd3EJohc02/0mlpXYzk9bETQxcUs3UyY1P/HCAxGb2kyMEcT/3bVUC4
3PuI861MM/dzbmWJbBFlBFIOC6537NDc+dMh5OKyYVcVo2/CIv8EQVYlhxRMT+ws
E5F4k3JQtWwqk7lpI8Rd7YU307LbUcmO6jZM9iaTcdILg/L+KLUKGIwOQBGbyuCF
y8DsMaJecQUzLyK77339pJIfnOzgtkFW1E6MP6KaY6iCgsdpmjRwrSxUyRC3938L
USSybMuHyhj9P+pKWXPEqfPFiuAeBWrhfSFdQpqACVAtbycYWoByCn1bRY1FrPBj
6G0CAwEAAaAcMBoGCSqGSIb3DQEJDjENMAswCQYDVR0TBAIwADALBgkqhkiG9w0B
AQsDggEBAK7GB08OLpPGY2QWJ++vZhqbFZAO4Y3/PsfnzKjM7OFyA6lJafqGXjmO
U+R63oHAJYhThKrpo4X91YTUgL8HI8eicM+vn3HQDRw2DKgoQcpTk9y3Hqj4YEhA
gRLzvd4Pe7kowVtNKzqjQA2WcerZC+5XEYd88JisB1Vxijm7KmYsmili3MbR3row
idelrt6UfyH23ytfurZvOOvawpm3Z8bilh6SY1WNSlRKwSntY9DOw8izTiimGlru
A+TwtQ5zObWfxB5oLQib13ttCh+0rZ7zAy35txFkiOAmUUYIyng6A8zsE4RO2RCa
BYjeQvaCjBl0fn24JCWKxuT7xtkCzXc=
MIICXzCCAUcCAQAwGjEYMBYGA1UEAwwPc2lnbmVyLWxlYWYtY3NyMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArQXEaGT43i/1H4P1k2qi6fCQLXOXf/lR
3qUzzFrogUTx351XLhSMPM14OVTBoGEKxjkX8xhKmFBYnyYD9QhQO0EG3cfq2DMH
i4/B/zNvPN/LTNp4d0ksSdvEhHDdIR6gQ+QLG9I6oZSrw6ESwNFpYfgLkk8vakoB
mQwqQjoRB0zO/05YH6NZaWp/tiPx7Kb5Z30j8DrVS0yNBU5lXqk0mi4xLmxYSVx2
3Hws1OFKOvTeazZ1hzZ/gag9MUEk2TDOroozdJu+WecfvuOlfXjxU6ipwKWW/qgx
NO/8sJwvskNHSHJlJ1pyhP6gf0xHvNKzm3MZMMjC9AIsRAs28YNjGwIDAQABoAAw
DQYJKoZIhvcNAQELBQADggEBAERbgLZPsH3EMYrL2hbYTgeZS/d8Ah8x42Khn3ew
TSBz2nT6Esi7juQOUu4UhXOzkgS42GeEauSWxIPM/+Tbc0xEuu9+Hode2jYPw2/u
EbVh0uP6zjHw5Tr6fN/f0IxAz6yyj28+r+ZBeWoDEUJGrMLj5LrBptB8QGqHJIaY
Q1PgjZkILpR+vSZbzUrx/sAfPOawMcJrQnn66SJ8+SOi7Sl4uq1FKcAkcSHDubIK
Ho4yYosEu4EyLM/DA8GhfSzSA7ttkYZXoVzFim8VCcvyNC9jd3PLh2Yl3MxPC5Ee
7cBQcqeRA+U35WmR+pV2LTYiyhntNrT+VETdkaFL5p2qW5A=
-----END CERTIFICATE REQUEST-----
@@ -1,44 +1,19 @@
Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = interCA
-----BEGIN CERTIFICATE-----
MIIDgDCCAmigAwIBAgIJANnoWlLlEsTgMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMMBnJvb3RDQTAeFw0xNTA3MDIxMzE3MDVa
Fw0zNTA3MDIxMzE3MDVaMFcxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0
YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEDAOBgNVBAMT
B2ludGVyQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7s0ejvpQO
nvfwD+e4R+9WQovtrsqOTw8khiREqi5JlmAFbpDEFam18npRkt6gOcGMnjuFzuz6
iEuQmeeyh0BqWAwpMgWMMteEzLOAaqkEl//J2+WgRbA/8pmwHfbPW/d+f3bp64Fo
D1hQAenBzXmLxVohEQ9BA+xEDRkL/cA3Y+k/O1C9ORhSQrJNsB9aE3zKbFHd9mOm
H4aNSsF8On3SqlRVOCQine5c6ACSd0HUEjYy9aObqY47ySNULbzVq5y6VOjMs0W+
2G/XqrcVkxzf9bVqyVBrrAJrnb35/y/iK0zWgJBP+HXhwr5mMTvNuEirBeVYuz+6
hUerUbuJhr0FAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFBj61iO5
j11dE30+j6iRx9lhwBcuMB8GA1UdIwQYMBaAFIVWiTXinwAa4YYDC0uvdhJrM239
MA0GCSqGSIb3DQEBCwUAA4IBAQDAU0MvL/yZpmibhxUsoSsa97UJbejn5IbxpPzZ
4WHw8lsoUGs12ZHzQJ9LxkZVeuccFXy9yFEHW56GTlkBmD2qrddlmQCfQ3m8jtZ9
Hh5feKAyrqfmfsWF5QPjAmdj/MFdq+yMJVosDftkmUmaBHjzbvbcq1sWh/6drH8U
7pdYRpfeEY8dHSU6FHwVN/H8VaBB7vYYc2wXwtk8On7z2ocIVHn9RPkcLwmwJjb/
e4jmcYiyZev22KXQudeHc4w6crWiEFkVspomn5PqDmza3rkdB3baXFVZ6sd23ufU
wjkiKKtwRBwU+5tCCagQZoeQ5dZXQThkiH2XEIOCOLxyD/tb
-----END CERTIFICATE-----
Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = subinterCA
-----BEGIN CERTIFICATE-----
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
B8/0Fc0HcrlPxqKcz7XOHfNtbAWOcg==
-----END CERTIFICATE-----
+28 -27
View File
@@ -1,27 +1,28 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAv0Qo9WC/BKA70LtQJdwVGSXqr9dut3cQmiFzTb/SaWldjOT1
sRNDFxSzdTJjU/8cIDEZvaTIwRxP/dtVQLjc+4jzrUwz93NuZYlsEWUEUg4Lrnfs
0Nz50yHk4rJhVxWjb8Ii/wRBViWHFExP7CwTkXiTclC1bCqTuWkjxF3thTfTsttR
yY7qNkz2JpNx0guD8v4otQoYjA5AEZvK4IXLwOwxol5xBTMvIrvvff2kkh+c7OC2
QVbUTow/oppjqIKCx2maNHCtLFTJELf3fwtRJLJsy4fKGP0/6kpZc8Sp88WK4B4F
auF9IV1CmoAJUC1vJxhagHIKfVtFjUWs8GPobQIDAQABAoIBAB1fCiskQDElqgnT
uesWcOb7u55lJstlrVb97Ab0fgtR8tvADTq0Colw1F4a7sXnVxpab+l/dJSzFFWX
aPAXc1ftH/5sxU4qm7lb8Qx6xr8TCRgxslwgkvypJ8zoN6p32DFBTr56mM3x1Vx4
m41Y92hPa9USL8n8f9LpImT1R5Q9ShI/RUCowPyzhC6OGkFSBJu72nyA3WK0znXn
q5TNsTRdJLOug7eoJJvhOPfy3neNQV0f2jQ+2wDKCYvn6i4j9FSLgYC/vorqofEd
vFBHxl374117F6DXdBChyD4CD5vsplB0zcExRUCT5+iBqf5uc8CbLHeyNk6vSaf5
BljHWsECgYEA93QnlKsVycgCQqHt2q8EIZ5p7ksGYRVfBEzgetsNdpxvSwrLyLQE
L5AKG3upndOofCeJnLuQF1j954FjCs5Y+8Sy2H1D1EPrHSBp4ig2F5aOxT3vYROd
v+/mF4ZUzlIlv3jNDz5IoLaxm9vhXTtLLUtQyTueGDmqwlht0Kr3/gcCgYEAxd86
Q23jT4DmJqUl+g0lWdc2dgej0jwFfJ2BEw/Q55vHjqj96oAX5QQZFOUhZU8Otd/D
lLzlsFn0pOaSW/RB4l5Kv8ab+ZpxfAV6Gq47nlfzmEGGx4wcoL0xkHufiXg0sqaG
UtEMSKFhxPQZhWojUimK/+YIF69molxA6G9miOsCgYEA8mICSytxwh55qE74rtXz
1AJZfKJcc0f9tDahQ3XBsEb29Kh0h/lciEIsxFLTB9dFF6easb0/HL98pQElxHXu
z14SWOAKSqbka7lOPcppgZ1l52oNSiduw4z28mAQPbBVbUGkiqPVfCa3vhUYoLvt
nUZCsXoGF3CVBJydpGFzXI0CgYEAtt3Jg72PoM8YZEimI0R462F4xHXlEYtE6tjJ
C+vG/fU65P4Kw+ijrJQv9d6YEX+RscXdg51bjLJl5OvuAStopCLOZBPR3Ei+bobF
RNkW4gyYZHLSc6JqZqbSopuNYkeENEKvyuPFvW3f5FxPJbxkbi9UdZCKlBEXAh/O
IMGregcCgYBC8bS7zk6KNDy8q2uC/m/g6LRMxpb8G4jsrcLoyuJs3zDckBjQuLJQ
IOMXcQBWN1h+DKekF2ecr3fJAJyEv4pU4Ct2r/ZTYFMdJTyAbjw0mqOjUR4nsdOh
t/vCbt0QW3HXYTcVdCnFqBtelKnI12KoC0jAO9EAJGZ6kE/NwG6dQg==
-----END RSA PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCtBcRoZPjeL/Uf
g/WTaqLp8JAtc5d/+VHepTPMWuiBRPHfnVcuFIw8zXg5VMGgYQrGORfzGEqYUFif
JgP1CFA7QQbdx+rYMweLj8H/M28838tM2nh3SSxJ28SEcN0hHqBD5Asb0jqhlKvD
oRLA0Wlh+AuSTy9qSgGZDCpCOhEHTM7/Tlgfo1lpan+2I/HspvlnfSPwOtVLTI0F
TmVeqTSaLjEubFhJXHbcfCzU4Uo69N5rNnWHNn+BqD0xQSTZMM6uijN0m75Z5x++
46V9ePFTqKnApZb+qDE07/ywnC+yQ0dIcmUnWnKE/qB/TEe80rObcxkwyML0AixE
Czbxg2MbAgMBAAECggEAAzGtOlzMJ/82+rcgaZwZLXwROqLneTzR2+wtJHN0ga0T
UVShvzTbkTnHzjh4Kezwr8/DrJYBC9vGhGBFcsNjBnJWXUdrWJoPOcPUdHtvbRkX
3dorSXnH1Vs3FFd9tYv6WxZ9dVeFrpBEis7RPk7/WjLOiou8rS0i52o36NNn7Lxg
o0znk04af13Hn3Yu83lIi8CLLEe92xmWzrJKMNpWCQTPA02IeemrkYOFJ/TJ6Y2b
oh+X2XIk0bg/4dxM4w1FMq977OrYLBDnpDfJG9d0WPtMh/Q0UGAjuzCFnhuLHmm7
VZPTU89MV9FS5emzdldqnmH6RCLg+EazrvQWMZiq5QKBgQDfARre0J8A3HkwxHCK
HQ+PQEvAlUneg/bL8CygT9M0eeZUVO+gtkAPP8Anr56venzVslf1ae4m0tvfd1wz
c57cs4Y58DquBAaN7VWPIOIKoJ9UMwAHssVYitW78KN7HG/AlqSPRKJz4jNG9lip
6pUDmL3bjtdsZQ3PTGWouc8UZwKBgQDGn3dRV7ChK7l70pn2JhYEeNnxYC3FHyAH
D8A2BZck1YNr1PacHQrzpvFpuxWPyDkmTA8jiAkyzNSz5POPvVm/fPg1GmqjK0tQ
F0re5U33E5m/gtcxk4W4U28uLBmYstjVl0j4oTzGtsFS2tHSgCF7k5AJzUo5Aewn
k4DG0SSrLQKBgQC4M/t0DTMpzPO2Gq0zCGov09Y+z5Hi4XJcZpkWGpnFAOQGyNnf
EGu9rNUWcvRK0oyHH/eT2dpD62x/G+LnBRw2BXxcI1j1IJIhbed8gJb2XFL/g9kE
guCMELIXud/v8z9D/6sSRIlD25ariRUX1ZMdE2/QCh9bg+VyVBKs2j55BQKBgQCK
24c2FeEE/CWDXFuIi13PKJHtPrkg2z6v0SImYkglVyO2qj7yKxex+V9C9KkBSRAz
Ju9afss3eZ2mWoSwU8c/qOV5cotkoWrYhkAwjgywlEJjcdxx61mL4MCUff4zE62l
vUsljsuHfNKw0wvnZu6Bj0senyeprR9lF6jq1eIVzQKBgENiD4HzP9nvMmtWM4x1
dKVfSzmwuJaqPmThQJN4qeme007VpYtdEuFRvYdwMVQUlmWd69xyiTtBTIAHWqU5
76i9P62RJBWTziTUSBsD+fyMQYqldnlufyPFQVqSsG2/XfBhHMlHSftqKMHQHgZY
ZFbspUmdTyd9URkmOEJLiUwU
-----END PRIVATE KEY-----
@@ -1,11 +1,18 @@
-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIBAzCBtqADAgECAgH+MAUGAytlcDASMRAwDgYDVQQDDAdSb290IENBMCAXDTIz
MDYwNTIwMjMwMFoYDzIxMjMwNjA1MjAyMzAwWjASMRAwDgYDVQQDDAdSb290IENB
MCowBQYDK2VwAyEAGb9ECWmEzf6FQbrBZ9w7lshQhqowtrbLDFw4rXAxZuGjLzAt
MAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFKKMwfhuWWDT4DrnXJYsl6jUSCk8MAUG
AytlcANBAEG62N+3Go9h1ekWyQMf1hYFQMPQF/XVP2EH1euP7mVxJt0mquGpVsm+
qLt/W4xBKiu08Jfcv4Gxi6CjgOekGww=
MIIC4DCCAcigAwIBAgIBATANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdSb290
IENBMCAXDTI2MDgyNzEzMDIxMloYDzIxMjYwODI4MTMwMjEyWjASMRAwDgYDVQQD
DAdSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5w9TxEfD
dVnSll5Dv1lcgAmsxVXUHMYTnExTA6UkbmjJkhXxWldeYidWvXtl5BB1L6DXuyx4
Zh14WfbiE0qYBG5UCN25B+oVgKbbFhZr0vSKJ4+wIl1XiFMpS9vTogZRSIccIQ9K
wgKz/L9xoS9Vd5FOKnXydRILTAEwZ95ZT2A8Io0TTQclWvaq9cE7miUmty3bQ6Ob
Fe7/+DfebSULecHip1+Zw2u9Vv5iAIGOdfStbYRRrrKSzkwLiaki9ZYTkMFIV9r+
druBQ1UdM4rdu9MqFKpokrIenrbWnGRdklNrcNOldX923ZdR+HW+5MmjylTzEL2G
1EKUflcoUmT8EQIDAQABoz8wPTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB
BjAdBgNVHQ4EFgQUMQKXiGGCOFK2HECOu1/TJeoe9lcwDQYJKoZIhvcNAQELBQAD
ggEBAMUFrSAb6ZXQbQ3pWTNn2P28iHgqh3kZsQd9SbjFTOaeTabl7rRDMpkxSra2
WRgzLwJvPn/YxQCtPUSVpiNmc5bClTc+NxkeA7+EgdR/9reUET0H7y8LuUNdcBuV
epwNhmue9iQnB4Gc60wzjQYJ5gjcyKCGXNKkQJaCIPk+cDmp/oAPc63Kt6NsVxW/
50Texql7bV/h35HVm17m8YZDl+or9GLf18fzpxErDry2cfyaTQVrUzHMwor5sJw+
VZEXKYccgg33TpUac/qCt4w7e7tJjdtEVpKpYSuT937m4+dZEmwtshjjw0yXamXY
McsqsweWQbtx8C7I27Lb35S1ChI=
-----END CERTIFICATE-----
@@ -1,13 +1,19 @@
-----BEGIN CERTIFICATE-----
MIICCTCB8qADAgECAhR+y2i70DQe9ryvJ8uPJO8qOMfX+zANBgkqhkiG9w0BAQsF
ADASMRAwDgYDVQQDDAdSb290IENBMCAXDTIzMDYwNTIwMjg1N1oYDzIxMjMwNjA1
MjAyODU3WjASMRAwDgYDVQQDDAdSb290IENBMCowBQYDK2VwAyEAGb9ECWmEzf6F
QbrBZ9w7lshQhqowtrbLDFw4rXAxZuGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0O
BBYEFKKMwfhuWWDT4DrnXJYsl6jUSCk8MB8GA1UdIwQYMBaAFHB/Lq6DaFmYBCMq
zes+F80k3QFJMA0GCSqGSIb3DQEBCwUAA4IBAQB6Eg6lRxiUUXMGO8l7XYJ3d49x
YDqwt+fvaQcnwVN3kJ1GAb/0lcB6k4mt8jHizT2HKw1ZMHK7CGbHYAMKvtxML3px
GXqeEQO2IlWU23kEyPhX/yoOG0cp9QWm4tdTvr3xCr4E4rNZJUNbSqyOCdcAs39H
4dDBHBQrL530/XquKdXmq4fAwyKIGxNW1WTohKq9Yzd3NK+0Ku11Ny86FIzB3iks
a8NdsE88xfBQcQMo9omZZbPQBg7YMId4zRyDFplrLWZjhoNmStmTHTX/nOYUMGm3
75iikSsNRJl4A/ZvnZrDA2am3ihvMghVIN4IVfXrk5tHiZ/XHZuu3vetK2jp
MIIDBTCCAe2gAwIBAgIUXpL1fyjTebfAPfk+H0txgotBIUUwDQYJKoZIhvcNAQEL
BQAwEjEQMA4GA1UEAwwHUm9vdCBDQTAeFw0yNjA4MjcxMzAyMTJaFw0yNjA5MjYx
MzAyMTJaMBIxEDAOBgNVBAMMB1Jvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQDnD1PER8N1WdKWXkO/WVyACazFVdQcxhOcTFMDpSRuaMmSFfFa
V15iJ1a9e2XkEHUvoNe7LHhmHXhZ9uITSpgEblQI3bkH6hWAptsWFmvS9Ionj7Ai
XVeIUylL29OiBlFIhxwhD0rCArP8v3GhL1V3kU4qdfJ1EgtMATBn3llPYDwijRNN
ByVa9qr1wTuaJSa3LdtDo5sV7v/4N95tJQt5weKnX5nDa71W/mIAgY519K1thFGu
spLOTAuJqSL1lhOQwUhX2v52u4FDVR0zit270yoUqmiSsh6ettacZF2SU2tw06V1
f3bdl1H4db7kyaPKVPMQvYbUQpR+VyhSZPwRAgMBAAGjUzBRMA8GA1UdEwEB/wQF
MAMBAf8wHQYDVR0OBBYEFDECl4hhgjhSthxAjrtf0yXqHvZXMB8GA1UdIwQYMBaA
FK6Bq3xWRlpsnsrY0m5hQB7CIMfBMA0GCSqGSIb3DQEBCwUAA4IBAQBHg5CtnsyW
nowtTPaermxY1XzwNmfOVZpItW1Hc5CEGNg2SIJ2syI9g8jvZWOQYKw9XKyaWtey
eLA51mX1lb2/6+rmO+Usg3yghr1zZhJkP57zpnZZ3UGNo+vKdwkhPUKb+880oNRu
2uLj4rFkiaBRfmqgmF8hT6KXApqfTpQtQMVGEfOPMpzAvG0cA9fnZP267tXXqKDs
SimkERvxfV7tT99p9jSfT6ycVK+Ma7IDmWf2saKHhvPuBsyu7LfeaFDGtrE8zTjH
VUkd5rniKKYD3pWuGZyMQr0xXxn7UiJWRZAxZ0SbaKUAdmnIGINrIZWXvObNNcVI
mk0mbHTqgCIz
-----END CERTIFICATE-----
@@ -1,30 +1,30 @@
-----BEGIN ENCRYPTED PRIVATE KEY-----
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
-----END ENCRYPTED PRIVATE KEY-----
@@ -1,12 +1,10 @@
-----BEGIN X509 CRL-----
MIIBtDCBnQIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJBVTETMBEGA1UE
CBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRk
MRMwEQYDVQQDEwpzdWJpbnRlckNBFw0yNDAyMjMxNTQ3NTFaFw0zNzA5MTIxNTQ3
NTFaoA8wDTALBgNVHRQEBAICEAcwDQYJKoZIhvcNAQELBQADggEBAFyUvxWlxjLA
DjTq/N26EXH6GZxmDyr5tjPk1KQBRY/jPNWvxloXFIH7PAtzInJmEoF2PCDw290Z
BRuftPaxVW1tcHAsZzL5QFSGa2wWSLGCHpZCg9twcLQbGrOq7+S2M2ZjOVxSMN1u
ok/QLhuqniPieOUetzafqUNknYJahILnomLhPoQBzko9EdtBJkygOGdj/3T07iLy
hicW0QlBA5B9oCIUmknnx4kCh6VlsSq9FJTs2HXZhJHF0VVFbAlbjHMFkwjTh31r
Bc8u1D35T0kqwbTbVmtPghdpW2uJ+9LsWXdrlTGGlRJXA+3d13hKlFMFcQEavf4h
wVlABZ6eEPo=
MIIBdzBhAgEBMA0GCSqGSIb3DQEBCwUAMBwxGjAYBgNVBAMMEXNpZ25lci1zdWJp
bnRlckNBFw0yNjA4MjcxMzAyMjRaGA8yMTI2MDgyNzEzMDIyNFqgDzANMAsGA1Ud
FAQEAgIQCDANBgkqhkiG9w0BAQsFAAOCAQEAbCFkWsDbA+CtlUADSqxQzyNQW3VF
EoASiRd6da3L99LVwUjBZ4U1GwlDCCjT8xPpZwX3qrcYwU2gWenx1jqj4IB9kSd5
3tcC/GKkWGLqYeuXDmr0wfSEDS/BwRfl66+64MKsp0yT3asbJ1seuTwymr/9EPuX
qUiJcoytkW0B6wTxPVptjp9rqfNtixdUdvFpDqUUcXtquGWEImVxRpW+GtQow4KU
ZDSM1Xxp2vKwaVqONdf8pgutvvTE1joDJVRilnBxbeIvrlFmD/lIStePI/oUaLlZ
DXf33SPEtqnbkED6z5oYxtHPbEUunMhsvBMH80mR9kmKs3rlJVTW+9VTCA==
-----END X509 CRL-----
@@ -1,14 +1,19 @@
-----BEGIN CERTIFICATE-----
MIICMjCCAeSgAwIBAgIUcaAacl/D9rcbM5ytumMvdL3J+HIwBQYDK2VwMBIxEDAO
BgNVBAMMB1Jvb3QgQ0EwIBcNMjMwNjA1MjAyOTI0WhgPMjEyMzA2MDUyMDI5MjRa
MBIxEDAOBgNVBAMMB1Jvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC/mhXWzc26ztIg2Duia7kDG54SAr3uaHk9TeGBmmWJIVoRKYvaosZ4/rT2
hez/rxcNdVbi61QsI6MuHSen7lfLeLcZENeAFnvZAN7bdaqpCqpoGVBVWbVbEb5q
ZG1kkRZ1IiyIUG2T7x0ESUeHZZAOEM5aocYdBqtCAk/EYH3sxGExKVtPArVPkoBY
6WqLmYlbkvq82tDtOtr9hx4fvR9TR8lg5eEHEz3Y3APVttV30Y9gVKqt2tWPX1u+
jrdezFl257HlAetGRapPnDmaAAdoSAKpatL/rir1NH1QTCsHySJlmDeT3+Kb7MHA
RQtNm7SvygwSSmNtOVcua3wQwGrHAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYD
VR0OBBYEFHB/Lq6DaFmYBCMqzes+F80k3QFJMB8GA1UdIwQYMBaAFKKMwfhuWWDT
4DrnXJYsl6jUSCk8MAUGAytlcANBAHFKIp57/EisMF84ZvOFzxnS2o8/qKsRrrh5
w1nBOmOvavZxbtFyO9batLEWikNV0LDFIHw9g3uYmgB1VUzhcw4=
MIIDBTCCAe2gAwIBAgIUV8Er52Kc37kB4LMVNXy/vi8A4CUwDQYJKoZIhvcNAQEL
BQAwEjEQMA4GA1UEAwwHUm9vdCBDQTAeFw0yNjA4MjcxMzAyMTJaFw0yNjA5MjYx
MzAyMTJaMBIxEDAOBgNVBAMMB1Jvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQCuU56h761StwVmWzZ3HyiEAgghB7kUfrzJgiKyLm3O/s2wMlgv
AK7f+vYEuBcqP8T0i+vOr2mtYbAhLUk7gqv89XiVv6P1U5HN3NUw3wXDz+4qYrpG
9CQhAslEi8Le7NORAGcPzd9DxeVxhc5fbCJCP/rN7R4ttO7BZvd2igt3JwAYtaDY
R2ooHXkp+uymuRF+G/EFJcreaQtdcfxYHb25BA+hl4BHIIMkjH0NIrN54e251/Ba
cjikKz0czNXOcRGPh+b3A9eIRH97GAmMSKHs2J/dIlNwhPjzKl/rsPTBqnvPt7JS
ugEHbaXTxt6LMvRe5hMeUwOzrP+2xeqWKrgxAgMBAAGjUzBRMA8GA1UdEwEB/wQF
MAMBAf8wHQYDVR0OBBYEFK6Bq3xWRlpsnsrY0m5hQB7CIMfBMB8GA1UdIwQYMBaA
FDECl4hhgjhSthxAjrtf0yXqHvZXMA0GCSqGSIb3DQEBCwUAA4IBAQDCT80khCV2
+B1UE8z77MGD7C65aIs/uS2s8oheP8RI4d8dSGYwIt5C+16tJ7EB2fqVDd+McHx6
xxCSY75/s4b5M0k/IMHMtfRuMAz9Q7VVrz0H/g3XrhKbdcPoahn8OopqRsWYa1YZ
88CZU1imsH/dEurW3B7uzmojcF7t5SyldayU0P43rQxEsiZ4gAoC2kehaqAE9mJw
LIZXm2F9a4YvWu4PTNWUV2OHQHPN291jzAu5O8NdWLoRncdIU+Scvyiyh5FR3PgO
xZW4Zpn2MEocT7oJS49sfPJGgeyKwOo2bXZG1zGDgRSpPaU46unmVklnWIsI3eUQ
t4KFJGwzzFv5
-----END CERTIFICATE-----
@@ -1,46 +1,18 @@
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC/mhXWzc26ztIg
2Duia7kDG54SAr3uaHk9TeGBmmWJIVoRKYvaosZ4/rT2hez/rxcNdVbi61QsI6Mu
HSen7lfLeLcZENeAFnvZAN7bdaqpCqpoGVBVWbVbEb5qZG1kkRZ1IiyIUG2T7x0E
SUeHZZAOEM5aocYdBqtCAk/EYH3sxGExKVtPArVPkoBY6WqLmYlbkvq82tDtOtr9
hx4fvR9TR8lg5eEHEz3Y3APVttV30Y9gVKqt2tWPX1u+jrdezFl257HlAetGRapP
nDmaAAdoSAKpatL/rir1NH1QTCsHySJlmDeT3+Kb7MHARQtNm7SvygwSSmNtOVcu
a3wQwGrHAgMBAAECggEBAL4rWle8JuCuHGNbGz1nO9d41tg7fnYdnZAaN6OiMfr8
bl+wY84aV3GKJOS2InfYOcIy340UU5QHvxOq/kwwRVV/uAOZ8rqAFmZY9djOnhdv
rZjq3xAHnPgJ0XvZt7XkR2z1AUw+v7Pf1WYGsYcSZ/t99MKB5Je0odA/aRqZRwLy
YflbsnAJtxdJ6fsiVCSJcU76V8sxfiCimw6ppLMEp3zCjveQ5Lv0eVoL2zNYeh+l
GiSwqTqaR+WJekkDiXRd9KYI19drf7OkTII1DtOd6bgvKX3zv2lNiere4J4k7cAP
rW6fBFgtSq2oklTpWUlXRH7XQAgDtDvldXdlKaj96dkCgYEA8KPSu5ywg8pjCofE
nLtJTfVyD2g9tgNLj9dI3kuSniZU51kOtk5rZZwL0S8piGczL908aV9DIWdXWsND
5hlXquKUTSjxPYEzZvaN+tvf9e0AcY/D/UaK0mKPjEbh7vg6pS77aZZz2EL2inOs
dam8famOOC9RUkxH5JWa3UV4UhsCgYEAy9T0wPQctjuvDkZQTqKEKsHrmrgY2PXT
Re8DDGI8hxjYb8l+NoFQ7eiwTHir/DULupxQoBBUQtS+idQzUu02tzLMnGcjHNwh
Tu+vZ4xlVnXxfgIRjDKkfQjiAC5SLzoNO9Jn8g4eS/1mEPXhQ0TXIsFonZDypp/n
RMp21DkvdMUCgYAIMgwjR5rbYjEtUqJnlBlTBmD0FWDEqigQpgxdRcWgjT2nA2l0
3AbcVwwv+6M2eg1MPASqsgvfP13CQZQ2afaKY10Zo6NTrOrLPupm+MYP4hp5w6Ox
JI3lzGWHKYLYWKvmpEr7tZwMaXtsC7R77WP2A6hMUZA7dU2dg1ra3lrSsQKBgQDA
sPIsUtmtwOBtqzUSEXrGfQqA+larDEGNVDVaiKfVwzwg+aeyWS+rqRS5Rj64L2GG
KW3i020EvN/fplZap9vY9lIN7UZ5avSmDdqRFl1ajiccy1HRarKrbTFRoHibItMN
4YvYfVZQ2h2aHQe2Myb6OULv6e4qbPIRyyDo4aKmTQKBgQCadq2JfICFIP9Q1aQn
93oD7Z4WcYs+KsLYO+/uJxWMrn0/gv90cGrSfstJqDOHnRq4WKUcgK9ErxaE4LkW
sD0mBhRM3SMxnRJZRO+6roRdehtjHkvzKu75KjcsuwefoMs2sFa4CLQ1YU2vO3Tx
dgzpnKS2bH/i5yLwhelRfddZ6Q==
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
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
1aRHVCZrZP6mq/YntYou/m7eXGo=
-----END CERTIFICATE-----
@@ -1,12 +1,10 @@
-----BEGIN X509 CRL-----
MIIBtDCBnQIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJBVTETMBEGA1UE
CBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRk
MRMwEQYDVQQDEwpzdWJpbnRlckNBFw0yNDAyMjMxNTQ3MzhaFw0zNDEyMTcxNTQ3
MzhaoA8wDTALBgNVHRQEBAICEAYwDQYJKoZIhvcNAQELBQADggEBANfH339j7LXB
9X+Vpk1xjTSRwoIQ7C/LZbOJ4tiVaNsBd+3rlOgJEnYPuB883ylAy3TOPn9taMXe
kmPebHC4WDhESNbwm8kdFNz6Ghvvn4TuDcSgWV8xxtw5AHVfnCs8801KI8pcn7K6
MwGdJ7CPvB38SFn5ssKQueLySRfL+bRWXpgB79hjFE7J1ukaUr2xg3q4YFQwexld
xuaIR0AiFyTVKWTWLEdAKRzPiYTmx1ZMyYEdwh17l6nWh/UgfUEqmK9ub2Mqh20h
g7/Nwf0iaQS7bui7DgzkW76dbXcmAmTkU8VLznOLIheus8uj6Kl2TewO5PvjVGeu
Fgt7CED5epw=
MIIBdzBhAgEBMA0GCSqGSIb3DQEBCwUAMBwxGjAYBgNVBAMMEXNpZ25lci1zdWJp
bnRlckNBFw0yNjA4MjcxMzAyMTlaGA8yMTI2MDgyNzEzMDIxOVqgDzANMAsGA1Ud
FAQEAgIQBzANBgkqhkiG9w0BAQsFAAOCAQEAQHKy+cGe8hY+lZD1xzOoLNLp1/wt
t1n49pgrSCqDPI4VZc3cDrm8AzyDdmI1gGRQyGvMFOeWF4w5mBa+r9+M0FmomEkx
9Nz30ZGCAPeF5o02g4Bu/n7KvcY2gOVj+C9YTCSrMbFY1ITLK0L1t+QGF4e878ZI
NoMfNAgh5oiy8v1zeB91jeGCDjW4LzF1Dzcw9zN6Rdot9ReSeC23wsy7J2/6f25+
di0jQHuGtsAVgSxjkRNtkUV9vbS4pWiC+LR7HK48RtsU8KTRn2dHkhsfkBoRJznX
cVfXyLBiS6O/oXW0PAjK7jxfXD8FqRpa9lStOxWZKRdpYjOaZvBribxjog==
-----END X509 CRL-----
@@ -1,22 +1,18 @@
Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = rootCA
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
@@ -1,25 +1,20 @@
Issuer: CN=Root CA
Validity
Not Before: Aug 8 13:28:36 2024 GMT
Not After : Apr 11 13:28:36 2127 GMT
Subject: CN=server.example
-----BEGIN CERTIFICATE-----
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
MDu4SRs=
-----END CERTIFICATE-----
@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDVXWBq3/xh7kiq
jBFIQ6VttlJdqphJsWGSNbH8OgQlDG15/7TVyelcHDvgq7O4faPebb3g3ddavxRH
EUJepoLQYcF/3RNG5gmFBw7y1PwaZNIKrSCrIGuW8K3MxBlTVdwBHaSz74q0SVNd
igUc8dzhRL/F1+J3GVdclwt17ohDcQ/KbMG0slCnd0ZsWA8Rv/F2JFquOUK3UWcp
4dBVMG8X5JHqrfgowkNvomSp+52YkmJIPusNT4JKiv8/cu6Wta6hwZi6732QdW3/
WlKeq/XAftCHQ9uFBwcPfTh6/dHT7mUd0+o5aoc37krT4A1u9XCswr3xbvOSlV6p
8KFllZONAgMBAAECggEADLTt7A+A2Vg2jamf0dztejY0e42QWjstI2b9PZc67fXq
gyx+WYkX07t+uWegYWliG/oPJ9guXiIpE/5sJHToL37S5kmFP2CtynVcJ4wVo4DD
nY0n9+kLX0bgIuS+2V6wpoRcbbbjXM9NHrH8kfe5ftT4UtEDlLI2qLX6IcDd7p4u
OYjILChR8GSGTw96yIy2Ws/1Uq9PMw64JoT4RcK5QqnkcPMDFRH1SeLOL+zXP2c4
nEl9yOy3HauZKxwl/Ry/XK1s3DdjopIAU29ut+hAuMiTb06kzZnumL9NoplKoZtU
otw/gVcCKhT+Ep+p6i8InLF0XEME8A0qUR0niWebgQKBgQD6vkxR49B8ZZQrzjw4
XKs1lI9cP7cgPiuWlDHMNjYou3WbOaGrMeScvbB1Ldh9A8pjAhxlw8AaV/xs4qcA
trmVmSISVMVyc1wSGlJXWi2nUzTNs9OE3vj22SyStihf8UUZtWwX2b5Y4JrYhA/V
+ThGGqHR03oLNLShNLtJc2c7YQKBgQDZ1nkibEyrepexw/fnwkw61IJKq9wRIh1G
PREakhbe9wU5ie0knuf9razt7awzQiwFmlixmWqsM7UEtLuXNnNPciwdrKhhbvrd
vD/rkbIEHEPllIhFlDtOzn3hRBWTzWmXFjpou/2LvHTSbVis4IYVZymTp2jb1ZLs
7VbiG9JTrQKBgQDc6n75g1szzpdehQT/r33U5j/syeJBUSU8NPMu9fB/sLHsgjlT
SNEf2+y1QSBE/Or6kmiMrIv7advn30W+Vj9qc5HWTsPrk4HiHTjA553jl2alebN5
lK4LZspjtIQcC8mS3goPdXPEgJdM/gWpwzr2YQ6DfOxBJT2j7n64NyoT4QKBgH7/
yx+GhCx1DHtXBPDZFhg2TL+78lEK0oZgk9gp06up2CHzh44SFq6O0oLkTcCUk5Ww
poTkLIy4mJBlzfgahp+KsK2cO46SZS9g0ONFzcMXt33hWpE2Gl2XhUwPpYTF/QlY
rDTjZK5S8Mi9dzVSsNlJi7PJphiEK2R1+nFYRwcBAoGBANWoIG85jpXAOnq/Kcgx
Rl3YivR0Ke6r1tFlP58rT7X3EkiboXyQl5vLIFCAwUte6RGrLl1dy3Qyh80B9ySL
Jx6vj42CK7vgv6A96TuVYhnXTnEI6ZvwAQ2VGaw4BizhjALs/kdSE/og9aSCs3ws
KQypwAFz0tbHxaNag/bSAN0J
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDoCKcFmgwn8X2h
YAHjM7v3mG8XMmN2BwJrsQLsO/qrf6hvrhmZRjPdrOVZGfSVTzxjgwA59VclE1dE
17cITE3YPzOIRqvDqyOlx6vbJTVVxrhE1jE4f3iQVivNSO6Qt0LHqIItFWZ55iVi
S81BSzd9f1JYx5S1I/Ua0gtElOp5goVHGEQRMB/5mdr0vDHrtVsJih2povBQ41Xf
UhIVb62HI57tJnow33ELQe2pLaZ1TvYApD5B7Wrw+O6zK3pwS/CpWNJ44XgKtJ30
OU31OAn3Og2e51Am1Zi34AMnrcg8vWf6mkC+nV6ecXcWUxPfrz+f6ZOYJxowLmnI
9gbpEg6pAgMBAAECggEAONTLsdXMBemCU4j8FV25u3hIt1YGYeVwHJffpyQ+rown
IWlzSCUXdYNQLk1q6DoeyKHQp6F1fXV6AbjTEfN8eotqUAW9MsDjS4q3B0cbA94X
Cncq2ZNxIGsWseJb2jKkptnZPnkYHyG1RNjbllM5rWGGtgt2GxLKSQ4qp9rQfj94
CD2cWX9CH6Qiv/tYPOxFICv6j4YDvUSuCiJpDXUeQXqhsN5PRGHbW/7K4gPbV9Bg
VMQDuBbr0NK333HLMxioWf+GbOWqhFYfbk33RPe6owaL/raHkJgsgClFKbTIWERY
z6dbBhyiC2+7Fite4XyYHTLqabfCiEDqJujiaI9THQKBgQD1bTQhePlu4dBEvIbn
wv+1O861cYKbiE2QB+E5pPnoV/Mho6Pxuoc+oNf7ksxy9Y1icSIK5wytVgcMJdu9
O72PQKmWInD7W0IPBdkup0mkJvI4AyBcgKw7uWjfA8Krr9Xn775Z1Y+34wOEKCRj
toZtV6XUzYZ6vHoHGh6kBLAPDQKBgQDyB72WHHnjdKSZpIIkP9Wq1hdiyezu547j
4R9OY07PERrByRz4rBrKq2rL/mOzCSsPl9gXTtvIPjE7oh4V2zgrDeJY/HoW4OrR
LI9cPYpPzwaVym8RS5IdbBk1MpBcOD0zpDpv+Llgmxj/1IzKfGUHcRBu9qyYnCF3
V8xdZxu3DQKBgDK4ZtWkEqh/snMCIz8yZXYm7glBdCSAfscNWdZ36c3Cn1SMZQ1H
5ztiMkCjje0UIiv+BXMLXOtVpA82o7rv5bT9QA7u/zpzGavRIZkqqWVrRxOcUcvM
K8wL/UhZlpm0tRhBy6z1HcZ6+/cL9LlGt3FRc8wOzYP//5gIJdzvuxLhAoGBAMoQ
clTwA0dF6+ImOU0ASmftg+rDQN+YTXCtU9DDElnIIvmk6V4nedq40FntUdl4jw3e
rNeQy+dbHQl3aPzAYB154v5+E4QkVYc7V5kf++hzpEDMmHvtBtkvlcAXLfUAMwB5
XRx8oHAqLO3xy3WF82cKGzk5EpH6z+nuUD2uxrHFAoGAB9/Vbw2hpc+mqSmDAVGx
1fGDzp1V7gx81UiSadkJAYcIEnQRYjitD4uJ3ZhnXlOzHeyJXsPy/c99DUGONod6
XD4j2cI40fI/hbFDIL+RdZ+q6WC22iKJ1IA7i49cSgYs37URTn5RqKnMhkmAthga
8TbBhVvZLWrcBa/eFNt9YXU=
-----END PRIVATE KEY-----
+197
View File
@@ -0,0 +1,197 @@
#! /bin/bash
# Copyright 2026 The OpenSSL 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://www.openssl.org/source/license.html
#
# Script to set up credentials for CMP mock server and tested client (signer)
# Usage: ./setup-mock.sh [PQC]
# Using the optional parameter "PQC" will generate certificates using PQC algorithms,
# otherwise classic algorithms are used.
# Using PQC algorithms makes testing take longer as it is more computationally intensive.
###################################################################
set -e
#set -x # for debug
mkcert_sh="../../../certs/mkcert.sh"
OPENSSL=openssl
# Specify whether PQC or Classic algorithms are used
# Possible values: "PQC" or "Classic"
# Check if first parameter is PQC, then set USE_PQC accordingly
if [[ "$(printf '%s' "$1" | tr '[:upper:]' '[:lower:]')" == "pqc" ]]; then
OPENSSL_VER=$($OPENSSL version | awk '{print $2}')
if ! awk -v ver="$OPENSSL_VER" 'BEGIN {
split(ver, a, /[.\-]/); split("3.5.0", b, /[.\-]/);
for (i=1; i<=3; i++) if (a[i]+0 != b[i]+0) { exit (a[i]+0 > b[i]+0) ? 0 : 1 }; exit 0 }'; then
echo "Error: OpenSSL version 3.5 or higher is required for PQC algorithms. Current version: $OPENSSL_VER"
exit 1
fi
USE_PQC=1
fi
if [ -z "$DAYS" ]; then
DAYS=36524 # 100 years, with 24 leap years per 100 years until 2400
fi
if [[ ${USE_PQC+set} ]]; then
alg="MLDSA65"
# Central key generation test(s) will fail as leaf cert is required
# for encryption
alg2="SLH-DSA-SHAKE-192s"
else
alg="rsa"
alg2=$alg
fi
# algorithms for server certificate chain
server_rootca_keyalg=$alg2
server_leaf_keyalg=$alg
# rootCACert update test case
new_rootca_keyalg=$alg
# algorithms for client certificate chain
signer_rootca_keyalg=$alg
signer_interca_keyalg=$alg
signer_subinterca_keyalg=$alg
# signer leaf uses alg2 to exercise algorithm diversity in the chain;
# for PQC mode, alg2 is SLH-DSA which is a signature-only algorithm
signer_leaf_keyalg=$alg2
# CMP server certificate
rename_serverfiles() {
echo "Removing intermediate files and renaming mock server files"
# removing unneeded files
rm server_root-key.pem server_root-pubkey.pem newWithNew-key.pem newWithNew-pubkey.pem
mv server_root-cert.pem server_root.crt
cp server_root.crt trusted.crt
cat trusted.crt >> big_trusted.crt # works also if not yet existing
mv server_root.crt oldWithOld.pem
mv server-key.pem server.key
mv server-cert.pem server.crt
mv newWithNew-cert.pem newWithNew.pem
}
remove_serverfiles() {
echo "Removing server files"
rm -f server_root.crt trusted.crt server.key server.crt
rm -f oldWithOld.pem newWithNew.pem oldWithNew.pem newWithOld.pem
}
gen_server_credentials() {
remove_serverfiles
# allow time to sync file system after deletions
sleep 5
OPENSSL_KEYALG=${server_rootca_keyalg} \
$mkcert_sh genroot "Root CA" server_root-key server_root-cert
OPENSSL_KEYALG=${server_leaf_keyalg} \
$mkcert_sh genee -p serverAuth,cmKGA server.example server-key server-cert server_root-key server_root-cert
OPENSSL_KEYALG=${new_rootca_keyalg} \
$mkcert_sh genroot "Root CA" newWithNew-key newWithNew-cert
$OPENSSL pkey -in newWithNew-key.pem -out newWithNew-pubkey.pem -outform PEM -pubout
$OPENSSL x509 -new -subj "/CN=Root CA" -CA server_root-cert.pem -CAkey server_root-key.pem \
-out newWithOld.pem -force_pubkey newWithNew-pubkey.pem \
-extfile <(printf "basicConstraints=critical,CA:true")
$OPENSSL pkey -in server_root-key.pem -out server_root-pubkey.pem -outform PEM -pubout
$OPENSSL x509 -new -subj "/CN=Root CA" -CA newWithNew-cert.pem -CAkey newWithNew-key.pem \
-out oldWithNew.pem -force_pubkey server_root-pubkey.pem \
-extfile <(printf "basicConstraints=critical,CA:true")
rename_serverfiles
}
rename_signerfiles() {
echo "Renaming signer files"
mv signer_root-cert.pem root.crt
cat root.crt >> big_root.crt
cp root.crt signer_root.crt
# $OPENSSL crl -in signer_subinterCA-crl0.pem -out crl.der -outform DER
mv signer_subinterCA-crl0.pem oldcrl.pem
mv signer_subinterCA-crl1.pem newcrl.pem
rm -f signer_root-key.pem signer_interCA-key.pem signer_interCA-cert.pem \
signer_subinterCA-key.pem
mv signer_subinterCA-cert.pem issuing.crt
cat issuing.crt >> big_issuing.crt
mv signer_leaf-key.pem new.key
$OPENSSL pkey -in new.key -out new_pass_12345.key -aes256 -passout file:12345.txt
mv signer_leaf-csr.pem csr.pem
cp new.key signer.key
mv signer_leaf-cert.pem signer_only.crt
mv signer_issuing-cert.pem signer_issuing.crt
mv signer_chain.pem signer.crt
}
remove_signerfiles() {
echo "Removing signer files"
rm -f root.crt signer_root.crt newcrl.pem oldcrl.pem new.key signer.key signer_only.crt \
signer_no_SKID.crt signer_issuing.crt signer.crt issuing.crt csr.pem
}
# cannot use genee() because this uses a self-signature for the POP in a PKCS#10 CSR
genee_kem() {
local cn=$1; shift
local key=$1; shift
local cert=$1; shift
local cakey=$1; shift
local ca=$1; shift
echo "Generating KEM certificate"
$OPENSSL genpkey -algorithm "$OPENSSL_KEYALG" -out ${key}.pem -outpubkey ${cn}-pubkey.pem
$OPENSSL x509 -new -subj "/CN=${cn}" -CA ${ca}.pem -CAkey ${cakey}.pem \
-out ${cert}.pem -force_pubkey ${cn}-pubkey.pem \
-extfile <(printf "basicConstraints=critical,CA:false\nkeyUsage=critical,keyEncipherment")
$OPENSSL x509 -new -subj "/CN=${cn}-noSKID" -CA ${ca}.pem -CAkey ${cakey}.pem \
-out ${cert}-noSKID.pem -force_pubkey ${cn}-pubkey.pem \
-extfile <(printf "basicConstraints=critical,CA:false\nkeyUsage=critical,keyEncipherment\nsubjectKeyIdentifier=none")
rm -f ${cn}-pubkey.pem
}
gen_client_chain() {
echo "Generating signer certificates"
remove_signerfiles
# allow time to sync file system after deletions
sleep 5
OPENSSL_KEYALG=${signer_rootca_keyalg} \
$mkcert_sh genroot "signer-rootCA" signer_root-key signer_root-cert
OPENSSL_KEYALG=${signer_interca_keyalg} \
$mkcert_sh genca "signer-interCA" signer_interCA-key signer_interCA-cert signer_root-key signer_root-cert
OPENSSL_KEYALG=${signer_subinterca_keyalg} \
$mkcert_sh genca "signer-subinterCA" signer_subinterCA-key signer_subinterCA-cert signer_interCA-key signer_interCA-cert
if [[ "$signer_leaf_keyalg" == *KEM* ]]; then
OPENSSL_KEYALG=${signer_leaf_keyalg} genee_kem "signer-leaf" signer_leaf-key signer_leaf-cert signer_subinterCA-key signer_subinterCA-cert
# cannot use KEM signer_leaf-key.pem for PKCS#10 CSR generation, using signer_subinterCA-key instead
$OPENSSL req -new -subj "/CN=signer-leaf-csr" -key signer_subinterCA-key.pem -out signer_leaf-csr.pem
else
OPENSSL_KEYALG=${signer_leaf_keyalg} \
$mkcert_sh genee -p clientAuth "signer-leaf" signer_leaf-key signer_leaf-cert signer_subinterCA-key signer_subinterCA-cert
# create signer certificate without subjectKeyIdentifier
# $OPENSSL req -new -subj "/CN=signer-leaf-noSKID" -key signer_leaf-key.pem \
# | $OPENSSL x509 -req -days $DAYS -extfile <(printf "subjectKeyIdentifier=none") -out signer_leaf-cert-noSKID.crt -CA signer_subinterCA-cert.pem -CAkey signer_subinterCA-key.pem
$OPENSSL req -new -subj "/CN=signer-leaf-csr" -key signer_leaf-key.pem -out signer_leaf-csr.pem
fi
echo "Generating demoCA folder"
mkdir -p demoCA
touch demoCA/index.txt
echo 1007 > demoCA/crlnumber
$OPENSSL ca -gencrl -keyfile signer_subinterCA-key.pem -cert signer_subinterCA-cert.pem -out signer_subinterCA-crl0.pem -crldays $DAYS \
-config <(printf "[ca]\ndefault_ca= CA_default\n[CA_default]\n%s\n%s\n%s\n" \
"database = ./demoCA/index.txt" "crlnumber = ./demoCA/crlnumber" "default_md = default")
cat signer_leaf-cert.pem signer_subinterCA-cert.pem signer_interCA-cert.pem > signer_chain.pem
cat signer_subinterCA-cert.pem signer_interCA-cert.pem signer_root-cert.pem > signer_fullchain.pem
$OPENSSL pkcs12 -export -out signer.p12 -inkey signer_leaf-key.pem -in signer_leaf-cert.pem -certfile signer_fullchain.pem -password file:12345.txt
rm -f signer_fullchain.pem
cat signer_subinterCA-cert.pem signer_interCA-cert.pem > signer_issuing-cert.pem
sleep 5 # Wait for 5 seconds before generating the next CRL
$OPENSSL ca -gencrl -keyfile signer_subinterCA-key.pem -cert signer_subinterCA-cert.pem -out signer_subinterCA-crl1.pem -crldays $DAYS \
-config <(printf "[ca]\ndefault_ca= CA_default\n[CA_default]\n%s\n%s\n%s\n" \
"database = ./demoCA/index.txt" "crlnumber = ./demoCA/crlnumber" "default_md = default")
rename_signerfiles
rm -rf demoCA
}
gen_server_credentials
gen_client_chain
@@ -1,68 +1,57 @@
Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = leaf
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = subinterCA
-----BEGIN CERTIFICATE-----
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
B8/0Fc0HcrlPxqKcz7XOHfNtbAWOcg==
-----END CERTIFICATE-----
Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = interCA
-----BEGIN CERTIFICATE-----
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
TPbbQ7/he/c0/zxKZ6WeiSEW
-----END CERTIFICATE-----
@@ -1,27 +1,28 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAv0Qo9WC/BKA70LtQJdwVGSXqr9dut3cQmiFzTb/SaWldjOT1
sRNDFxSzdTJjU/8cIDEZvaTIwRxP/dtVQLjc+4jzrUwz93NuZYlsEWUEUg4Lrnfs
0Nz50yHk4rJhVxWjb8Ii/wRBViWHFExP7CwTkXiTclC1bCqTuWkjxF3thTfTsttR
yY7qNkz2JpNx0guD8v4otQoYjA5AEZvK4IXLwOwxol5xBTMvIrvvff2kkh+c7OC2
QVbUTow/oppjqIKCx2maNHCtLFTJELf3fwtRJLJsy4fKGP0/6kpZc8Sp88WK4B4F
auF9IV1CmoAJUC1vJxhagHIKfVtFjUWs8GPobQIDAQABAoIBAB1fCiskQDElqgnT
uesWcOb7u55lJstlrVb97Ab0fgtR8tvADTq0Colw1F4a7sXnVxpab+l/dJSzFFWX
aPAXc1ftH/5sxU4qm7lb8Qx6xr8TCRgxslwgkvypJ8zoN6p32DFBTr56mM3x1Vx4
m41Y92hPa9USL8n8f9LpImT1R5Q9ShI/RUCowPyzhC6OGkFSBJu72nyA3WK0znXn
q5TNsTRdJLOug7eoJJvhOPfy3neNQV0f2jQ+2wDKCYvn6i4j9FSLgYC/vorqofEd
vFBHxl374117F6DXdBChyD4CD5vsplB0zcExRUCT5+iBqf5uc8CbLHeyNk6vSaf5
BljHWsECgYEA93QnlKsVycgCQqHt2q8EIZ5p7ksGYRVfBEzgetsNdpxvSwrLyLQE
L5AKG3upndOofCeJnLuQF1j954FjCs5Y+8Sy2H1D1EPrHSBp4ig2F5aOxT3vYROd
v+/mF4ZUzlIlv3jNDz5IoLaxm9vhXTtLLUtQyTueGDmqwlht0Kr3/gcCgYEAxd86
Q23jT4DmJqUl+g0lWdc2dgej0jwFfJ2BEw/Q55vHjqj96oAX5QQZFOUhZU8Otd/D
lLzlsFn0pOaSW/RB4l5Kv8ab+ZpxfAV6Gq47nlfzmEGGx4wcoL0xkHufiXg0sqaG
UtEMSKFhxPQZhWojUimK/+YIF69molxA6G9miOsCgYEA8mICSytxwh55qE74rtXz
1AJZfKJcc0f9tDahQ3XBsEb29Kh0h/lciEIsxFLTB9dFF6easb0/HL98pQElxHXu
z14SWOAKSqbka7lOPcppgZ1l52oNSiduw4z28mAQPbBVbUGkiqPVfCa3vhUYoLvt
nUZCsXoGF3CVBJydpGFzXI0CgYEAtt3Jg72PoM8YZEimI0R462F4xHXlEYtE6tjJ
C+vG/fU65P4Kw+ijrJQv9d6YEX+RscXdg51bjLJl5OvuAStopCLOZBPR3Ei+bobF
RNkW4gyYZHLSc6JqZqbSopuNYkeENEKvyuPFvW3f5FxPJbxkbi9UdZCKlBEXAh/O
IMGregcCgYBC8bS7zk6KNDy8q2uC/m/g6LRMxpb8G4jsrcLoyuJs3zDckBjQuLJQ
IOMXcQBWN1h+DKekF2ecr3fJAJyEv4pU4Ct2r/ZTYFMdJTyAbjw0mqOjUR4nsdOh
t/vCbt0QW3HXYTcVdCnFqBtelKnI12KoC0jAO9EAJGZ6kE/NwG6dQg==
-----END RSA PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCtBcRoZPjeL/Uf
g/WTaqLp8JAtc5d/+VHepTPMWuiBRPHfnVcuFIw8zXg5VMGgYQrGORfzGEqYUFif
JgP1CFA7QQbdx+rYMweLj8H/M28838tM2nh3SSxJ28SEcN0hHqBD5Asb0jqhlKvD
oRLA0Wlh+AuSTy9qSgGZDCpCOhEHTM7/Tlgfo1lpan+2I/HspvlnfSPwOtVLTI0F
TmVeqTSaLjEubFhJXHbcfCzU4Uo69N5rNnWHNn+BqD0xQSTZMM6uijN0m75Z5x++
46V9ePFTqKnApZb+qDE07/ywnC+yQ0dIcmUnWnKE/qB/TEe80rObcxkwyML0AixE
Czbxg2MbAgMBAAECggEAAzGtOlzMJ/82+rcgaZwZLXwROqLneTzR2+wtJHN0ga0T
UVShvzTbkTnHzjh4Kezwr8/DrJYBC9vGhGBFcsNjBnJWXUdrWJoPOcPUdHtvbRkX
3dorSXnH1Vs3FFd9tYv6WxZ9dVeFrpBEis7RPk7/WjLOiou8rS0i52o36NNn7Lxg
o0znk04af13Hn3Yu83lIi8CLLEe92xmWzrJKMNpWCQTPA02IeemrkYOFJ/TJ6Y2b
oh+X2XIk0bg/4dxM4w1FMq977OrYLBDnpDfJG9d0WPtMh/Q0UGAjuzCFnhuLHmm7
VZPTU89MV9FS5emzdldqnmH6RCLg+EazrvQWMZiq5QKBgQDfARre0J8A3HkwxHCK
HQ+PQEvAlUneg/bL8CygT9M0eeZUVO+gtkAPP8Anr56venzVslf1ae4m0tvfd1wz
c57cs4Y58DquBAaN7VWPIOIKoJ9UMwAHssVYitW78KN7HG/AlqSPRKJz4jNG9lip
6pUDmL3bjtdsZQ3PTGWouc8UZwKBgQDGn3dRV7ChK7l70pn2JhYEeNnxYC3FHyAH
D8A2BZck1YNr1PacHQrzpvFpuxWPyDkmTA8jiAkyzNSz5POPvVm/fPg1GmqjK0tQ
F0re5U33E5m/gtcxk4W4U28uLBmYstjVl0j4oTzGtsFS2tHSgCF7k5AJzUo5Aewn
k4DG0SSrLQKBgQC4M/t0DTMpzPO2Gq0zCGov09Y+z5Hi4XJcZpkWGpnFAOQGyNnf
EGu9rNUWcvRK0oyHH/eT2dpD62x/G+LnBRw2BXxcI1j1IJIhbed8gJb2XFL/g9kE
guCMELIXud/v8z9D/6sSRIlD25ariRUX1ZMdE2/QCh9bg+VyVBKs2j55BQKBgQCK
24c2FeEE/CWDXFuIi13PKJHtPrkg2z6v0SImYkglVyO2qj7yKxex+V9C9KkBSRAz
Ju9afss3eZ2mWoSwU8c/qOV5cotkoWrYhkAwjgywlEJjcdxx61mL4MCUff4zE62l
vUsljsuHfNKw0wvnZu6Bj0senyeprR9lF6jq1eIVzQKBgENiD4HzP9nvMmtWM4x1
dKVfSzmwuJaqPmThQJN4qeme007VpYtdEuFRvYdwMVQUlmWd69xyiTtBTIAHWqU5
76i9P62RJBWTziTUSBsD+fyMQYqldnlufyPFQVqSsG2/XfBhHMlHSftqKMHQHgZY
ZFbspUmdTyd9URkmOEJLiUwU
-----END PRIVATE KEY-----
Binary file not shown.
@@ -1,65 +1,38 @@
Subject: O = openssl_cmp
Issuer: O = openssl_cmp
-----BEGIN CERTIFICATE-----
MIICpTCCAY2gAwIBAgIBATANBgkqhkiG9w0BAQUFADAWMRQwEgYDVQQKDAtvcGVu
c3NsX2NtcDAeFw0xNzEyMjAxMzA0MDBaFw0xODEyMjAxMzA0MDBaMBYxFDASBgNV
BAoMC29wZW5zc2xfY21wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
4ckRrH0UWmIJFj99kBqvCipGjJRAaPkdvWjdDQLglTpI3eZAJHnq0ypW/PZccrWj
o7mxuvAStEYWF+5Jx6ZFmAsC1K0NNebSAZQoLWYZqiOzkfVVpLicMnItNFElfCoh
BzPCYmF5UlC5yp9PSUEfNwPJqDIRMtw+IlVUV3AJw9TJ3uuWq/vWW9r96/gBKKdd
mj/q2gGT8RC6LxEaolTbhfPbHaA1DFpv1WQFb3oAV3Wq14SOZf9bH1olBVsmBMsU
shFEw5MXVrNCv2moM4HtITMyjvZe7eIwHzSzf6dvQjERG6GvZ/i5KOhaqgJCnRKd
HHzijz9cLec5p9NSOuC1OwIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQDGUXpFCBkV
WgPrBfZyBwt6VCjWB/e67q4IdcKMfDa4hwSquah1AyXHI0PlC/qitnoSx2+7f7pY
TEOay/3eEPUl1J5tdPF2Vg56Dw8jdhSkMwO7bXKDEE3R6o6jaa4ECgxwQtdGHmNU
A41PgKX76yEXku803ptO39/UR7i7Ye3MbyAmWE+PvixJYUbxd3fqz5fsaJqTCzAy
AT9hrr4uu8J7m3LYaYXo4LVL4jw5UsP5bIYtpmmEBfy9GhpUqH5/LzBNij7y3ziE
T59wHkzawAQDHsBPuCe07DFtlzqWWvaih0TQAw9MZ2tbyK9jt7P80Rqt9CwpM/i9
jQYqSl/ix5hn
MIIDEjCCAfqgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDDA5zaWdu
ZXItaW50ZXJDQTAgFw0yNjA4MjcxMzAyMThaGA8yMTI2MDgyODEzMDIxOFowHDEa
MBgGA1UEAwwRc2lnbmVyLXN1YmludGVyQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQDVtUxlSXhn0YEKL1kcHdGWxhZfrFfKc9/bc/h+gX9DLjUviYgy
WfKPVPMDwek9FyaPhwuevDHnbhJ998PZwPhZGUVooE7E/0Ws9gdrkwiCekYDwrkV
+FcF7Z8y42kem4epConTKez9zsK9kks1gO/c0UYG8p4IW4IP0dCPG+hWx5TdxAOC
gBUEft9DY93Hw5sZCzkNHBgdCg9CtDfxKhlSmsomZUj0WRVnMlz7KxnOmcnOLYex
OaWQbaxGVPj88jnFCprDwcl41wod/FCQ2FBi5EgU6i+OS+kXua3Yf0BqzBa6Bt39
T6n+SoJSKxj4MJtanXcZ42VnztFuvc9zbRs7AgMBAAGjYDBeMA8GA1UdEwEB/wQF
MAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTBLcMazlMMaD5Qi0604+IDUwOc
dTAfBgNVHSMEGDAWgBTsiAttQK5AyZloxjLpJLX3YYxcDDANBgkqhkiG9w0BAQsF
AAOCAQEASRQKe65V4miLNvyU0jK2UoHCoguA3faWKEyQfnD61nEQ6f5/w35c5AVP
nVZRgk+ADt0bRCpQpstAw8fl1IMGgjrtMReHr70ToLtKEpRbwBgNPa9fDCl27zG7
pfAY+RTcZMp2eJDfOY0VAKAP4kO/of6Mg18hClJ6JONTyGNP5M7hHlKbwJDhVEUI
+T7C7QzlvS0WdiI/aaSm5hrTpz7W7gRhU/PNIssxj++72eNlyLxMSLLSXLbi2SnL
v9gb7traRUMXuI/qCWkFxMP6xm3kMg+++hqlWpqtrSK+4jbwbvnlSO75KYgxR8Qm
B8/0Fc0HcrlPxqKcz7XOHfNtbAWOcg==
-----END CERTIFICATE-----
Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = subinterCA
-----BEGIN CERTIFICATE-----
MIIDhDCCAmygAwIBAgIJAJkv2OGshkmUMA0GCSqGSIb3DQEBCwUAMFcxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQxEDAOBgNVBAMTB2ludGVyQ0EwHhcNMTUwNzAyMTMxODIz
WhcNMzUwNzAyMTMxODIzWjBaMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1T
dGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRMwEQYDVQQD
EwpzdWJpbnRlckNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/zQj
vhbU7RWDsRaEkVUBZWR/PqZ49GoE9p3OyRN4pkt1c1yb2ARVkYZP5e9gHb04wPVz
2+FYy+2mNkl+uAZbcK5w5fWO3WJIEn57he4MkWu3ew1nJeSv3na8gyOoCheG64kW
VbA2YL92mR7QoSCo4SP7RmykLrwj6TlDxqgH6DxKSD/CpdCHE3DKAzAiri3GVc90
OJAszYHlje4/maVIOayGROVET3xa5cbtRJl8IBgmqhMywtz4hhY/XZTvdEn290aL
857Hk7JjogA7mLKi07yKzknMxHV+k6JX7xJEttkcNQRFHONWZG1T4mRY1Drh6VbJ
Gb+0GNIldNLQqigkfwIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTp
Z30QdMGarrhMPwk+HHAV3R8aTzAfBgNVHSMEGDAWgBQY+tYjuY9dXRN9Po+okcfZ
YcAXLjANBgkqhkiG9w0BAQsFAAOCAQEAgVUsOf9rdHlQDw4clP8GMY7QahfXbvd8
8o++P18KeInQXH6+sCg0axZXzhOmKwn+Ina3EsOP7xk4aKIYwJ4A1xBuT7fKxquQ
pbJyjkEBsNRVLC9t4gOA0FC791v5bOCZjyff5uN+hy8r0828nVxha6CKLqwrPd+E
mC7DtilSZIgO2vwbTBL6ifmw9n1dd/Bl8Wdjnl7YJqTIf0Ozc2SZSMRUq9ryn4Wq
YrjRl8NwioGb1LfjEJ0wJi2ngL3IgaN94qmDn10OJs8hlsufwP1n+Bca3fsl0m5U
gUMG+CXxbF0kdCKZ9kQb1MJE4vOk6zfyBGQndmQnxHjt5botI/xpXg==
-----END CERTIFICATE-----
Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = interCA
-----BEGIN CERTIFICATE-----
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
TPbbQ7/he/c0/zxKZ6WeiSEW
-----END CERTIFICATE-----
@@ -1,21 +1,19 @@
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
@@ -1,22 +1,18 @@
Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = rootCA
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
@@ -1,23 +1,18 @@
Issuer: CN=Root CA
Validity
Not Before: Jan 14 22:29:05 2016 GMT
Not After : Jan 15 22:29:05 2116 GMT
Subject: CN=Root CA
-----BEGIN CERTIFICATE-----
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
1aRHVCZrZP6mq/YntYou/m7eXGo=
-----END CERTIFICATE-----
@@ -45,14 +45,14 @@ expected,description, -section,val, -cmd,val,val2, -cacertsout,val,val2, -infoty
0,revreason out of integer range, -section,, -cmd,rr,,BLANK,,,BLANK,,, -oldcert,_RESULT_DIR/test.cert.pem, -revreason,010000000000000000000
1,use csr for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,0, -csr,csr.pem
1, --- get certificate for revocation ----, -section,, -cmd,cr,,BLANK,,,BLANK,,,BLANK,,BLANK,
1,use issuer and serial for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""",-issuer,/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=subinterCA,-serial,0xA44DB0329A714A8D
1,use issuer and serial for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""",-issuer, _CERT_ISSUER, -serial, _CERT_SERIAL
1, --- get certificate for revocation ----, -section,, -cmd,cr,,BLANK,,,BLANK,,,BLANK,,BLANK,
0,use issuer but no serial for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""",-issuer,/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=subinterCA,BLANK,
0,use serial but no issuer for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""", -issuer, """", -serial, 0xA44DB0329A714A8D
0,wrong issuer for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""", -issuer, /C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=wrongCA, -serial, 0xA44DB0329A714A8D
0,bad issuer DN for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""", -issuer, "'XYZ'", -serial, 0xA44DB0329A714A8D
0,wrong serial for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""", -issuer, /C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=subinterCA, -serial, 0xA44DB0329A714A00
0,bad serial for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""", -issuer, /C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=subinterCA, -serial, xyz
0,use issuer but no serial for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""",-issuer, _CERT_ISSUER,BLANK,
0,use serial but no issuer for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""", -issuer, """", -serial, _CERT_SERIAL
0,wrong issuer for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""", -issuer, /C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=wrongCA, -serial, _CERT_SERIAL
0,bad issuer DN for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""", -issuer, "'XYZ'", -serial, _CERT_SERIAL
0,wrong serial for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""", -issuer, _CERT_ISSUER, -serial, 0xA44DB0329A714A00
0,bad serial for revocation, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,, -revreason,-1,BLANK,,, -expect_sender,"""", -issuer, _CERT_ISSUER, -serial, xyz
0,rr without oldcert/csr/issuer/serial, -section,, -cmd,rr,,BLANK,,,BLANK,,,BLANK,,BLANK,
0,rr with oldcert file nonexistent, -section,, -cmd,rr,,BLANK,,,BLANK,,, -oldcert,idontexist,BLANK,
0,rr with empty oldcert file, -section,, -cmd,rr,,BLANK,,,BLANK,,, -oldcert,empty.txt,BLANK,
1 expected description -section val -cmd val val2 -cacertsout val val2 -infotype val val2 -oldcert val -revreason int -geninfo val
45 0 revreason out of integer range -section -cmd rr BLANK BLANK -oldcert _RESULT_DIR/test.cert.pem -revreason 010000000000000000000
46 1 use csr for revocation -section -cmd rr BLANK BLANK BLANK -revreason 0 -csr csr.pem
47 1 --- get certificate for revocation ---- -section -cmd cr BLANK BLANK BLANK BLANK
48 1 use issuer and serial for revocation -section -cmd rr BLANK BLANK BLANK -revreason -1 BLANK
49 1 --- get certificate for revocation ---- -section -cmd cr BLANK BLANK BLANK BLANK
50 0 use issuer but no serial for revocation -section -cmd rr BLANK BLANK BLANK -revreason -1 BLANK
51 0 use serial but no issuer for revocation -section -cmd rr BLANK BLANK BLANK -revreason -1 BLANK
52 0 wrong issuer for revocation -section -cmd rr BLANK BLANK BLANK -revreason -1 BLANK
53 0 bad issuer DN for revocation -section -cmd rr BLANK BLANK BLANK -revreason -1 BLANK
54 0 wrong serial for revocation -section -cmd rr BLANK BLANK BLANK -revreason -1 BLANK
55 0 bad serial for revocation -section -cmd rr BLANK BLANK BLANK -revreason -1 BLANK
56 0 rr without oldcert/csr/issuer/serial -section -cmd rr BLANK BLANK BLANK BLANK
57 0 rr with oldcert file nonexistent -section -cmd rr BLANK BLANK -oldcert idontexist BLANK
58 0 rr with empty oldcert file -section -cmd rr BLANK BLANK -oldcert empty.txt BLANK