+++ /dev/null
-#! /bin/csh -f
-#
-# verify contents of /System/Library/Keychains/SystemCACertificates.keychain
-#
-set BUILD_DIR=$LOCAL_BUILD_DIR
-set QUIET=NO
-#
-set CERT_KC=/System/Library/Keychains/SystemCACertificates.keychain
-#
-# the contents of SystemCACertificates gets dumped here as a pile of certs.
-# We delete on successful exit, else we leave them there.
-#
-set CERTS_DIR=$BUILD_DIR/intermediateCerts
-#
-# binaries we need
-#
-set CERTCRL=$BUILD_DIR/certcrl
-set CERTS_FROM_DB=$BUILD_DIR/certsFromDb
-foreach targ ($CERTCRL $CERTS_FROM_DB)
- if(! -e $targ) then
- echo === $targ is missing. Try building clxutil.
- exit(1)
- endif
-end
-
-#
-set TRUST_SETTINGS_ARG=
-#
-while ( $#argv > 0 )
- switch ( "$argv[1]" )
- case q:
- set QUIET=YES
- shift
- breaksw
- case 't':
- set TRUST_SETTINGS_ARG=-g
- shift
- breaksw
- default:
- echo "Usage: intermedTest [q(uiet)] [t(rustSettings)]"
- exit(1)
- endsw
-end
-#
-echo Starting intermedTest
-
-if ($QUIET == NO) then
- echo Initializing $CERTS_DIR...
-endif
-set cmd="rm -rf $CERTS_DIR"
-if ($QUIET == NO) then
- echo $cmd
-endif
-$cmd || exit(1)
-set cmd="mkdir -p $CERTS_DIR"
-if ($QUIET == NO) then
- echo $cmd
-endif
-$cmd || exit(1)
-
-if ($QUIET == NO) then
- echo Extracting certs from $CERT_KC... ===
-endif
-set cmd="$CERTS_FROM_DB $CERT_KC f $CERTS_DIR/intermed q"
-if ($QUIET == NO) then
- echo $cmd
-endif
-$cmd || exit(1)
-
-#
-# certcrl args:
-#
-# -s use system anchors
-# -a allow certs unverified by CRLs
-# -f leaf cert is a CA
-# -L silent
-# -g use Trust Settings
-#
-# We can also specify an evaluation date prior to the expiration of
-# various intermediate certs via the EVAL_TIME string:
-#
-#set EVAL_TIME="-T 20081201000000"
-#echo "### Verification date for intermedTest is 2008-12-01"
-set EVAL_TIME=""
-
-set GOT_ERROR=0
-foreach certFile ($CERTS_DIR/*)
- set cmd="$CERTCRL -c $certFile -s -a -f -L $TRUST_SETTINGS_ARG $EVAL_TIME"
- if ($QUIET == NO) then
- echo $cmd
- endif
-
- set CERTNAM=`basename "$certFile"`
- set CERTNUM=`echo -n "$CERTNAM" | sed -e 's/^intermed_\([0-9].*\)/\1/g'`
- # skip DOD intermediates in this range as AIA fetch is timing out!
- if($CERTNUM > 43 && $CERTNUM < 54) then
- echo "******** Note: skipping $CERTNAM due to unreachable AIA location"
- set ERR=0
- else
- $cmd
- set ERR=$status
- endif
-
- if($ERR == 1) then
- echo "******** Note: $CERTNAM is expired"
- else
- if($ERR != 0) then
- echo "++++++++ Verification error on $CERTNAM"
- $CERTCRL -c $certFile -s -a -f -v
- set GOT_ERROR=1
- endif
- endif
-end
-
-if($GOT_ERROR == 1) then
- echo ++++ TEST FAILED ++++
- exit(1)
-endif
-
-set cmd="rm -rf $CERTS_DIR"
-if ($QUIET == NO) then
- echo $cmd
-endif
-# $cmd || exit(1)
-
-if ($QUIET == NO) then
- echo "...intermedTest complete"
-endif