+++ /dev/null
-#! /bin/csh -f
-#
-# Build a new X509Anchors or X509Certificates file from all of the certs in
-# specified directory.
-#
-if ( $#argv != 2 ) then
- echo Usage: buildX509Anchors anchors\|certs anchor_dir
- exit(1)
-endif
-
-set KCDIR=/System/Library/Keychains
-set CERTSDIR=$argv[2]
-set SECTOOL=/usr/bin/security
-
-switch ( "$argv[1]" )
- case anchors:
- set KCFILE=$KCDIR/X509Anchors
- set KCFILE_BACK=$KCDIR/X509Anchors_old
- set KC_PWD=X509Anchors
- breaksw
- case certs:
- set KCFILE=$KCDIR/X509Certificates
- set KCFILE_BACK=$KCDIR/X509Certificates_old
- set KC_PWD=X509Certificates
- breaksw
- default:
- echo Usage: buildX509Anchors anchors\|certs anchor_dir
- exit(1)
-endsw
-
-if ( -e $KCFILE ) then
- echo Saving old $KCFILE...
- set cmd="rm -f $KCFILE_BACK"
- echo $cmd
- $cmd || exit(1)
- set cmd="mv $KCFILE $KCFILE_BACK"
- echo $cmd
- $cmd || exit(1)
-else
- echo Warning: no existing $KCFILE!
-endif
-
-set cmd="$SECTOOL create-keychain -p $KC_PWD $KCFILE"
-$cmd || exit(1)
-
-set cmd="cd $CERTSDIR"
-echo $cmd
-$cmd || exit(1)
-foreach i (*)
- if( ( -f "$i" ) && ( "$i" != X509Anchors) ) then
- set cmd="$SECTOOL add-certificate -k $KCFILE $i"
- echo $cmd
- $SECTOOL add-certificate -k $KCFILE "$i" || exit(1)
- endif
-end
-echo .../Complete.