$! TOCSP.COM $ $ cmd = "mcr ''exe_dir'openssl" $ ocspdir = "ocsp-tests" $ ! 17 December 2012 so we don't get certificate expiry errors. $ check_time = "-attime 1355875200" $ $ test_ocsp: subroutine $ set noon $ 'cmd' base64 -d -in [.'ocspdir']'p1' -out f.d $ 'cmd' ocsp -respin f.d -partial_chain 'check_time' - "-CAfile" [.'ocspdir']'p2' -verify_other [.'ocspdir']'p2' - "-CApath" nul: $ ! when ocsp exits with 0, VMS severity becomes 1 $ ! when ocsp exits with 1, VMS severity becomes 2 $ ! See the definition of EXIT(n) in the VMS sextion in e_os.h $ if $severity .ne. 'p3'+1 then exit 2 ! severity error $ exit 1 $ endsubroutine $ $ on error then exit 2 $ write sys$output "=== VALID OCSP RESPONSES ===" $ write sys$output "NON-DELEGATED; Intermediate CA -> EE" $ call test_ocsp ND1.ors ND1_Issuer_ICA.pem 0 $ write sys$output "NON-DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp ND2.ors ND2_Issuer_Root.pem 0 $ write sys$output "NON-DELEGATED; Root CA -> EE" $ call test_ocsp ND3.ors ND3_Issuer_Root.pem 0 $ write sys$output "DELEGATED; Intermediate CA -> EE" $ call test_ocsp D1.ors D1_Issuer_ICA.pem 0 $ write sys$output "DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp D2.ors D2_Issuer_Root.pem 0 $ write sys$output "DELEGATED; Root CA -> EE" $ call test_ocsp D3.ors D3_Issuer_Root.pem 0 $ $ write sys$output "=== INVALID SIGNATURE on the OCSP RESPONSE ===" $ write sys$output "NON-DELEGATED; Intermediate CA -> EE" $ call test_ocsp ISOP_ND1.ors ND1_Issuer_ICA.pem 1 $ write sys$output "NON-DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp ISOP_ND2.ors ND2_Issuer_Root.pem 1 $ write sys$output "NON-DELEGATED; Root CA -> EE" $ call test_ocsp ISOP_ND3.ors ND3_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Intermediate CA -> EE" $ call test_ocsp ISOP_D1.ors D1_Issuer_ICA.pem 1 $ write sys$output "DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp ISOP_D2.ors D2_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Root CA -> EE" $ call test_ocsp ISOP_D3.ors D3_Issuer_Root.pem 1 $ $ write sys$output "=== WRONG RESPONDERID in the OCSP RESPONSE ===" $ write sys$output "NON-DELEGATED; Intermediate CA -> EE" $ call test_ocsp WRID_ND1.ors ND1_Issuer_ICA.pem 1 $ write sys$output "NON-DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp WRID_ND2.ors ND2_Issuer_Root.pem 1 $ write sys$output "NON-DELEGATED; Root CA -> EE" $ call test_ocsp WRID_ND3.ors ND3_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Intermediate CA -> EE" $ call test_ocsp WRID_D1.ors D1_Issuer_ICA.pem 1 $ write sys$output "DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp WRID_D2.ors D2_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Root CA -> EE" $ call test_ocsp WRID_D3.ors D3_Issuer_Root.pem 1 $ $ write sys$output "=== WRONG ISSUERNAMEHASH in the OCSP RESPONSE ===" $ write sys$output "NON-DELEGATED; Intermediate CA -> EE" $ call test_ocsp WINH_ND1.ors ND1_Issuer_ICA.pem 1 $ write sys$output "NON-DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp WINH_ND2.ors ND2_Issuer_Root.pem 1 $ write sys$output "NON-DELEGATED; Root CA -> EE" $ call test_ocsp WINH_ND3.ors ND3_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Intermediate CA -> EE" $ call test_ocsp WINH_D1.ors D1_Issuer_ICA.pem 1 $ write sys$output "DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp WINH_D2.ors D2_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Root CA -> EE" $ call test_ocsp WINH_D3.ors D3_Issuer_Root.pem 1 $ $ write sys$output "=== WRONG ISSUERKEYHASH in the OCSP RESPONSE ===" $ write sys$output "NON-DELEGATED; Intermediate CA -> EE" $ call test_ocsp WIKH_ND1.ors ND1_Issuer_ICA.pem 1 $ write sys$output "NON-DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp WIKH_ND2.ors ND2_Issuer_Root.pem 1 $ write sys$output "NON-DELEGATED; Root CA -> EE" $ call test_ocsp WIKH_ND3.ors ND3_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Intermediate CA -> EE" $ call test_ocsp WIKH_D1.ors D1_Issuer_ICA.pem 1 $ write sys$output "DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp WIKH_D2.ors D2_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Root CA -> EE" $ call test_ocsp WIKH_D3.ors D3_Issuer_Root.pem 1 $ $ write sys$output "=== WRONG KEY in the DELEGATED OCSP SIGNING CERTIFICATE ===" $ write sys$output "DELEGATED; Intermediate CA -> EE" $ call test_ocsp WKDOSC_D1.ors D1_Issuer_ICA.pem 1 $ write sys$output "DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp WKDOSC_D2.ors D2_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Root CA -> EE" $ call test_ocsp WKDOSC_D3.ors D3_Issuer_Root.pem 1 $ $ write sys$output "=== INVALID SIGNATURE on the DELEGATED OCSP SIGNING CERTIFICATE ===" $ write sys$output "DELEGATED; Intermediate CA -> EE" $ call test_ocsp ISDOSC_D1.ors D1_Issuer_ICA.pem 1 $ write sys$output "DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp ISDOSC_D2.ors D2_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Root CA -> EE" $ call test_ocsp ISDOSC_D3.ors D3_Issuer_Root.pem 1 $ $ write sys$output "=== WRONG SUBJECT NAME in the ISSUER CERTIFICATE ===" $ write sys$output "NON-DELEGATED; Intermediate CA -> EE" $ call test_ocsp ND1.ors WSNIC_ND1_Issuer_ICA.pem 1 $ write sys$output "NON-DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp ND2.ors WSNIC_ND2_Issuer_Root.pem 1 $ write sys$output "NON-DELEGATED; Root CA -> EE" $ call test_ocsp ND3.ors WSNIC_ND3_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Intermediate CA -> EE" $ call test_ocsp D1.ors WSNIC_D1_Issuer_ICA.pem 1 $ write sys$output "DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp D2.ors WSNIC_D2_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Root CA -> EE" $ call test_ocsp D3.ors WSNIC_D3_Issuer_Root.pem 1 $ $ write sys$output "=== WRONG KEY in the ISSUER CERTIFICATE ===" $ write sys$output "NON-DELEGATED; Intermediate CA -> EE" $ call test_ocsp ND1.ors WKIC_ND1_Issuer_ICA.pem 1 $ write sys$output "NON-DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp ND2.ors WKIC_ND2_Issuer_Root.pem 1 $ write sys$output "NON-DELEGATED; Root CA -> EE" $ call test_ocsp ND3.ors WKIC_ND3_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Intermediate CA -> EE" $ call test_ocsp D1.ors WKIC_D1_Issuer_ICA.pem 1 $ write sys$output "DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp D2.ors WKIC_D2_Issuer_Root.pem 1 $ write sys$output "DELEGATED; Root CA -> EE" $ call test_ocsp D3.ors WKIC_D3_Issuer_Root.pem 1 $ $ write sys$output "=== INVALID SIGNATURE on the ISSUER CERTIFICATE ===" $ !# Expect success, because we're explicitly trusting the issuer certificate. $ write sys$output "NON-DELEGATED; Intermediate CA -> EE" $ call test_ocsp ND1.ors ISIC_ND1_Issuer_ICA.pem 0 $ write sys$output "NON-DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp ND2.ors ISIC_ND2_Issuer_Root.pem 0 $ write sys$output "NON-DELEGATED; Root CA -> EE" $ call test_ocsp ND3.ors ISIC_ND3_Issuer_Root.pem 0 $ write sys$output "DELEGATED; Intermediate CA -> EE" $ call test_ocsp D1.ors ISIC_D1_Issuer_ICA.pem 0 $ write sys$output "DELEGATED; Root CA -> Intermediate CA" $ call test_ocsp D2.ors ISIC_D2_Issuer_Root.pem 0 $ write sys$output "DELEGATED; Root CA -> EE" $ call test_ocsp D3.ors ISIC_D3_Issuer_Root.pem 0 $ $ write sys$output "ALL OCSP TESTS SUCCESSFUL" $ exit 1