--- /dev/null
+#! /bin/csh -f
+#
+# run SSL tests.
+# For now the sslSession run using the imported p12 identity is disabled by default
+# since there is apparently no way to avoid the UI resulting from attempting
+# to use a private key imported via p12 (even to modify the ACL by the same program
+# that imported it!).
+#
+#
+set QUIET=
+set QUIET_=
+set VERB=
+set PINGSSL_QUIET=
+set NON_BLOCK=
+set LARGE_DH=
+set P12_SESSION=NO
+set DO_PING=YES
+set RING_BUFS=
+
+source sslKcSetup
+
+#
+while ( $#argv > 0 )
+ switch ( "$argv[1]" )
+ case v:
+ set VERB = v
+ shift
+ breaksw
+ case q:
+ set QUIET = q
+ set QUIET_ = -q
+ set PINGSSL_QUIET = s
+ shift
+ breaksw
+ case p:
+ set P12_SESSION = YES
+ shift
+ breaksw
+ case b:
+ set NON_BLOCK=b
+ shift
+ breaksw
+ case l:
+ set LARGE_DH=l
+ shift
+ breaksw
+ case n:
+ set DO_PING=NO
+ shift
+ breaksw
+ case R:
+ set RING_BUFS=R
+ shift
+ breaksw
+ default:
+ cat ssldvtUsage
+ exit(1)
+ endsw
+end
+#
+# Verify presence and validity of required certs
+#
+if((! -e $LOCAL_CERT) || (! -e $CLIENT_CERT) || \
+ (! -e $LOCAL_KC_PATH) || (! -e $CLIENT_KC_PATH) || \
+ (! -e $P12_KC_PATH) || (! -e $P12_ROOT_CERT)) then
+ cat ssldvtCertErr
+ exit(1)
+endif
+$BUILD_DIR/certcrl -c $LOCAL_CERT -a -e=CSSMERR_TP_INVALID_ANCHOR_CERT >> /dev/null
+if($status) then
+ echo === initial run of certcrl yielded unexpected results ===
+ cat ssldvtCertErr
+ exit(1)
+endif
+
+# P12-based, RSA
+if($P12_SESSION == YES) then
+ $BUILD_DIR/sslSession $P12_KC z=$P12_KC_PWD a $P12_ROOT_CERT k $QUIET $VERB $NON_BLOCK $RING_BUFS || exit(1)
+endif
+$BUILD_DIR/sslAlert $QUIET $VERB s=$LOCAL_CERT c=$CLIENT_CERT $NON_BLOCK $RING_BUFS || exit(1)
+$BUILD_DIR/sslProt $QUIET $VERB s=$LOCAL_CERT $NON_BLOCK $RING_BUFS || exit(1)
+$BUILD_DIR/sslAuth $QUIET $VERB s=$LOCAL_CERT c=$CLIENT_CERT $NON_BLOCK $RING_BUFS || exit(1)
+$BUILD_DIR/sslCipher $QUIET $VERB $NON_BLOCK s=$LOCAL_CERT d=$DSA_CERT $LARGE_DH $RING_BUFS || exit(1)
+#
+# Use cert configured for client use on server side, verify policy fail
+#
+$BUILD_DIR/sslSession $CLIENT_KC a $CLIENT_CERT x $QUIET $RING_BUFS || exit(1)
+#
+# Use cert configured for server use on client side, verify policy fail
+#
+$BUILD_DIR/sslSession $LOCAL_KC a $LOCAL_CERT c=$LOCAL_KC X u $RING_BUFS $QUIET || exit(1)
+#
+# check for cert-specific errors
+#
+set SSL_SCRIPT_DIR=`pwd`
+#
+# This one needs certs in current directory; copy the script
+# to build dir and run there; return to cwd afterwards
+#
+cp sslExtendUse.scr $BUILD_DIR
+cd $BUILD_DIR
+./certcrl -S sslExtendUse.scr $QUIET_ || exit(1)
+cd $SSL_SCRIPT_DIR
+#
+if($DO_PING == YES) then
+ ../sslViewer/verifyPing $PINGSSL_QUIET $VERB $NON_BLOCK || exit(1)
+endif
+
+echo "### ssldvt completed successfully. ###"