]> git.saurik.com Git - apple/security.git/blame - SecurityTests/clxutils/anchorTest/intermedSourceTest
Security-57740.31.2.tar.gz
[apple/security.git] / SecurityTests / clxutils / anchorTest / intermedSourceTest
CommitLineData
d8f41ccd
A
1#! /bin/csh -f
2#
3# verify all of the certs in specified directory as intermediates. They must
4# verify against the system roots.
5#
6if ( $#argv < 1 ) then
7 echo "Usage: intermedSourceTest directory [q(uiet)] [t(rustSettings)]"
8 echo A good directory would be ../../../security_certificates/certs/
9 exit(1)
10endif
11#
12set BUILD_DIR=$LOCAL_BUILD_DIR
13set CERTS_DIR=$argv[1]
14
15set QUIET=0
16set TRUST_SETTINGS_ARG=
17shift
18while ( $#argv > 0 )
19 switch ( "$argv[1]" )
20 case q:
21 set QUIET = 1
22 shift
23 breaksw
24 case t:
25 set TRUST_SETTINGS_ARG = -g
26 shift
27 breaksw
28 default:
29 echo Usage: intermedSourceTest directory
30 exit(1)
31 endsw
32end
33
34#
35# binaries we need
36#
37set CERTCRL=$BUILD_DIR/certcrl
38set CERTS_FROM_DB=$BUILD_DIR/certsFromDb
39foreach targ ($CERTCRL $CERTS_FROM_DB)
40 if(! -e $targ) then
41 echo === $targ is missing. Try building clxutil.
42 exit(1)
43 endif
44end
45
46set SYSTEM_CERTS=/System/Library/Keychains/SystemCACertificates.keychain
47
48echo starting intermedSourceTest
49#
50# certcrl args:
51#
52# -c cert to eval
53# -s use system anchors
54# -a allow certs unverified by CRLs
55# -n no network fetch of CRLs
56# -N no network fetch of certs
57# -f leaf cert is a CA
58# -d SYSTEM_CERTS -- use additional certs from there
59# -L silent
60# -g use Trust Settings
61#
62cd $CERTS_DIR
63foreach certFile (*)
64 if ( -f "$certFile" ) then
65 if($QUIET == 0) then
66 echo testing $certFile....
67 endif
68 $CERTCRL -c "$certFile" -s -a -f -L -n -N -d $SYSTEM_CERTS $TRUST_SETTINGS_ARG
69 set ERR=$status
70 if($ERR == 1) then
71 echo "Note: $certFile is expired"
72 else
73 if($ERR != 0) then
74 echo "++++++++ Verification error on $certFile ($ERR)"
75 $CERTCRL -c "$certFile" -s -a -f -v -n -N -d $SYSTEM_CERTS $TRUST_SETTINGS_ARG
76 exit(1)
77 endif
78 endif
79end
80
81if($QUIET == 0) then
82 echo "...intermedSourceTest complete"
83endif
84