summaryrefslogtreecommitdiff
path: root/regress/usr.sbin/ocspcheck
diff options
context:
space:
mode:
authorBob Beck <beck@cvs.openbsd.org>2020-09-25 02:45:22 +0000
committerBob Beck <beck@cvs.openbsd.org>2020-09-25 02:45:22 +0000
commit51e5e8fa9b6c36acdb8165c944ef9c276edf84e7 (patch)
treeba83efab54e5deb8bbd9e766387737ad804e58b8 /regress/usr.sbin/ocspcheck
parent32f134c04925e9eb7d447e09bfaac09f127812b3 (diff)
Add regression tests for oscpcheck.
These will not be activated until after release, with some ocspcheck cleanups
Diffstat (limited to 'regress/usr.sbin/ocspcheck')
-rw-r--r--regress/usr.sbin/ocspcheck/Makefile77
-rw-r--r--regress/usr.sbin/ocspcheck/chain.pem66
-rw-r--r--regress/usr.sbin/ocspcheck/client.crt98
-rw-r--r--regress/usr.sbin/ocspcheck/client.key27
-rwxr-xr-xregress/usr.sbin/ocspcheck/failocspcheck7
-rw-r--r--regress/usr.sbin/ocspcheck/index.txt4
-rw-r--r--regress/usr.sbin/ocspcheck/ocsp-localhost.key.pem51
-rw-r--r--regress/usr.sbin/ocspcheck/ocsp-localhost.pem34
-rw-r--r--regress/usr.sbin/ocspcheck/old-client-staple.derbin0 -> 2341 bytes
-rw-r--r--regress/usr.sbin/ocspcheck/revoked.crt99
-rw-r--r--regress/usr.sbin/ocspcheck/revoked.key27
-rw-r--r--regress/usr.sbin/ocspcheck/root.pem33
-rw-r--r--regress/usr.sbin/ocspcheck/server.crt99
-rw-r--r--regress/usr.sbin/ocspcheck/server.key27
14 files changed, 649 insertions, 0 deletions
diff --git a/regress/usr.sbin/ocspcheck/Makefile b/regress/usr.sbin/ocspcheck/Makefile
new file mode 100644
index 00000000000..ca2daad2bbe
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/Makefile
@@ -0,0 +1,77 @@
+# $OpenBSD: Makefile,v 1.1 2020/09/25 02:45:21 beck Exp $
+
+# Copyright (c) 2020 Bob Beck <beck@openbsd.org>
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+clean: _SUBDIRUSE
+ rm -f *.core ktrace.out server.der client.der revoked.der
+
+ocsp-start:
+ /usr/bin/openssl ocsp -port 127.0.0.1:2560 -text -sha256 -index ${.CURDIR}/index.txt -CA ${.CURDIR}/chain.pem -rkey ${.CURDIR}/ocsp-localhost.key.pem -rsigner ${.CURDIR}/ocsp-localhost.pem -nmin 1 > /tmp/shit 2>&1 &
+ sleep .1 # give openssl some time to spin up
+ pgrep -xf '/usr/bin/openssl ocsp -port 127.0.0.1:2560.*'
+
+ocsp-stop:
+ pkill -xf '/usr/bin/openssl ocsp -port 127.0.0.1:2560.*'
+
+REGRESS_TARGETS += run-regress-ocspcheck
+run-regress-ocspcheck: ocsp-start
+ /usr/sbin/ocspcheck -v \
+ -C ${.CURDIR}/chain.pem \
+ -o ${.OBJDIR}/server.der \
+ ${.CURDIR}/server.crt
+ /usr/sbin/ocspcheck -v \
+ -C ${.CURDIR}/chain.pem \
+ -o ${.OBJDIR}/client.der \
+ ${.CURDIR}/client.crt
+ /usr/sbin/ocspcheck -v \
+ -C ${.CURDIR}/chain.pem \
+ -i ${.OBJDIR}/server.der \
+ ${.CURDIR}/server.crt
+ /usr/sbin/ocspcheck -v \
+ -C ${.CURDIR}/chain.pem \
+ -i ${.OBJDIR}/client.der \
+ ${.CURDIR}/client.crt
+ ${.CURDIR}/failocspcheck -v \
+ -C ${.CURDIR}/chain.pem \
+ -o ${.OBJDIR}/revoked.der \
+ ${.CURDIR}/revoked.crt
+ ${.CURDIR}/failocspcheck -v \
+ -C ${.CURDIR}/chain.pem \
+ -i ${.OBJDIR}/revoked.der \
+ ${.CURDIR}/revoked.crt
+ ${.CURDIR}/failocspcheck -v \
+ -C ${.CURDIR}/chain.pem \
+ -i ${.OBJDIR}/client.der \
+ ${.CURDIR}/revoked.crt
+ ${.CURDIR}/failocspcheck -v \
+ -C ${.CURDIR}/chain.pem \
+ -i ${.OBJDIR}/server.der \
+ ${.CURDIR}/client.crt
+ ${.CURDIR}/failocspcheck -v \
+ -C ${.CURDIR}/chain.pem \
+ -i ${.OBJDIR}/revoked.der \
+ ${.CURDIR}/client.crt
+ ${.CURDIR}/failocspcheck -v \
+ -C ${.CURDIR}/chain.pem \
+ -i ${.CURDIR}/old-client-staple.der \
+ ${.CURDIR}/client.crt
+
+REGRESS_TARGETS += run-regress-cleanup
+run-regress-cleanup:
+ ${.MAKE} -C ${.CURDIR} ocsp-stop
+
+.PHONY: ${REGRESS_TARGETS} ocsp-start ocsp-stop
+
+.include <bsd.regress.mk>
diff --git a/regress/usr.sbin/ocspcheck/chain.pem b/regress/usr.sbin/ocspcheck/chain.pem
new file mode 100644
index 00000000000..bbee7f12e8e
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/chain.pem
@@ -0,0 +1,66 @@
+-----BEGIN CERTIFICATE-----
+MIIFtDCCA5ygAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwZTELMAkGA1UEBhMCQ0Ex
+ETAPBgNVBAgMCEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEWMBQGA1UE
+CwwNUGlncyBJbiBTcGFjZTEVMBMGA1UEAwwMUm9vdCBDQSBDZXJ0MB4XDTIwMDky
+MTAwMzAzMFoXDTMwMDczMTAwMzAzMFowbTELMAkGA1UEBhMCQ0ExETAPBgNVBAgM
+CEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEWMBQGA1UECwwNUGlncyBJ
+biBTcGFjZTEdMBsGA1UEAwwUSW50ZXJtZWRpYXRlIENBIENlcnQwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQDHFPv7iQ7kw8Ml7oXkBKSeW3/BB616KPCU
+4O9XLd2T4KIvEf4f2H3b6WIlRStrgzgkprb1RlQUTro8D1T9O6bJnLA6MYvnsXv1
+m/1m2uIUrsGGFcYWO4k0r8BF7kJl3eG8OfdQ6viv4V5mqVCYri3IZpcewQAsRU5W
+GDPweOb+JrXIRkJt/WI5E6bPDL9HRjPHD83wBaQpMD1WXqfS0d+jfcr0qfSJxyal
+rnhaEPf26e/1ersLiZnpKAmaJY0yyUO15pSJOXzgT5C+EBTWupE7EUM7jhOyG2Nr
+VBRAi7z2hyes5SEo4gA2o7z6f3ztP9YN/LiCIVMF1EX5CNpCCQnV6PhgHA0g5oII
+uMNO5UOviOAWgcpv+S7gM4AJlxcZass8Qulxc9F18p2PXMAdEdoXvNJwyAxP/Yfa
+9FcnIMkgJGWxqPymiJEfb04rdVG/qp+PlxwZDuOQQkoz8I3Du6Bsp6lZLXWFdMG3
+ias44UURTSF9ajdT/QFG1OgBILUc9ETtCg6+FWcC6w7UTWd5ibJ6crM7R/BDy2nW
+SSA5lgQrWWo7H1pfvfYQnoq2p6H2vnZXQmLtM/Zq03so8V5waVmtJ9kTvemCJbEQ
+IBa2u/ettIRUf2/YL3g4YHbOLCo67ugZGBKNzSZqXpV4754KOABSr2Vw6ihgitPH
+2iqNKN7oIwIDAQABo2YwZDAdBgNVHQ4EFgQUJkfoOsp9EntnFUOls/7Oyok/0c8w
+HwYDVR0jBBgwFoAUFXPmDxshkLKXXQe2FFVfLxA6BWcwEgYDVR0TAQH/BAgwBgEB
+/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBALp6X7RqzoWc
+8FjnGBnrbR2eR0Fx59CrP++FkAK/h190p0tUxnvp1tzPOM5c1XUs8hoqcE20LzWx
+n0DRqm9/zMXxfGZ7GX73WAmjoZKJNvtYHoMCt4Ry3sAWrxLp2QhfI8VlHzh2UDWt
+FA5vFLMzNB/dbEdXkISBvGuon9NK06G0p8yq2s++CWBesY30z+gAsZyr4CVNc9xD
+xX7efWoVMEfBkK0LWFJvNUDh+q1Fi//ddQC9/HlH34RtRJeRYv2UyV/ra7gmzTnz
+NeGm6QiGhTAne0GFYPdt/W6higMzv3IF0LuniAQi4ex8AtX+eUqsp7vXq8HGJkrQ
++0garv4QnYijuj+JZ4VZhj5djJcg7Su9kBaFCaPm5VPQOHkLXZHmBHE4Lj5vJxrk
+Lb6U8UDFLutDjsGhovIqhqfUADoqt4OjaGfKhQamFvxX6ql5bnk2n8eAiYsHDYi4
+GdVNOPKIPYhFRkj8PM5gURArPOLbUyXvTxH1Gl1I4O9c/Dwe55hVrVom2Kw62Mlu
+j8wulgBwoFeprAymz+PEv5vrd9EnewfVI/YUTIAqNCh64/DXRwkJDAjivpKyCDcj
+OefRpFD4I4XDwuBkEL9yoxVpU+W4jBO8SCmdbCFW0eSDzmXtYCP9QK4A5qh6rvF4
+wCZTl7bk34meQfyQTJ0Pgj2xAxGCw/hL
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFsDCCA5igAwIBAgIJAJuLhAw806AYMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNV
+BAYTAkNBMREwDwYDVQQIDAhFZG1vbnRvbjEUMBIGA1UECgwLTXVwcGV0IFNob3cx
+FjAUBgNVBAsMDVBpZ3MgSW4gU3BhY2UxFTATBgNVBAMMDFJvb3QgQ0EgQ2VydDAe
+Fw0yMDA5MjEwMDMwMzBaFw00MDA5MTYwMDMwMzBaMGUxCzAJBgNVBAYTAkNBMREw
+DwYDVQQIDAhFZG1vbnRvbjEUMBIGA1UECgwLTXVwcGV0IFNob3cxFjAUBgNVBAsM
+DVBpZ3MgSW4gU3BhY2UxFTATBgNVBAMMDFJvb3QgQ0EgQ2VydDCCAiIwDQYJKoZI
+hvcNAQEBBQADggIPADCCAgoCggIBAL49I8xYUd72TGGSlwoILLiP00GptPd2K1gh
+QKfZ8jK0rb6zMjUdn6k6hkfnh1WcDdkLA/hqV4NhwQA7drMXOhRxahl2S+fd/pju
++Q5XyUxIS9D8ApbIw9yHGswpWzR6pjgt2HBXjE+3CZRqsRt5YO2CebX9IIQ1k8IW
+icdNKgfaGl7z0Y/SEgZEg4GruR094zLL+aO0hxF+1uixKvtyrvsMbvGMrueImuN3
+zXdvX8NhgyIfp+FQSFvSUv5o8+NFCBICy8wpAmn/w5LKWBihi2m6j9Q0Jek2SSgP
+NmaD3XUIduKIkXROLCLxeIB0wvKTzvCUBbuXdN/iJJned47t86ETk/LzFcn+5rfK
+9az/i8VrLd0LiH74Wy3XEXw0J7bbygIzvelbC6vHCLDkx+KMbN1dsFQpMBxaJcnI
+/eGC5mVwS/k7UH/DicxDO63Y72iI82jBs4wi9yiEoxnE280SMT+/69r8EgH//WuR
+CuoFJb9pfkq4ZzRkPEj7TpCPIyNICARIcdZw+JhbOA0UH7+vn1POX6EDo73irCOG
+x6DAQNTwWplXTW1b5Z2P2C3IFejlN3JtB0s9Kn7FsQlUFK/aRcnLGzPzL2KCrYXv
+wYred+LIdIIhqFAKPhNj2wRJiCWIM+8vvx9lFoQ49U1dZzw5+ilp686KqhqycI9Z
+6GSqPHq1AgMBAAGjYzBhMB0GA1UdDgQWBBQVc+YPGyGQspddB7YUVV8vEDoFZzAf
+BgNVHSMEGDAWgBQVc+YPGyGQspddB7YUVV8vEDoFZzAPBgNVHRMBAf8EBTADAQH/
+MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAQGJgxhf8ItFTDpTj
+ASmAw2Ia328pya2gpyr9UlPCnuf+XY6aLj7YlCZWocW7+HqSKYZbRDBWm6s0/lgz
+U/dQsgLUVA6EZaOlYLMrbzZJZh2BfIOHMEk4uYgVRYIWU1LPnr7oQEv22rVaMjHJ
++gNGkCEIvvqh6d4KnjvDjm72GsDgku/kzJYn4N34N7XiVlq4GBN16v6GYpNXCiw2
+vEARRFLZxt7Zv+K85qGyvxkP0tSkkt2VnCosFJt9JHCHFiFjJDA5FbXZy6DA4CjP
+wsETaqJw222TwUiSC26m/brVZSyQEQRfSW6j3NmVrr+AKCF+5/bXQ3g5f70d+pA9
+X4cxAgE/HFBO1hX82JurImsfBbbuWyRxuNa6cXrXXzmF/KRxyOTeIcLttcnX4mTU
+cVi6LgPZtrEaKGr+hw1mtGpkY5H/lij4F/j6EJb+ovZkA71ixsBn33XXIb0eB9vT
+it4I+f5vybxzznv1ET77HFvylCu/+NkIW1Wps6y1VAxJNxjQbJ6dNY/q1LjA1RZO
+Pvl0E2XPwi5sFysElCKvRHvbvIqBamqFts0bTBFwjOvh4cppBlag9SqlWxVygSrD
+8z5a4yUy37DXH7pBQf60NAmb5Bamz75dzHLVQHgnNuaKCVewy6/UOgQASrMBTSbQ
+eWy6n85n1hUGHdG+zRtxQD6qdl0=
+-----END CERTIFICATE-----
diff --git a/regress/usr.sbin/ocspcheck/client.crt b/regress/usr.sbin/ocspcheck/client.crt
new file mode 100644
index 00000000000..2705e206654
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/client.crt
@@ -0,0 +1,98 @@
+-----BEGIN CERTIFICATE-----
+MIIFczCCA1ugAwIBAgICEAMwDQYJKoZIhvcNAQELBQAwbTELMAkGA1UEBhMCQ0Ex
+ETAPBgNVBAgMCEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEWMBQGA1UE
+CwwNUGlncyBJbiBTcGFjZTEdMBsGA1UEAwwUSW50ZXJtZWRpYXRlIENBIENlcnQw
+HhcNMjAwOTIxMDAzMDMzWhcNNDIwODE3MDAzMDMzWjCBkDELMAkGA1UEBhMCQ0Ex
+ETAPBgNVBAgMCEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEjMCEGA1UE
+CwwaUGlncyBJbiBTcGFjZSBDbGllbnQgQ2VydHMxEjAQBgNVBAMMCWxvY2FsaG9z
+dDEfMB0GCSqGSIb3DQEJARYQYmVja0BvcGVuYnNkLm9yZzCCASIwDQYJKoZIhvcN
+AQEBBQADggEPADCCAQoCggEBAMzJuOfNiHjGUQzlN4kDKl/3oh4xqOynWGp/qAUq
+ZiAK/EnDXgBkfoLbEZ/KlBVR8NrAXacrXZUJW5zBujSVg1+7Pd8ooijVrdmxjDCj
+PJcIjED6oJ6mbU7AMJ5nAPg40S1DochIqFwDF0OF5Tf1lQeQsz2oK8TOG2AQCGDr
+3B4Kt2shy1rPmxkRx87kOj4os5c5RQAGTHjDGKeAYJ8NhRl1JtMAf5chZ9saBr+w
+lG9wUqTTD8I19jWWViNQbdWXavpW/JPeKYa6RaGOLN51LehpLKzw1742Bd8sA6RS
+8iBPbJen8gi5cfFkzmgjvwUAYftKu28kDB3eZ2PzpN5GSgUCAwEAAaOB+DCB9TAJ
+BgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDAzBglghkgBhvhCAQ0EJhYkT3Bl
+blNTTCBHZW5lcmF0ZWQgQ2xpZW50IENlcnRpZmljYXRlMB0GA1UdDgQWBBThdVmd
+Y4Qfh14gIva8zR/wXPbwcDAfBgNVHSMEGDAWgBQmR+g6yn0Se2cVQ6Wz/s7KiT/R
+zzAOBgNVHQ8BAf8EBAMCBeAwMQYIKwYBBQUHAQEEJTAjMCEGCCsGAQUFBzABhhVo
+dHRwOi8vbG9jYWxob3N0OjI1NjAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUF
+BwMEMA0GCSqGSIb3DQEBCwUAA4ICAQBrmv4fx7tVWSgMVwrfdpqZPnnIejI7ZHqu
+rRvXPuJ0nVU5sxTxSnCyUJG+AW4Jo+GGvnQA5LOJWiYi7tpRO6pswBc/65tKYprN
+w3SjFSXZONFwE733weSZeTXHRNRgOv4ui5Lpx1i653oydWQYBKcaKVV+UcB+T3NR
+UIH2HXZYh+XCQHAwUZyuAyReCCydZQMevy2/flcpVvQgCn5+IOPJHXATV6tHuj6b
+fzXsRbpaQthFzMO0/7/wh34B3QJlWOiXRgxxV0OJHheHHV0Xh/j37FQ5tbGLUXcO
+W4Y2vD++CoWDojx6q2ZxCMNFpeD3rAMZ54OSPNPO8RyDHfxoLceIjMsAH+4wLOwA
+/Kj1m9gCL03dVstUUQDocn6lAfHUjwuWPSnMS/un83G3ZayhQp/ypUAun/3rgBv9
+DJ9qwYMIiuWmH1bSTqSeNYEkELZQNubnf3uisUWj4/0XkymryieNBhEYOLNxiWMz
+c4fzTPkt6WcJqc4IJbKRMtbSUk+uM2KdbV/cb87GHIW/dryFS/qMTM4OswHbAYn/
+Dayis0Rqx6CgKeqv4cklKAvzEZhhJjASpZyL4uKwTy8OrjjEgV3yMjPJjKVWuJZ9
+Kk5NSutAS6w6vFzH3rC+WwrYxHxu5csISyA1CaqQLI9ncllchyrNiskm8cP1FVs5
+mDyYD5XO3Q==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFtDCCA5ygAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwZTELMAkGA1UEBhMCQ0Ex
+ETAPBgNVBAgMCEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEWMBQGA1UE
+CwwNUGlncyBJbiBTcGFjZTEVMBMGA1UEAwwMUm9vdCBDQSBDZXJ0MB4XDTIwMDky
+MTAwMzAzMFoXDTMwMDczMTAwMzAzMFowbTELMAkGA1UEBhMCQ0ExETAPBgNVBAgM
+CEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEWMBQGA1UECwwNUGlncyBJ
+biBTcGFjZTEdMBsGA1UEAwwUSW50ZXJtZWRpYXRlIENBIENlcnQwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQDHFPv7iQ7kw8Ml7oXkBKSeW3/BB616KPCU
+4O9XLd2T4KIvEf4f2H3b6WIlRStrgzgkprb1RlQUTro8D1T9O6bJnLA6MYvnsXv1
+m/1m2uIUrsGGFcYWO4k0r8BF7kJl3eG8OfdQ6viv4V5mqVCYri3IZpcewQAsRU5W
+GDPweOb+JrXIRkJt/WI5E6bPDL9HRjPHD83wBaQpMD1WXqfS0d+jfcr0qfSJxyal
+rnhaEPf26e/1ersLiZnpKAmaJY0yyUO15pSJOXzgT5C+EBTWupE7EUM7jhOyG2Nr
+VBRAi7z2hyes5SEo4gA2o7z6f3ztP9YN/LiCIVMF1EX5CNpCCQnV6PhgHA0g5oII
+uMNO5UOviOAWgcpv+S7gM4AJlxcZass8Qulxc9F18p2PXMAdEdoXvNJwyAxP/Yfa
+9FcnIMkgJGWxqPymiJEfb04rdVG/qp+PlxwZDuOQQkoz8I3Du6Bsp6lZLXWFdMG3
+ias44UURTSF9ajdT/QFG1OgBILUc9ETtCg6+FWcC6w7UTWd5ibJ6crM7R/BDy2nW
+SSA5lgQrWWo7H1pfvfYQnoq2p6H2vnZXQmLtM/Zq03so8V5waVmtJ9kTvemCJbEQ
+IBa2u/ettIRUf2/YL3g4YHbOLCo67ugZGBKNzSZqXpV4754KOABSr2Vw6ihgitPH
+2iqNKN7oIwIDAQABo2YwZDAdBgNVHQ4EFgQUJkfoOsp9EntnFUOls/7Oyok/0c8w
+HwYDVR0jBBgwFoAUFXPmDxshkLKXXQe2FFVfLxA6BWcwEgYDVR0TAQH/BAgwBgEB
+/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBALp6X7RqzoWc
+8FjnGBnrbR2eR0Fx59CrP++FkAK/h190p0tUxnvp1tzPOM5c1XUs8hoqcE20LzWx
+n0DRqm9/zMXxfGZ7GX73WAmjoZKJNvtYHoMCt4Ry3sAWrxLp2QhfI8VlHzh2UDWt
+FA5vFLMzNB/dbEdXkISBvGuon9NK06G0p8yq2s++CWBesY30z+gAsZyr4CVNc9xD
+xX7efWoVMEfBkK0LWFJvNUDh+q1Fi//ddQC9/HlH34RtRJeRYv2UyV/ra7gmzTnz
+NeGm6QiGhTAne0GFYPdt/W6higMzv3IF0LuniAQi4ex8AtX+eUqsp7vXq8HGJkrQ
++0garv4QnYijuj+JZ4VZhj5djJcg7Su9kBaFCaPm5VPQOHkLXZHmBHE4Lj5vJxrk
+Lb6U8UDFLutDjsGhovIqhqfUADoqt4OjaGfKhQamFvxX6ql5bnk2n8eAiYsHDYi4
+GdVNOPKIPYhFRkj8PM5gURArPOLbUyXvTxH1Gl1I4O9c/Dwe55hVrVom2Kw62Mlu
+j8wulgBwoFeprAymz+PEv5vrd9EnewfVI/YUTIAqNCh64/DXRwkJDAjivpKyCDcj
+OefRpFD4I4XDwuBkEL9yoxVpU+W4jBO8SCmdbCFW0eSDzmXtYCP9QK4A5qh6rvF4
+wCZTl7bk34meQfyQTJ0Pgj2xAxGCw/hL
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFsDCCA5igAwIBAgIJAJuLhAw806AYMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNV
+BAYTAkNBMREwDwYDVQQIDAhFZG1vbnRvbjEUMBIGA1UECgwLTXVwcGV0IFNob3cx
+FjAUBgNVBAsMDVBpZ3MgSW4gU3BhY2UxFTATBgNVBAMMDFJvb3QgQ0EgQ2VydDAe
+Fw0yMDA5MjEwMDMwMzBaFw00MDA5MTYwMDMwMzBaMGUxCzAJBgNVBAYTAkNBMREw
+DwYDVQQIDAhFZG1vbnRvbjEUMBIGA1UECgwLTXVwcGV0IFNob3cxFjAUBgNVBAsM
+DVBpZ3MgSW4gU3BhY2UxFTATBgNVBAMMDFJvb3QgQ0EgQ2VydDCCAiIwDQYJKoZI
+hvcNAQEBBQADggIPADCCAgoCggIBAL49I8xYUd72TGGSlwoILLiP00GptPd2K1gh
+QKfZ8jK0rb6zMjUdn6k6hkfnh1WcDdkLA/hqV4NhwQA7drMXOhRxahl2S+fd/pju
++Q5XyUxIS9D8ApbIw9yHGswpWzR6pjgt2HBXjE+3CZRqsRt5YO2CebX9IIQ1k8IW
+icdNKgfaGl7z0Y/SEgZEg4GruR094zLL+aO0hxF+1uixKvtyrvsMbvGMrueImuN3
+zXdvX8NhgyIfp+FQSFvSUv5o8+NFCBICy8wpAmn/w5LKWBihi2m6j9Q0Jek2SSgP
+NmaD3XUIduKIkXROLCLxeIB0wvKTzvCUBbuXdN/iJJned47t86ETk/LzFcn+5rfK
+9az/i8VrLd0LiH74Wy3XEXw0J7bbygIzvelbC6vHCLDkx+KMbN1dsFQpMBxaJcnI
+/eGC5mVwS/k7UH/DicxDO63Y72iI82jBs4wi9yiEoxnE280SMT+/69r8EgH//WuR
+CuoFJb9pfkq4ZzRkPEj7TpCPIyNICARIcdZw+JhbOA0UH7+vn1POX6EDo73irCOG
+x6DAQNTwWplXTW1b5Z2P2C3IFejlN3JtB0s9Kn7FsQlUFK/aRcnLGzPzL2KCrYXv
+wYred+LIdIIhqFAKPhNj2wRJiCWIM+8vvx9lFoQ49U1dZzw5+ilp686KqhqycI9Z
+6GSqPHq1AgMBAAGjYzBhMB0GA1UdDgQWBBQVc+YPGyGQspddB7YUVV8vEDoFZzAf
+BgNVHSMEGDAWgBQVc+YPGyGQspddB7YUVV8vEDoFZzAPBgNVHRMBAf8EBTADAQH/
+MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAQGJgxhf8ItFTDpTj
+ASmAw2Ia328pya2gpyr9UlPCnuf+XY6aLj7YlCZWocW7+HqSKYZbRDBWm6s0/lgz
+U/dQsgLUVA6EZaOlYLMrbzZJZh2BfIOHMEk4uYgVRYIWU1LPnr7oQEv22rVaMjHJ
++gNGkCEIvvqh6d4KnjvDjm72GsDgku/kzJYn4N34N7XiVlq4GBN16v6GYpNXCiw2
+vEARRFLZxt7Zv+K85qGyvxkP0tSkkt2VnCosFJt9JHCHFiFjJDA5FbXZy6DA4CjP
+wsETaqJw222TwUiSC26m/brVZSyQEQRfSW6j3NmVrr+AKCF+5/bXQ3g5f70d+pA9
+X4cxAgE/HFBO1hX82JurImsfBbbuWyRxuNa6cXrXXzmF/KRxyOTeIcLttcnX4mTU
+cVi6LgPZtrEaKGr+hw1mtGpkY5H/lij4F/j6EJb+ovZkA71ixsBn33XXIb0eB9vT
+it4I+f5vybxzznv1ET77HFvylCu/+NkIW1Wps6y1VAxJNxjQbJ6dNY/q1LjA1RZO
+Pvl0E2XPwi5sFysElCKvRHvbvIqBamqFts0bTBFwjOvh4cppBlag9SqlWxVygSrD
+8z5a4yUy37DXH7pBQf60NAmb5Bamz75dzHLVQHgnNuaKCVewy6/UOgQASrMBTSbQ
+eWy6n85n1hUGHdG+zRtxQD6qdl0=
+-----END CERTIFICATE-----
diff --git a/regress/usr.sbin/ocspcheck/client.key b/regress/usr.sbin/ocspcheck/client.key
new file mode 100644
index 00000000000..ca82b8f8f36
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/client.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAzMm4582IeMZRDOU3iQMqX/eiHjGo7KdYan+oBSpmIAr8ScNe
+AGR+gtsRn8qUFVHw2sBdpytdlQlbnMG6NJWDX7s93yiiKNWt2bGMMKM8lwiMQPqg
+nqZtTsAwnmcA+DjRLUOhyEioXAMXQ4XlN/WVB5CzPagrxM4bYBAIYOvcHgq3ayHL
+Ws+bGRHHzuQ6PiizlzlFAAZMeMMYp4Bgnw2FGXUm0wB/lyFn2xoGv7CUb3BSpNMP
+wjX2NZZWI1Bt1Zdq+lb8k94phrpFoY4s3nUt6GksrPDXvjYF3ywDpFLyIE9sl6fy
+CLlx8WTOaCO/BQBh+0q7byQMHd5nY/Ok3kZKBQIDAQABAoIBAH0doYK95+sh/tLK
+GCv1ayZGvR2FaZdshnBKnfTJ+qsJCypl2kCTJVf9T784nVCJR4XekVlY/UvY88fJ
+9GG8Fw+d7icxRCF+q0CdYPE2SgZcipQIi6liNNYwRYQBmm4NCH+HGoirG3Fb0hLG
+80xFFlAQ7/FzlYogAkmmgff1If6XpBCoVpW0fvSCMgDKoAtD6J+zUX7b2fzS7+3W
+jOOR+DjFNzt/ZgS2KKl9j/u6YnYUqOzlXNKgMOGQyUAs9uQ0IVtnBvaEf3mqfRLY
+56AJJEB4rwuFyMDWt/M2SJRkbyD/xYievU9p9qOCEyNZY2mcPy8I3np4NcVQeARa
+58gV7QECgYEA/4d8l0IJsOVgjsSHBxcHmdCH//eUyddCWh9AphMFUq91fjga/tCO
+TyFZH5nmfFai19pgQeZPw9tELJkpRiyzkDSvFIAfOkXXSM5qQAPlM7K23x1fTK4f
+J9/BY0KPxD3icB4PeCVl9hrb1afuTb7xFq5IYpTmgK5HFO5mZzZonI0CgYEAzSpO
+DPr8GlOaD9i4V3tlt7NiVt65D+ZRWZxPG2jMOepY9ujOETGaORrlhB18+SYbYr2s
+FHHI0JicDenC9dVRr89fKGMOOmciKhvI3UxqM73s7DKZpgbv4v96nKGDUq1KAoIP
+GoHXTolLtDpSwjkfCvxY2w5eldW/IgqhxrcskVkCgYEAzkvmDH/mLwigkeKcWN8A
+5e9zPPX3C5VcHkJJAUst6vl40/Qb50kc+0mjGF45tHyFb9sAB3QXRbpKKe9lYSBJ
+v8yo5NYjX/puunrbUN9UNg68kRi3jcKtqJV/HdHpG7gSjg3W01ruHGjGvpGbVO0o
+2vTNv7kS9yS8gmuOBRnqDykCgYEAip9v9zNKTZt5OAXNoEZfFv0cj+eTERwkkTCc
+/r8TZnpiPApW2aUzOCxlMZwfCdTmohPYBkRPVCoZHwl4UlQdCnZKLGapgWqX2e3G
+DUiJZYaJY5pY2KZNRYorVVOIAL/XhtRL0jQyvvzjatYRfuvLfse8Xd5aqFCxARY/
+8p1nfpkCgYBNXZ8htxhmkf58BqAF0eCMBuHB++WZIoSdEz+MaJ6qnLmMxE5jDEuG
+53TDAhkOk/TUK41vNHCefsubYvWyX1BBr4IIEEFxduWw8grvRTkHmpxD4f67Yi6g
+3rNJIpQLRZ4Bwp3GY9doiv8iJr2Ooda+umFYdC8yp2BWFdbbbQX3oQ==
+-----END RSA PRIVATE KEY-----
diff --git a/regress/usr.sbin/ocspcheck/failocspcheck b/regress/usr.sbin/ocspcheck/failocspcheck
new file mode 100755
index 00000000000..072bca595cd
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/failocspcheck
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+/usr/sbin/ocspcheck $@
+if [ $? -ne 0 ]; then
+ exit 0
+fi
+exit 1
diff --git a/regress/usr.sbin/ocspcheck/index.txt b/regress/usr.sbin/ocspcheck/index.txt
new file mode 100644
index 00000000000..75849116281
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/index.txt
@@ -0,0 +1,4 @@
+V 420817003032Z 1000 unknown /C=CA/ST=Edmonton/O=Muppet Show/OU=Pigs In Space OCSP division/CN=localhost
+R 420817003033Z 200921003033Z 1001 unknown /C=CA/ST=Edmonton/O=Muppet Show/OU=Pigs In Space Revoked Certs/CN=localhost
+V 420817003033Z 1002 unknown /C=CA/ST=Edmonton/O=Muppet Show/OU=Pigs In Space Server Certs/CN=localhost
+V 420817003033Z 1003 unknown /C=CA/ST=Edmonton/O=Muppet Show/OU=Pigs In Space Client Certs/CN=localhost/emailAddress=beck@openbsd.org
diff --git a/regress/usr.sbin/ocspcheck/ocsp-localhost.key.pem b/regress/usr.sbin/ocspcheck/ocsp-localhost.key.pem
new file mode 100644
index 00000000000..73c65a99fd6
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/ocsp-localhost.key.pem
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/regress/usr.sbin/ocspcheck/ocsp-localhost.pem b/regress/usr.sbin/ocspcheck/ocsp-localhost.pem
new file mode 100644
index 00000000000..a1e9580445a
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/ocsp-localhost.pem
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+MIIFzjCCA7agAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwbTELMAkGA1UEBhMCQ0Ex
+ETAPBgNVBAgMCEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEWMBQGA1UE
+CwwNUGlncyBJbiBTcGFjZTEdMBsGA1UEAwwUSW50ZXJtZWRpYXRlIENBIENlcnQw
+HhcNMjAwOTIxMDAzMDMyWhcNNDIwODE3MDAzMDMyWjBwMQswCQYDVQQGEwJDQTER
+MA8GA1UECAwIRWRtb250b24xFDASBgNVBAoMC011cHBldCBTaG93MSQwIgYDVQQL
+DBtQaWdzIEluIFNwYWNlIE9DU1AgZGl2aXNpb24xEjAQBgNVBAMMCWxvY2FsaG9z
+dDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOLvk06KhAkG1GHHxgwC
+jKDBMZEOyIqOpujWXFue4HlHfTESVg3srTzjwVTC98byykvdSXlASSdrtsr4RLjl
+dBkBbdt7B2jlkx1RhlBaitNcN8jtx8iD0p3PgsnPUHWarQZZyFpvQ6w4q2eCgdjc
+MJdmvMFqZAPNJEpNs5Bk6HnOXCurpgKER/QAhPpcQPxDc5giEsZWX4+gX4ZWLLoh
++Z7BzoWVYDpVbfaPY/GpJwMm3UFM6CWEMZ7f8FhFEgItPTUEO0WYypNG5I0PJufT
+BOHOfwwvwXDpQQa294tSodxPqaMdRcWkVZVlX12MB7Yg3NZpGCPj50yM4/bA6iuA
+nB1V08d0ua8fcQOtMgCanL0yb5PqUok9rY46SF3mI3lPwavsnb4us1QmHUiRqpGu
+RaDDACHUpFv5oBdcaXMdrdL+4LJpzuVsUR92fDLqSUS3jGG3OhBqB3i1QJRedGJQ
+UBM29nQspcawi4g0cuDHC5VG7VnQ51u0AuJ/ZGnsmkbmdLxdC81Fg/x6mS2Y5aj3
+EpBHmOTRhhFCp3mEY87Wm0CcdCrmdzGZQm5FgjNfKoLsSdFbjoKoyW/qAUUNORDI
+2M03x1swU8fOT/dhFMCygO0K6w6Rs3AY1Kh0MdihRe6Xbr8Pg0MtFW1zXGNyRvlJ
+27BpQujOf8P8RMHOJi8AwSrlAgMBAAGjdTBzMAkGA1UdEwQCMAAwHQYDVR0OBBYE
+FH0tTpmZvrHhJXwY1saFA+o2aOAaMB8GA1UdIwQYMBaAFCZH6DrKfRJ7ZxVDpbP+
+zsqJP9HPMA4GA1UdDwEB/wQEAwIHgDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCTAN
+BgkqhkiG9w0BAQsFAAOCAgEAsAyP4dakE4r9qZrBcrahUHCCCpprZ9ecr551Stdz
+w2P/WPZoNDUZIPhEIpTyYSkVRCgXO83wbg//u2qtW3x6rSlhY5yU+Utza7DPjTZ8
+bXU5ajRKONbIULhX4gBOubunoEcSj5tcgipAqfFu6FGPX629SWkEqPgFqpTx2Lsc
+yc+Ju05qB5SDwxszKrVTRpLgPStcOyAtIBjvgQWS1kbv/cE+noIrTyLXlULTNjFh
+jppmg0aYfIxRNi2mBAhUPrJTgbvtyvjbi+G8Tj8cbtMDmB8Pkkw0NixRP1W+y0Un
+04AHFEhZmtdHzEjhbxSOGsL+pQl3+9QMiGJ9kMAbmpkZNVdx7dqJHpLdRf5NARZD
+yOlkBV947hEODsd4AKRrJQy5VpQirRcsN+5JQfDA9LQ0J2M+ZcujolxB8L8IuTab
+AzvsPlLtIWFrjyXNSz1W4K/1HhZuHGHyj6qGR7gb576MvNw+OUON+IQPjf8SHsYV
+iY2LbIXQaoL4Pbi3a6QKT3cbVqh4Ll+zqB7OH8pCmQtrLp8MtqKVQh6O0WMq265H
+/Ory/w5+5ciCwaqlkhrJ8SCkxdFBxT/Z01azBoF2kwv7aMl6pkRqz4t1JdypnVSm
+qQ1XCvVMc8Ex2I4hDUh+Bz5neyKd0QFg7O/HTTqivZtgZO8fKsRLTSh8zrclmbLD
+O+0=
+-----END CERTIFICATE-----
diff --git a/regress/usr.sbin/ocspcheck/old-client-staple.der b/regress/usr.sbin/ocspcheck/old-client-staple.der
new file mode 100644
index 00000000000..cd8bb06fe4e
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/old-client-staple.der
Binary files differ
diff --git a/regress/usr.sbin/ocspcheck/revoked.crt b/regress/usr.sbin/ocspcheck/revoked.crt
new file mode 100644
index 00000000000..02e6c1912cb
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/revoked.crt
@@ -0,0 +1,99 @@
+-----BEGIN CERTIFICATE-----
+MIIFvDCCA6SgAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwbTELMAkGA1UEBhMCQ0Ex
+ETAPBgNVBAgMCEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEWMBQGA1UE
+CwwNUGlncyBJbiBTcGFjZTEdMBsGA1UEAwwUSW50ZXJtZWRpYXRlIENBIENlcnQw
+HhcNMjAwOTIxMDAzMDMzWhcNNDIwODE3MDAzMDMzWjBwMQswCQYDVQQGEwJDQTER
+MA8GA1UECAwIRWRtb250b24xFDASBgNVBAoMC011cHBldCBTaG93MSQwIgYDVQQL
+DBtQaWdzIEluIFNwYWNlIFJldm9rZWQgQ2VydHMxEjAQBgNVBAMMCWxvY2FsaG9z
+dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL2lncRLQhCqJeF3p0nA
+67seoIMuNBZAG3NxL88QteQTO8UfUBCCdcSurE6XWXeMcKI/Rd3eRmPewUP0m/xs
+mn+3ieOmN4cZXqtxeErE/+9T9t88mO7YDZh3stjB+DZZQVlms71zJZNosi3/9IVn
+acFP5xiDHOLldqPhZy9lO7CqnOZ4fA+/oCxXpi8z+L5zpDptY2KLZ4coofD7G8qc
+nsvfJKoaOuieGQDGgybimdDYLum/5oFscMI3GnsX/2LJdb1SQOUDm9FLBBLa1p8m
+u3MBEDvH/0opyZ1xqaOgH18vlgAsCr10WiO28BKPQfmUnUiWgu3SN2mn3FAIpXE9
+uT8CAwEAAaOCAWEwggFdMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgZAMDMG
+CWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRlZCBTZXJ2ZXIgQ2VydGlmaWNh
+dGUwHQYDVR0OBBYEFOtCvpHPoFALeo1VBDXvWIAGjKaXMIGQBgNVHSMEgYgwgYWA
+FCZH6DrKfRJ7ZxVDpbP+zsqJP9HPoWmkZzBlMQswCQYDVQQGEwJDQTERMA8GA1UE
+CAwIRWRtb250b24xFDASBgNVBAoMC011cHBldCBTaG93MRYwFAYDVQQLDA1QaWdz
+IEluIFNwYWNlMRUwEwYDVQQDDAxSb290IENBIENlcnSCAhAAMA4GA1UdDwEB/wQE
+AwIFoDAxBggrBgEFBQcBAQQlMCMwIQYIKwYBBQUHMAGGFWh0dHA6Ly9sb2NhbGhv
+c3Q6MjU2MDATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEA
+RHW6Ay6bwqAGGCHV93W8YQrnMSQX7q48H6OKsefhNCMdGGGFQ2WureSHpZX41Mma
+yqSQCt5sBSxDx+26rQMWulOmzCBo7GUVGSj9vMBs781xCeT60EIbOQKY5zFS0Wgd
+MS0H95ioFyofgvppjdRBb0JL0iHbFpEeJUX6o5LerBQme/NbEXYxy/wIl+mCc7JF
+aEaichR+9aXLXUrKPLMxtOWrEQklb6/0gzEQumMoNZ8+ahBtc8NimsoXNWVkBvD+
+tnmclJDjUHzQO7LF9KUik0Pegv/DAFFSLuL8n8abWC752g2Bm6YHOEhNBNDkCId5
+GG4t/5H7wa1L143ndzBWCzVQMbOJdkA+vE4FDpVHsoovrJBhTcEr+d1NKQGLrm3t
+p65Pd6ScBi146EciGTehew1jxG17HvnNsx/IbJCHWEG5bx6hU8N+F4mjrs0PkUK5
+x09pHfi+2MtVvrBKfhIQ7bjbKBlhy+OdXKUs3KRN0f7rSZsDX+pVpaz6TQxbHyjB
+iSNQzzQ1ubhZ9sPG/EAHaRYukEjwrxORlijsSdGNgR/Prwpkw71PUS2IG3qhm3gF
+hHJ90xlCYfUxo+VzynZqXr9KqZdSQV6C/Hq1HbLSVp/PFUkzyBYSrlaVHiCH2GbR
+EfDcgyMZhcVuS47GwQg6MjLx3p5bQIcLhuE+17sJ1dc=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFtDCCA5ygAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwZTELMAkGA1UEBhMCQ0Ex
+ETAPBgNVBAgMCEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEWMBQGA1UE
+CwwNUGlncyBJbiBTcGFjZTEVMBMGA1UEAwwMUm9vdCBDQSBDZXJ0MB4XDTIwMDky
+MTAwMzAzMFoXDTMwMDczMTAwMzAzMFowbTELMAkGA1UEBhMCQ0ExETAPBgNVBAgM
+CEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEWMBQGA1UECwwNUGlncyBJ
+biBTcGFjZTEdMBsGA1UEAwwUSW50ZXJtZWRpYXRlIENBIENlcnQwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQDHFPv7iQ7kw8Ml7oXkBKSeW3/BB616KPCU
+4O9XLd2T4KIvEf4f2H3b6WIlRStrgzgkprb1RlQUTro8D1T9O6bJnLA6MYvnsXv1
+m/1m2uIUrsGGFcYWO4k0r8BF7kJl3eG8OfdQ6viv4V5mqVCYri3IZpcewQAsRU5W
+GDPweOb+JrXIRkJt/WI5E6bPDL9HRjPHD83wBaQpMD1WXqfS0d+jfcr0qfSJxyal
+rnhaEPf26e/1ersLiZnpKAmaJY0yyUO15pSJOXzgT5C+EBTWupE7EUM7jhOyG2Nr
+VBRAi7z2hyes5SEo4gA2o7z6f3ztP9YN/LiCIVMF1EX5CNpCCQnV6PhgHA0g5oII
+uMNO5UOviOAWgcpv+S7gM4AJlxcZass8Qulxc9F18p2PXMAdEdoXvNJwyAxP/Yfa
+9FcnIMkgJGWxqPymiJEfb04rdVG/qp+PlxwZDuOQQkoz8I3Du6Bsp6lZLXWFdMG3
+ias44UURTSF9ajdT/QFG1OgBILUc9ETtCg6+FWcC6w7UTWd5ibJ6crM7R/BDy2nW
+SSA5lgQrWWo7H1pfvfYQnoq2p6H2vnZXQmLtM/Zq03so8V5waVmtJ9kTvemCJbEQ
+IBa2u/ettIRUf2/YL3g4YHbOLCo67ugZGBKNzSZqXpV4754KOABSr2Vw6ihgitPH
+2iqNKN7oIwIDAQABo2YwZDAdBgNVHQ4EFgQUJkfoOsp9EntnFUOls/7Oyok/0c8w
+HwYDVR0jBBgwFoAUFXPmDxshkLKXXQe2FFVfLxA6BWcwEgYDVR0TAQH/BAgwBgEB
+/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBALp6X7RqzoWc
+8FjnGBnrbR2eR0Fx59CrP++FkAK/h190p0tUxnvp1tzPOM5c1XUs8hoqcE20LzWx
+n0DRqm9/zMXxfGZ7GX73WAmjoZKJNvtYHoMCt4Ry3sAWrxLp2QhfI8VlHzh2UDWt
+FA5vFLMzNB/dbEdXkISBvGuon9NK06G0p8yq2s++CWBesY30z+gAsZyr4CVNc9xD
+xX7efWoVMEfBkK0LWFJvNUDh+q1Fi//ddQC9/HlH34RtRJeRYv2UyV/ra7gmzTnz
+NeGm6QiGhTAne0GFYPdt/W6higMzv3IF0LuniAQi4ex8AtX+eUqsp7vXq8HGJkrQ
++0garv4QnYijuj+JZ4VZhj5djJcg7Su9kBaFCaPm5VPQOHkLXZHmBHE4Lj5vJxrk
+Lb6U8UDFLutDjsGhovIqhqfUADoqt4OjaGfKhQamFvxX6ql5bnk2n8eAiYsHDYi4
+GdVNOPKIPYhFRkj8PM5gURArPOLbUyXvTxH1Gl1I4O9c/Dwe55hVrVom2Kw62Mlu
+j8wulgBwoFeprAymz+PEv5vrd9EnewfVI/YUTIAqNCh64/DXRwkJDAjivpKyCDcj
+OefRpFD4I4XDwuBkEL9yoxVpU+W4jBO8SCmdbCFW0eSDzmXtYCP9QK4A5qh6rvF4
+wCZTl7bk34meQfyQTJ0Pgj2xAxGCw/hL
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFsDCCA5igAwIBAgIJAJuLhAw806AYMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNV
+BAYTAkNBMREwDwYDVQQIDAhFZG1vbnRvbjEUMBIGA1UECgwLTXVwcGV0IFNob3cx
+FjAUBgNVBAsMDVBpZ3MgSW4gU3BhY2UxFTATBgNVBAMMDFJvb3QgQ0EgQ2VydDAe
+Fw0yMDA5MjEwMDMwMzBaFw00MDA5MTYwMDMwMzBaMGUxCzAJBgNVBAYTAkNBMREw
+DwYDVQQIDAhFZG1vbnRvbjEUMBIGA1UECgwLTXVwcGV0IFNob3cxFjAUBgNVBAsM
+DVBpZ3MgSW4gU3BhY2UxFTATBgNVBAMMDFJvb3QgQ0EgQ2VydDCCAiIwDQYJKoZI
+hvcNAQEBBQADggIPADCCAgoCggIBAL49I8xYUd72TGGSlwoILLiP00GptPd2K1gh
+QKfZ8jK0rb6zMjUdn6k6hkfnh1WcDdkLA/hqV4NhwQA7drMXOhRxahl2S+fd/pju
++Q5XyUxIS9D8ApbIw9yHGswpWzR6pjgt2HBXjE+3CZRqsRt5YO2CebX9IIQ1k8IW
+icdNKgfaGl7z0Y/SEgZEg4GruR094zLL+aO0hxF+1uixKvtyrvsMbvGMrueImuN3
+zXdvX8NhgyIfp+FQSFvSUv5o8+NFCBICy8wpAmn/w5LKWBihi2m6j9Q0Jek2SSgP
+NmaD3XUIduKIkXROLCLxeIB0wvKTzvCUBbuXdN/iJJned47t86ETk/LzFcn+5rfK
+9az/i8VrLd0LiH74Wy3XEXw0J7bbygIzvelbC6vHCLDkx+KMbN1dsFQpMBxaJcnI
+/eGC5mVwS/k7UH/DicxDO63Y72iI82jBs4wi9yiEoxnE280SMT+/69r8EgH//WuR
+CuoFJb9pfkq4ZzRkPEj7TpCPIyNICARIcdZw+JhbOA0UH7+vn1POX6EDo73irCOG
+x6DAQNTwWplXTW1b5Z2P2C3IFejlN3JtB0s9Kn7FsQlUFK/aRcnLGzPzL2KCrYXv
+wYred+LIdIIhqFAKPhNj2wRJiCWIM+8vvx9lFoQ49U1dZzw5+ilp686KqhqycI9Z
+6GSqPHq1AgMBAAGjYzBhMB0GA1UdDgQWBBQVc+YPGyGQspddB7YUVV8vEDoFZzAf
+BgNVHSMEGDAWgBQVc+YPGyGQspddB7YUVV8vEDoFZzAPBgNVHRMBAf8EBTADAQH/
+MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAQGJgxhf8ItFTDpTj
+ASmAw2Ia328pya2gpyr9UlPCnuf+XY6aLj7YlCZWocW7+HqSKYZbRDBWm6s0/lgz
+U/dQsgLUVA6EZaOlYLMrbzZJZh2BfIOHMEk4uYgVRYIWU1LPnr7oQEv22rVaMjHJ
++gNGkCEIvvqh6d4KnjvDjm72GsDgku/kzJYn4N34N7XiVlq4GBN16v6GYpNXCiw2
+vEARRFLZxt7Zv+K85qGyvxkP0tSkkt2VnCosFJt9JHCHFiFjJDA5FbXZy6DA4CjP
+wsETaqJw222TwUiSC26m/brVZSyQEQRfSW6j3NmVrr+AKCF+5/bXQ3g5f70d+pA9
+X4cxAgE/HFBO1hX82JurImsfBbbuWyRxuNa6cXrXXzmF/KRxyOTeIcLttcnX4mTU
+cVi6LgPZtrEaKGr+hw1mtGpkY5H/lij4F/j6EJb+ovZkA71ixsBn33XXIb0eB9vT
+it4I+f5vybxzznv1ET77HFvylCu/+NkIW1Wps6y1VAxJNxjQbJ6dNY/q1LjA1RZO
+Pvl0E2XPwi5sFysElCKvRHvbvIqBamqFts0bTBFwjOvh4cppBlag9SqlWxVygSrD
+8z5a4yUy37DXH7pBQf60NAmb5Bamz75dzHLVQHgnNuaKCVewy6/UOgQASrMBTSbQ
+eWy6n85n1hUGHdG+zRtxQD6qdl0=
+-----END CERTIFICATE-----
diff --git a/regress/usr.sbin/ocspcheck/revoked.key b/regress/usr.sbin/ocspcheck/revoked.key
new file mode 100644
index 00000000000..f15af007c92
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/revoked.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAvaWdxEtCEKol4XenScDrux6ggy40FkAbc3EvzxC15BM7xR9Q
+EIJ1xK6sTpdZd4xwoj9F3d5GY97BQ/Sb/Gyaf7eJ46Y3hxleq3F4SsT/71P23zyY
+7tgNmHey2MH4NllBWWazvXMlk2iyLf/0hWdpwU/nGIMc4uV2o+FnL2U7sKqc5nh8
+D7+gLFemLzP4vnOkOm1jYotnhyih8Psbypyey98kqho66J4ZAMaDJuKZ0Ngu6b/m
+gWxwwjcaexf/Ysl1vVJA5QOb0UsEEtrWnya7cwEQO8f/SinJnXGpo6AfXy+WACwK
+vXRaI7bwEo9B+ZSdSJaC7dI3aafcUAilcT25PwIDAQABAoIBAQC3s0dBLw0Ni2Mq
+JXccEA3HsYEV0JmPvAVbK5Z94tft11ucNBqgA18EZ5ZsglqdXKJ15whMQ9S3RLy8
+kKLQPnrhn+2nYAiFiuOS+lTlSDIJp7GIx+/z28A/oiLRqAJA0vBkIwGUT4dkZJPD
+zx0SY/uizz0xFz/R4Ses0tfapxrMoqufS2wN5yYNbaMwM+GSt7Z3Ls51j2tUUDqa
+GPjuUxnKx5Z9VG7jyfZYUcZbIH/ycXY0hi1XyNDa/pxCwmLFyFTALoxBFt1kS1Qy
+cxRmopzUzDanW7WwZnb+9tU26GltTo+a6QrVHuU/QP18MgIfHrq62EegmxRMpZqF
+uFddoMFhAoGBAOrjK6rf48t4dezv63OPPtUODjjxoZujRTxv9xT41S1BmBGp0NQw
+sAH8ZDVpfGw8x3ZnchUfVGfqU0AqQitsPid5XUSDzJiwjLPHmySyIcZ7FzVC5oNX
+OVEyiOJsAMH59JapZQm5krMc8Ud0xMeQqaHguZqB6mRYP8Vxk4jgj+fpAoGBAM6x
+cwyXJ2kobR8Ufh98pNbbHfOOLLHAb2HAloUsRXiZBgGqRl4pCskfHKIRFs2laoZm
+RHymRvCLHFpjCTa4wnpnl5qz3xUmLS9fU4ILH3pKMwaZWJqnLnqKhI7uRTOkgrwB
+DIUG6DMxPB5VF7Gg1L8m2DpmyADY/YjC8X1r1AbnAoGBAKvNEwB9mAEYD7EI3v98
+E6oECNUPr3PGHPsSrfdx9YKPiqnIuoypO+OH9se2ayJD5mStTx0x+Cu1kcTJ4/Ic
+zu1ScKyPdlNsNs28Pra9b8Tb/WKglzgT0UGZo9NwybEXoRWduuA9EpbdoYDxYIjT
+P6++TiM7yPQyNBq3cwDXt4oZAoGAWlXd5ZvOgrxDbPkE4ngUhz7/CSqTSCDFzWBh
+qNSfjES9Bk9IL/EaIKqzVfXIFJr+Qr1Bo4T8rjbubmaoaT046kyKSvfgQRsNVo4A
+Lm70E/uH75Nn0TfOLYqKwvlKT3bQGKEQurc5Ft6m2s7v6xdSxDSS/ntbYFt1+6bP
+6rQM1/MCgYBEdt3OQEgnKv/IdezGszA4zcelpt1oziSeYIyYMt/Jpxzwe0wBr1Nm
+70RidX8jQE/lWP3j+6p0QxwRyoFrVCGl8jm/v8uT8JIxoev0qDtm697PG267ixTD
+rokpkgojvvRntRU6xUtqyRhV1gruP85Irzazpxa1bJ5YgUmyi3gLOw==
+-----END RSA PRIVATE KEY-----
diff --git a/regress/usr.sbin/ocspcheck/root.pem b/regress/usr.sbin/ocspcheck/root.pem
new file mode 100644
index 00000000000..0150e120421
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/root.pem
@@ -0,0 +1,33 @@
+-----BEGIN CERTIFICATE-----
+MIIFsDCCA5igAwIBAgIJAJuLhAw806AYMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNV
+BAYTAkNBMREwDwYDVQQIDAhFZG1vbnRvbjEUMBIGA1UECgwLTXVwcGV0IFNob3cx
+FjAUBgNVBAsMDVBpZ3MgSW4gU3BhY2UxFTATBgNVBAMMDFJvb3QgQ0EgQ2VydDAe
+Fw0yMDA5MjEwMDMwMzBaFw00MDA5MTYwMDMwMzBaMGUxCzAJBgNVBAYTAkNBMREw
+DwYDVQQIDAhFZG1vbnRvbjEUMBIGA1UECgwLTXVwcGV0IFNob3cxFjAUBgNVBAsM
+DVBpZ3MgSW4gU3BhY2UxFTATBgNVBAMMDFJvb3QgQ0EgQ2VydDCCAiIwDQYJKoZI
+hvcNAQEBBQADggIPADCCAgoCggIBAL49I8xYUd72TGGSlwoILLiP00GptPd2K1gh
+QKfZ8jK0rb6zMjUdn6k6hkfnh1WcDdkLA/hqV4NhwQA7drMXOhRxahl2S+fd/pju
++Q5XyUxIS9D8ApbIw9yHGswpWzR6pjgt2HBXjE+3CZRqsRt5YO2CebX9IIQ1k8IW
+icdNKgfaGl7z0Y/SEgZEg4GruR094zLL+aO0hxF+1uixKvtyrvsMbvGMrueImuN3
+zXdvX8NhgyIfp+FQSFvSUv5o8+NFCBICy8wpAmn/w5LKWBihi2m6j9Q0Jek2SSgP
+NmaD3XUIduKIkXROLCLxeIB0wvKTzvCUBbuXdN/iJJned47t86ETk/LzFcn+5rfK
+9az/i8VrLd0LiH74Wy3XEXw0J7bbygIzvelbC6vHCLDkx+KMbN1dsFQpMBxaJcnI
+/eGC5mVwS/k7UH/DicxDO63Y72iI82jBs4wi9yiEoxnE280SMT+/69r8EgH//WuR
+CuoFJb9pfkq4ZzRkPEj7TpCPIyNICARIcdZw+JhbOA0UH7+vn1POX6EDo73irCOG
+x6DAQNTwWplXTW1b5Z2P2C3IFejlN3JtB0s9Kn7FsQlUFK/aRcnLGzPzL2KCrYXv
+wYred+LIdIIhqFAKPhNj2wRJiCWIM+8vvx9lFoQ49U1dZzw5+ilp686KqhqycI9Z
+6GSqPHq1AgMBAAGjYzBhMB0GA1UdDgQWBBQVc+YPGyGQspddB7YUVV8vEDoFZzAf
+BgNVHSMEGDAWgBQVc+YPGyGQspddB7YUVV8vEDoFZzAPBgNVHRMBAf8EBTADAQH/
+MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAQGJgxhf8ItFTDpTj
+ASmAw2Ia328pya2gpyr9UlPCnuf+XY6aLj7YlCZWocW7+HqSKYZbRDBWm6s0/lgz
+U/dQsgLUVA6EZaOlYLMrbzZJZh2BfIOHMEk4uYgVRYIWU1LPnr7oQEv22rVaMjHJ
++gNGkCEIvvqh6d4KnjvDjm72GsDgku/kzJYn4N34N7XiVlq4GBN16v6GYpNXCiw2
+vEARRFLZxt7Zv+K85qGyvxkP0tSkkt2VnCosFJt9JHCHFiFjJDA5FbXZy6DA4CjP
+wsETaqJw222TwUiSC26m/brVZSyQEQRfSW6j3NmVrr+AKCF+5/bXQ3g5f70d+pA9
+X4cxAgE/HFBO1hX82JurImsfBbbuWyRxuNa6cXrXXzmF/KRxyOTeIcLttcnX4mTU
+cVi6LgPZtrEaKGr+hw1mtGpkY5H/lij4F/j6EJb+ovZkA71ixsBn33XXIb0eB9vT
+it4I+f5vybxzznv1ET77HFvylCu/+NkIW1Wps6y1VAxJNxjQbJ6dNY/q1LjA1RZO
+Pvl0E2XPwi5sFysElCKvRHvbvIqBamqFts0bTBFwjOvh4cppBlag9SqlWxVygSrD
+8z5a4yUy37DXH7pBQf60NAmb5Bamz75dzHLVQHgnNuaKCVewy6/UOgQASrMBTSbQ
+eWy6n85n1hUGHdG+zRtxQD6qdl0=
+-----END CERTIFICATE-----
diff --git a/regress/usr.sbin/ocspcheck/server.crt b/regress/usr.sbin/ocspcheck/server.crt
new file mode 100644
index 00000000000..0b4aa181115
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/server.crt
@@ -0,0 +1,99 @@
+-----BEGIN CERTIFICATE-----
+MIIFuzCCA6OgAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwbTELMAkGA1UEBhMCQ0Ex
+ETAPBgNVBAgMCEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEWMBQGA1UE
+CwwNUGlncyBJbiBTcGFjZTEdMBsGA1UEAwwUSW50ZXJtZWRpYXRlIENBIENlcnQw
+HhcNMjAwOTIxMDAzMDMzWhcNNDIwODE3MDAzMDMzWjBvMQswCQYDVQQGEwJDQTER
+MA8GA1UECAwIRWRtb250b24xFDASBgNVBAoMC011cHBldCBTaG93MSMwIQYDVQQL
+DBpQaWdzIEluIFNwYWNlIFNlcnZlciBDZXJ0czESMBAGA1UEAwwJbG9jYWxob3N0
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1UUybFStrMI+NzxncAwm
+FnlQ6M+kYqKqYjuZPEl10CgAKwHIMKfxTpdt9MrLo9KIbgj7TB5RzOxS1Wb6Lbxm
+/KebKuGmVtneZXe0GcNSLML+qdNaVZpm0HTnYrwMUUz24iCthUDj1ZrMT64+il32
+zP+Qp2mHtx3W1h0c7LzAOmENZ5zhXRgVPbGYqd5gFcWaS6ARmUDSJgR4sp2SqM3t
++3blUEKrJskYvYwDKnwLOWPl20NjMr+AWty70YPS85/dT6VkB6516I+NZK17TQDk
+497JfdAZoVliy4yb3F7JTcuTa+IJ+ryuKK5vzs7yzWok+1pOPMGy7e4jL8y6Jd5Z
+IQIDAQABo4IBYTCCAV0wCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBkAwMwYJ
+YIZIAYb4QgENBCYWJE9wZW5TU0wgR2VuZXJhdGVkIFNlcnZlciBDZXJ0aWZpY2F0
+ZTAdBgNVHQ4EFgQUUbAtUqe4mybN1u3Ydru2xE8yxXowgZAGA1UdIwSBiDCBhYAU
+JkfoOsp9EntnFUOls/7Oyok/0c+haaRnMGUxCzAJBgNVBAYTAkNBMREwDwYDVQQI
+DAhFZG1vbnRvbjEUMBIGA1UECgwLTXVwcGV0IFNob3cxFjAUBgNVBAsMDVBpZ3Mg
+SW4gU3BhY2UxFTATBgNVBAMMDFJvb3QgQ0EgQ2VydIICEAAwDgYDVR0PAQH/BAQD
+AgWgMDEGCCsGAQUFBwEBBCUwIzAhBggrBgEFBQcwAYYVaHR0cDovL2xvY2FsaG9z
+dDoyNTYwMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4ICAQAd
+meS5KGZE8H7513E27ccmAKosBS1OVJy9MqwDn22Jz7joAu/Hg9U35Ab3+e3BOM//
+EPL2CAngytrC3Hr/ln+igwoHQ87SzWs3ad8WEF7Hs7d5CH9VhQIyWthALQV1pE33
+qxZoJBCT1aFLJ2ruM9sB5HUj9NzxKAVPcnfgT0Cjj87WlqwMXBhV235yvOrwQtR7
+NzUk/esTlvjU4/7oLl8Y3PDViw+i3N//PObaesjvqWrOx1CoJjDJvnemupR0SWMT
+IPPIoaZJWoJfjDlAFb5dfVastOXfFWDOUNtDgy1eFaAS4IRF+l+OOq9NgVaoFY2c
+wujD6cSTtaRIsxDwGswRpbhoN+J+eAvSgLkJoLRRRgwnEYqqSJ5nwSNqjDxLGNpk
+ygSysnxLoT/+7AxYrBGmvSucinPfq8GbGZG+qwsbaRCsR4ZZQSRdQB+k80XYvmvx
+ixtw9zbTSox/jTiHO38AQLgrM+eemfNZd7191RRq8kLu6F8Q7nZk6aFVNnml8h8P
+XH7CZX/jzi7XuhuvuskclS8nGjtEBmVS2StRhOBoGNoLQdQzMrQteGKgSTmxwYDu
+f4E2eP6xIoWPi6cGSk4QnmdqXNBShfW0W/D6EBEm6TRrl2nLz7qq+6Rjd6onF30B
+h1fiwUc9igFKd+FskU3wWQHpENEno8t+oXXOo8lTCA==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFtDCCA5ygAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwZTELMAkGA1UEBhMCQ0Ex
+ETAPBgNVBAgMCEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEWMBQGA1UE
+CwwNUGlncyBJbiBTcGFjZTEVMBMGA1UEAwwMUm9vdCBDQSBDZXJ0MB4XDTIwMDky
+MTAwMzAzMFoXDTMwMDczMTAwMzAzMFowbTELMAkGA1UEBhMCQ0ExETAPBgNVBAgM
+CEVkbW9udG9uMRQwEgYDVQQKDAtNdXBwZXQgU2hvdzEWMBQGA1UECwwNUGlncyBJ
+biBTcGFjZTEdMBsGA1UEAwwUSW50ZXJtZWRpYXRlIENBIENlcnQwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQDHFPv7iQ7kw8Ml7oXkBKSeW3/BB616KPCU
+4O9XLd2T4KIvEf4f2H3b6WIlRStrgzgkprb1RlQUTro8D1T9O6bJnLA6MYvnsXv1
+m/1m2uIUrsGGFcYWO4k0r8BF7kJl3eG8OfdQ6viv4V5mqVCYri3IZpcewQAsRU5W
+GDPweOb+JrXIRkJt/WI5E6bPDL9HRjPHD83wBaQpMD1WXqfS0d+jfcr0qfSJxyal
+rnhaEPf26e/1ersLiZnpKAmaJY0yyUO15pSJOXzgT5C+EBTWupE7EUM7jhOyG2Nr
+VBRAi7z2hyes5SEo4gA2o7z6f3ztP9YN/LiCIVMF1EX5CNpCCQnV6PhgHA0g5oII
+uMNO5UOviOAWgcpv+S7gM4AJlxcZass8Qulxc9F18p2PXMAdEdoXvNJwyAxP/Yfa
+9FcnIMkgJGWxqPymiJEfb04rdVG/qp+PlxwZDuOQQkoz8I3Du6Bsp6lZLXWFdMG3
+ias44UURTSF9ajdT/QFG1OgBILUc9ETtCg6+FWcC6w7UTWd5ibJ6crM7R/BDy2nW
+SSA5lgQrWWo7H1pfvfYQnoq2p6H2vnZXQmLtM/Zq03so8V5waVmtJ9kTvemCJbEQ
+IBa2u/ettIRUf2/YL3g4YHbOLCo67ugZGBKNzSZqXpV4754KOABSr2Vw6ihgitPH
+2iqNKN7oIwIDAQABo2YwZDAdBgNVHQ4EFgQUJkfoOsp9EntnFUOls/7Oyok/0c8w
+HwYDVR0jBBgwFoAUFXPmDxshkLKXXQe2FFVfLxA6BWcwEgYDVR0TAQH/BAgwBgEB
+/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBALp6X7RqzoWc
+8FjnGBnrbR2eR0Fx59CrP++FkAK/h190p0tUxnvp1tzPOM5c1XUs8hoqcE20LzWx
+n0DRqm9/zMXxfGZ7GX73WAmjoZKJNvtYHoMCt4Ry3sAWrxLp2QhfI8VlHzh2UDWt
+FA5vFLMzNB/dbEdXkISBvGuon9NK06G0p8yq2s++CWBesY30z+gAsZyr4CVNc9xD
+xX7efWoVMEfBkK0LWFJvNUDh+q1Fi//ddQC9/HlH34RtRJeRYv2UyV/ra7gmzTnz
+NeGm6QiGhTAne0GFYPdt/W6higMzv3IF0LuniAQi4ex8AtX+eUqsp7vXq8HGJkrQ
++0garv4QnYijuj+JZ4VZhj5djJcg7Su9kBaFCaPm5VPQOHkLXZHmBHE4Lj5vJxrk
+Lb6U8UDFLutDjsGhovIqhqfUADoqt4OjaGfKhQamFvxX6ql5bnk2n8eAiYsHDYi4
+GdVNOPKIPYhFRkj8PM5gURArPOLbUyXvTxH1Gl1I4O9c/Dwe55hVrVom2Kw62Mlu
+j8wulgBwoFeprAymz+PEv5vrd9EnewfVI/YUTIAqNCh64/DXRwkJDAjivpKyCDcj
+OefRpFD4I4XDwuBkEL9yoxVpU+W4jBO8SCmdbCFW0eSDzmXtYCP9QK4A5qh6rvF4
+wCZTl7bk34meQfyQTJ0Pgj2xAxGCw/hL
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFsDCCA5igAwIBAgIJAJuLhAw806AYMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNV
+BAYTAkNBMREwDwYDVQQIDAhFZG1vbnRvbjEUMBIGA1UECgwLTXVwcGV0IFNob3cx
+FjAUBgNVBAsMDVBpZ3MgSW4gU3BhY2UxFTATBgNVBAMMDFJvb3QgQ0EgQ2VydDAe
+Fw0yMDA5MjEwMDMwMzBaFw00MDA5MTYwMDMwMzBaMGUxCzAJBgNVBAYTAkNBMREw
+DwYDVQQIDAhFZG1vbnRvbjEUMBIGA1UECgwLTXVwcGV0IFNob3cxFjAUBgNVBAsM
+DVBpZ3MgSW4gU3BhY2UxFTATBgNVBAMMDFJvb3QgQ0EgQ2VydDCCAiIwDQYJKoZI
+hvcNAQEBBQADggIPADCCAgoCggIBAL49I8xYUd72TGGSlwoILLiP00GptPd2K1gh
+QKfZ8jK0rb6zMjUdn6k6hkfnh1WcDdkLA/hqV4NhwQA7drMXOhRxahl2S+fd/pju
++Q5XyUxIS9D8ApbIw9yHGswpWzR6pjgt2HBXjE+3CZRqsRt5YO2CebX9IIQ1k8IW
+icdNKgfaGl7z0Y/SEgZEg4GruR094zLL+aO0hxF+1uixKvtyrvsMbvGMrueImuN3
+zXdvX8NhgyIfp+FQSFvSUv5o8+NFCBICy8wpAmn/w5LKWBihi2m6j9Q0Jek2SSgP
+NmaD3XUIduKIkXROLCLxeIB0wvKTzvCUBbuXdN/iJJned47t86ETk/LzFcn+5rfK
+9az/i8VrLd0LiH74Wy3XEXw0J7bbygIzvelbC6vHCLDkx+KMbN1dsFQpMBxaJcnI
+/eGC5mVwS/k7UH/DicxDO63Y72iI82jBs4wi9yiEoxnE280SMT+/69r8EgH//WuR
+CuoFJb9pfkq4ZzRkPEj7TpCPIyNICARIcdZw+JhbOA0UH7+vn1POX6EDo73irCOG
+x6DAQNTwWplXTW1b5Z2P2C3IFejlN3JtB0s9Kn7FsQlUFK/aRcnLGzPzL2KCrYXv
+wYred+LIdIIhqFAKPhNj2wRJiCWIM+8vvx9lFoQ49U1dZzw5+ilp686KqhqycI9Z
+6GSqPHq1AgMBAAGjYzBhMB0GA1UdDgQWBBQVc+YPGyGQspddB7YUVV8vEDoFZzAf
+BgNVHSMEGDAWgBQVc+YPGyGQspddB7YUVV8vEDoFZzAPBgNVHRMBAf8EBTADAQH/
+MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAQGJgxhf8ItFTDpTj
+ASmAw2Ia328pya2gpyr9UlPCnuf+XY6aLj7YlCZWocW7+HqSKYZbRDBWm6s0/lgz
+U/dQsgLUVA6EZaOlYLMrbzZJZh2BfIOHMEk4uYgVRYIWU1LPnr7oQEv22rVaMjHJ
++gNGkCEIvvqh6d4KnjvDjm72GsDgku/kzJYn4N34N7XiVlq4GBN16v6GYpNXCiw2
+vEARRFLZxt7Zv+K85qGyvxkP0tSkkt2VnCosFJt9JHCHFiFjJDA5FbXZy6DA4CjP
+wsETaqJw222TwUiSC26m/brVZSyQEQRfSW6j3NmVrr+AKCF+5/bXQ3g5f70d+pA9
+X4cxAgE/HFBO1hX82JurImsfBbbuWyRxuNa6cXrXXzmF/KRxyOTeIcLttcnX4mTU
+cVi6LgPZtrEaKGr+hw1mtGpkY5H/lij4F/j6EJb+ovZkA71ixsBn33XXIb0eB9vT
+it4I+f5vybxzznv1ET77HFvylCu/+NkIW1Wps6y1VAxJNxjQbJ6dNY/q1LjA1RZO
+Pvl0E2XPwi5sFysElCKvRHvbvIqBamqFts0bTBFwjOvh4cppBlag9SqlWxVygSrD
+8z5a4yUy37DXH7pBQf60NAmb5Bamz75dzHLVQHgnNuaKCVewy6/UOgQASrMBTSbQ
+eWy6n85n1hUGHdG+zRtxQD6qdl0=
+-----END CERTIFICATE-----
diff --git a/regress/usr.sbin/ocspcheck/server.key b/regress/usr.sbin/ocspcheck/server.key
new file mode 100644
index 00000000000..f87fd82f3ed
--- /dev/null
+++ b/regress/usr.sbin/ocspcheck/server.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA1UUybFStrMI+NzxncAwmFnlQ6M+kYqKqYjuZPEl10CgAKwHI
+MKfxTpdt9MrLo9KIbgj7TB5RzOxS1Wb6Lbxm/KebKuGmVtneZXe0GcNSLML+qdNa
+VZpm0HTnYrwMUUz24iCthUDj1ZrMT64+il32zP+Qp2mHtx3W1h0c7LzAOmENZ5zh
+XRgVPbGYqd5gFcWaS6ARmUDSJgR4sp2SqM3t+3blUEKrJskYvYwDKnwLOWPl20Nj
+Mr+AWty70YPS85/dT6VkB6516I+NZK17TQDk497JfdAZoVliy4yb3F7JTcuTa+IJ
++ryuKK5vzs7yzWok+1pOPMGy7e4jL8y6Jd5ZIQIDAQABAoIBAFMRDqCvIq4lQgJV
+npw/vx4FxoPHTGm2ndKBECAxJJgc3GPj38tDvnMz+/naexKlz8m76dUuAgJlEaZY
+45yowxwpVACRvy4Y0cyHoThfoUQZ9wLCdW7eIqmSvwTv5YRNC+Prgmpiadsq3eUz
+ItzV2GjkKb1rFxc1ohXnZPq4Uc7qhC9ZZuVKzUWCNB8Vo0DvTk5c9/hIobpKULf0
+MzBBOtb5mZHccjzcVsuK/vC5tD3MsAOWljrBVFN/BtjDaDz4zW1dyRC8qVRLYFyu
+iz3QRB0CaNQ89FUdHpbY7IFlw8n1SJpD3hQyN26sHJj7Qy8XjH0WR/eUVOKlK40s
+F/OAHgECgYEA78/E2i4pYzqwTbJxRB11Ytgdp8rl6ifcl0/4P544ZwgD1m0XHJox
+bXu73JEDHuCdBLf3kRxWr6xQdFCX4ZWy61WnWOufhGaTwccySHxVNcxmd0yGyLt7
+IylCjRDqNHJsabA2j9r9rRDYafqHLqZr3mq9U5PdgKVhuZDZwa9HEXECgYEA46rD
+Ptt5ZADNzsZOf1Ta8flDaGjV6/R8xpXN80zPtFHwLKOGqMB6BtfPCvE9V2GSsMFY
+1xGKLki9emSOn4GokEW9O1LhK6BN3bT1xgl/9VJqSDebWPDD4BP7mPNtoSe95CgO
+9g/G6SzSPTfo4+usqfdDIP3vKdloGwzj9Ldq6rECgYEA0cyMJHCUJsq2aRL+wp+f
+Db2SnDQG1sbO1tXQkh+iqoi5isNfn9dJ/MVuQfXfrAjHddRYUuxe7kurC0diyKlF
+oVsLD+D7akKva60QUZfsmCddUWty03Qps0Yqge1VaFLeg8v0v//PRLRjELxrvaU8
+45WwUske1KhbCZQu3aKxYxECgYEA3jzFFsjbeHkobd46piVJDMfLu1IK8KfaXWfC
+gOvMHTOXBZwjSPuKor9rhjzzKic/MHesp1Sh1IiBHcanSqEg0KSjEhPXZeS33eJV
+wBlp5SmsQg62AF4WdthK04Vc0OGgheVspVnFS7zLBaNcHZDjHY8W4k+/dNSawT0W
+EL4zCiECgYAdcBf4CQ9mV482FqccUbn+UqqruDe10PVSz3tka3m6WULVX0BztROQ
+VFyYhtvPcBJVTjlxF+J72OLy9La8GVTPevl5R/Hm0oMNG37wjqiaPuJapfzOUioD
+jcqlEPCqIBI1qcYaVB+4UuAL6uAbYkeRpBG1/nwV6+fzWS4EMrA+Zg==
+-----END RSA PRIVATE KEY-----