diff options
author | Ben Laurie <ben@openssl.org> | 2012-12-14 12:53:53 +0000 |
---|---|---|
committer | Ben Laurie <ben@openssl.org> | 2012-12-14 12:53:53 +0000 |
commit | d65b8b2162f33ac0d53dace588a0847ed827626c (patch) | |
tree | 7fc5f91d14728ccb6934605677bd537b847e6998 /test/tocsp | |
parent | 5dca1e338c068931a1cdcb76d8db303a3d3dce25 (diff) |
Backport OCSP fixes.
Diffstat (limited to 'test/tocsp')
-rw-r--r-- | test/tocsp | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/test/tocsp b/test/tocsp new file mode 100644 index 0000000000..5d6c24abfd --- /dev/null +++ b/test/tocsp @@ -0,0 +1,197 @@ +#!/bin/sh + +cmd='../util/shlib_wrap.sh ../apps/openssl' +ocspdir="ocsp-tests" +stdparams="-trust_other -CApath /dev/null" + +for resp in `ls -1 $ocspdir/*.ors` +do + $cmd base64 -d -in $resp -out $resp.der +done + +echo "=== VALID OCSP RESPONSES ===" +echo "NON-DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/ND1.ors.der -verify_other $ocspdir/ND1_Issuer_ICA.pem $stdparams +if [ $? != 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/ND2.ors.der -verify_other $ocspdir/ND2_Issuer_Root.pem $stdparams +if [ $? != 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/ND3.ors.der -verify_other $ocspdir/ND3_Issuer_Root.pem $stdparams +if [ $? != 0 ]; then exit 1; fi +echo "DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/D1.ors.der -verify_other $ocspdir/D1_Issuer_ICA.pem $stdparams +if [ $? != 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/D2.ors.der -verify_other $ocspdir/D2_Issuer_Root.pem $stdparams +if [ $? != 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/D3.ors.der -verify_other $ocspdir/D3_Issuer_Root.pem $stdparams +if [ $? != 0 ]; then exit 1; fi + +echo "=== INVALID SIGNATURE on the OCSP RESPONSE ===" +echo "NON-DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/ISOP_ND1.ors.der -verify_other $ocspdir/ND1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/ISOP_ND2.ors.der -verify_other $ocspdir/ND2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/ISOP_ND3.ors.der -verify_other $ocspdir/ND3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/ISOP_D1.ors.der -verify_other $ocspdir/D1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/ISOP_D2.ors.der -verify_other $ocspdir/D2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/ISOP_D3.ors.der -verify_other $ocspdir/D3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi + +echo "=== WRONG RESPONDERID in the OCSP RESPONSE ===" +echo "NON-DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/WRID_ND1.ors.der -verify_other $ocspdir/ND1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/WRID_ND2.ors.der -verify_other $ocspdir/ND2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/WRID_ND3.ors.der -verify_other $ocspdir/ND3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/WRID_D1.ors.der -verify_other $ocspdir/D1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/WRID_D2.ors.der -verify_other $ocspdir/D2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/WRID_D3.ors.der -verify_other $ocspdir/D3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi + +echo "=== WRONG ISSUERNAMEHASH in the OCSP RESPONSE ===" +echo "NON-DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/WINH_ND1.ors.der -verify_other $ocspdir/ND1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/WINH_ND2.ors.der -verify_other $ocspdir/ND2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/WINH_ND3.ors.der -verify_other $ocspdir/ND3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/WINH_D1.ors.der -verify_other $ocspdir/D1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/WINH_D2.ors.der -verify_other $ocspdir/D2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/WINH_D3.ors.der -verify_other $ocspdir/D3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi + +echo "=== WRONG ISSUERKEYHASH in the OCSP RESPONSE ===" +echo "NON-DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/WIKH_ND1.ors.der -verify_other $ocspdir/ND1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/WIKH_ND2.ors.der -verify_other $ocspdir/ND2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/WIKH_ND3.ors.der -verify_other $ocspdir/ND3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/WIKH_D1.ors.der -verify_other $ocspdir/D1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/WIKH_D2.ors.der -verify_other $ocspdir/D2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/WIKH_D3.ors.der -verify_other $ocspdir/D3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi + +echo "=== WRONG KEY in the DELEGATED OCSP SIGNING CERTIFICATE ===" +echo "DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/WKDOSC_D1.ors.der -verify_other $ocspdir/D1_Issuer_ICA.pem $std_params +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/WKDOSC_D2.ors.der -verify_other $ocspdir/D2_Issuer_Root.pem $std_params +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/WKDOSC_D3.ors.der -verify_other $ocspdir/D3_Issuer_Root.pem $std_params +if [ $? = 0 ]; then exit 1; fi + +echo "=== INVALID SIGNATURE on the DELEGATED OCSP SIGNING CERTIFICATE ===" +echo "DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/ISDOSC_D1.ors.der -verify_other $ocspdir/D1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/ISDOSC_D2.ors.der -verify_other $ocspdir/D2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/ISDOSC_D3.ors.der -verify_other $ocspdir/D3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi + +echo "=== WRONG SUBJECT NAME in the ISSUER CERTIFICATE ===" +echo "NON-DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/ND1.ors.der -verify_other $ocspdir/WSNIC_ND1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/ND2.ors.der -verify_other $ocspdir/WSNIC_ND2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/ND3.ors.der -verify_other $ocspdir/WSNIC_ND3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/D1.ors.der -verify_other $ocspdir/WSNIC_D1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/D2.ors.der -verify_other $ocspdir/WSNIC_D2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/D3.ors.der -verify_other $ocspdir/WSNIC_D3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi + +echo "=== WRONG KEY in the ISSUER CERTIFICATE ===" +echo "NON-DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/ND1.ors.der -verify_other $ocspdir/WKIC_ND1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/ND2.ors.der -verify_other $ocspdir/WKIC_ND2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/ND3.ors.der -verify_other $ocspdir/WKIC_ND3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/D1.ors.der -verify_other $ocspdir/WKIC_D1_Issuer_ICA.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/D2.ors.der -verify_other $ocspdir/WKIC_D2_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/D3.ors.der -verify_other $ocspdir/WKIC_D3_Issuer_Root.pem $stdparams +if [ $? = 0 ]; then exit 1; fi + +echo "=== INVALID SIGNATURE on the ISSUER CERTIFICATE ===" +# Expect success, because we're explicitly trusting the issuer certificate. +echo "NON-DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/ND1.ors.der -verify_other $ocspdir/ISIC_ND1_Issuer_ICA.pem $stdparams +if [ $? != 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/ND2.ors.der -verify_other $ocspdir/ISIC_ND2_Issuer_Root.pem $stdparams +if [ $? != 0 ]; then exit 1; fi +echo "NON-DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/ND3.ors.der -verify_other $ocspdir/ISIC_ND3_Issuer_Root.pem $stdparams +if [ $? != 0 ]; then exit 1; fi +echo "DELEGATED; Intermediate CA -> EE" +$cmd ocsp -respin $ocspdir/D1.ors.der -verify_other $ocspdir/ISIC_D1_Issuer_ICA.pem $stdparams +if [ $? != 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> Intermediate CA" +$cmd ocsp -respin $ocspdir/D2.ors.der -verify_other $ocspdir/ISIC_D2_Issuer_Root.pem $stdparams +if [ $? != 0 ]; then exit 1; fi +echo "DELEGATED; Root CA -> EE" +$cmd ocsp -respin $ocspdir/D3.ors.der -verify_other $ocspdir/ISIC_D3_Issuer_Root.pem $stdparams +if [ $? != 0 ]; then exit 1; fi + +/bin/rm $ocspdir/*.ors.der +echo "ALL OCSP TESTS SUCCESSFUL" +exit 0 |