#! /bin/csh -f
set USE_REF_BLOBS=NO
set QUIET=NO
set QUIET_ARG=
set MULTI_UPDATE=
setenv | /usr/bin/grep LOCAL_BUILD_DIR > /dev/null
if($status != 0) then
echo Please set env var LOCAL_BUILD_DIR.
exit(1)
endif
set BUILD_DIR=$LOCAL_BUILD_DIR
set SRCH_KC=
set SIGNER=dmitch@apple.com
set RECIP=dmitch@apple.com
set SIGNER2=dmitch@dmitch.com
set RECIP2=dmitch@dmitch.com
set MANUAL_EVAL=
set ANCHOR_CERT=
while ( $ switch ( "$argv[1]" )
case -r:
set USE_REF_BLOBS = YES
shift
breaksw
case -q:
set QUIET=YES
set QUIET_ARG = -Z
shift
breaksw
case -m:
set MULTI_UPDATE = -m
shift
breaksw
case -s:
if($ cat cmstestUsage
exit(1)
endif
set SIGNER=$argv[2]
set RECIP=$argv[2]
shift
shift
breaksw
case -S:
if($ cat cmstestUsage
exit(1)
endif
set SIGNER2=$argv[2]
set RECIP2=$argv[2]
shift
shift
breaksw
case -k:
if($ cat cmstestUsage
exit(1)
endif
set SRCH_KC="-k $argv[2]"
shift
shift
breaksw
case -a:
if($ cat cmstestUsage
exit(1)
endif
set ANCHOR_CERT="-A $argv[2]"
set MANUAL_EVAL="-M"
shift
shift
breaksw
default:
cat cmstestUsage
exit(1)
endsw
end
set BUILD_DIR=$LOCAL_BUILD_DIR
set CMSTOOL=$BUILD_DIR/newCmsTool
set PTEXT=ptext
set RPTEXT=${BUILD_DIR}/rptext
set OTHER_CERT0=GTE_SGC.cer
set OTHER_CERT1=dmitchIChat.cer
set CERT_FILEBASE=${BUILD_DIR}/outcert
set STD_SIGN_CMD="$CMSTOOL sign $SRCH_KC -S $SIGNER $QUIET_ARG $MULTI_UPDATE"
set STD_ENCR_CMD="$CMSTOOL envel $SRCH_KC -r $RECIP $QUIET_ARG $MULTI_UPDATE"
set STD_SIGN_ENCR_CMD="$CMSTOOL signEnv $SRCH_KC -S $SIGNER -r $RECIP $QUIET_ARG $MULTI_UPDATE"
set STD_PARSE_CMD="$CMSTOOL parse -o $RPTEXT $SRCH_KC $ANCHOR_CERT $MANUAL_EVAL $QUIET_ARG $MULTI_UPDATE"
set STD_CMP_CMD="cmp $PTEXT $RPTEXT"
set O_SIGN=${BUILD_DIR}/sign.p7
set O_ENV=${BUILD_DIR}/env.p7
set O_SIGN_ENV=${BUILD_DIR}/signEnv.p7
set O_SIGN_AUTH=${BUILD_DIR}/sign_auth.p7
set O_SIGN_ENV_AUTH=${BUILD_DIR}/signEnv_auth.p7
set O_SIGN_DETACH=${BUILD_DIR}/sign_det.p7
set O_SIGN_TWO=${BUILD_DIR}/sign_two.p7
set O_SIGN_ENV_TWO_SIGN=${BUILD_DIR}/signEnv_twoSign.p7
set O_ENV_TWO=${BUILD_DIR}/env_two.p7
set O_SIGN_ENV_TWO_SIGN_TWO_RECIP=${BUILD_DIR}/signEnv_twoSign_twoRecip.p7
set O_SIGN_ADD_CERTS=${BUILD_DIR}/sign_certs.p7
set O_SIGN_ENV_ADD_CERTS=${BUILD_DIR}/signEnv_certs.p7
set O_SIGN_ONLY_CERTS=${BUILD_DIR}/certsOnly.p7
set O_SIGN_NONE=${BUILD_DIR}/sign_nocerts.p7
set O_SIGN_SIGNER=${BUILD_DIR}/sign_signer.p7
set O_SIGN_WITHROOT=${BUILD_DIR}/sign_withroot.p7
if($USE_REF_BLOBS == YES) then
if($QUIET == NO) then
echo copying reference blobs to Build directory...
echo "cp *.p7 ${BUILD_DIR}/"
endif
cp *.p7 ${BUILD_DIR} || exit(1)
else
if($QUIET == NO) then
echo generating blobs in Build directory...
endif
set cmd="$STD_SIGN_CMD -i $PTEXT -o $O_SIGN"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_ENCR_CMD -i $PTEXT -o $O_ENV"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_SIGN_ENCR_CMD -i $PTEXT -o $O_SIGN_ENV"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_SIGN_CMD -i $PTEXT -o $O_SIGN_AUTH -e a"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_SIGN_ENCR_CMD -i $PTEXT -o $O_SIGN_ENV_AUTH -e a"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_SIGN_CMD -i $PTEXT -o $O_SIGN_DETACH -d"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_SIGN_CMD -i $PTEXT -o $O_SIGN_TWO -S $SIGNER2"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_SIGN_ENCR_CMD -i $PTEXT -o $O_SIGN_ENV_TWO_SIGN -S $SIGNER2"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_ENCR_CMD -i $PTEXT -o $O_ENV_TWO -r $RECIP2"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_SIGN_ENCR_CMD -i $PTEXT -o $O_SIGN_ENV_TWO_SIGN_TWO_RECIP -S $SIGNER2 -r $RECIP2"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_SIGN_CMD -i $PTEXT -o $O_SIGN_ADD_CERTS -C $OTHER_CERT0 -C $OTHER_CERT1"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_SIGN_ENCR_CMD -i $PTEXT -o $O_SIGN_ENV_ADD_CERTS -C $OTHER_CERT0 -C $OTHER_CERT1"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$CMSTOOL certs -o $O_SIGN_ONLY_CERTS $QUIET_ARG -C $OTHER_CERT0 -C $OTHER_CERT1"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_SIGN_CMD -i $PTEXT -o $O_SIGN_NONE -t none"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_SIGN_CMD -i $PTEXT -o $O_SIGN_SIGNER -t signer"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_SIGN_CMD -i $PTEXT -o $O_SIGN_WITHROOT -t chainWithRoot"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
endif
if($QUIET == NO) then
echo verifying blobs in Build directory...
endif
set cmd="$STD_PARSE_CMD -i $O_SIGN -v sign -E d -s 1 -N 2"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$STD_PARSE_CMD -i $O_ENV -v encr -N 0"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$STD_PARSE_CMD -i $O_SIGN_ENV -v signEnv -E d -s 1 -N 2"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$STD_PARSE_CMD -i $O_SIGN_AUTH -v sign -E a -s 1 -N 2"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$STD_PARSE_CMD -i $O_SIGN_ENV_AUTH -v signEnv -E a -s 1 -N 2"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$CMSTOOL parse -i $O_SIGN_DETACH -D $PTEXT $SRCH_KC $ANCHOR_CERT $MANUAL_EVAL -v sign -E d -s 1 $QUIET_ARG $MULTI_UPDATE -N 2"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_PARSE_CMD -i $O_SIGN_TWO -v sign -E d -s 2 -N 4"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$STD_PARSE_CMD -i $O_SIGN_ENV_TWO_SIGN -v signEnv -E d -s 2 -N 4"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$STD_PARSE_CMD -i $O_ENV_TWO -v encr -N 0"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$STD_PARSE_CMD -i $O_SIGN_ENV_TWO_SIGN_TWO_RECIP -v signEnv -E d -s 2 -N 4"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_PARSE_CMD -i $O_SIGN_ADD_CERTS -v sign -E d -s 1 -N 4"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$STD_PARSE_CMD -i $O_SIGN_ENV_ADD_CERTS -v signEnv -E d -s 1 -N 4"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$STD_PARSE_CMD -i $O_SIGN_NONE -v sign -E d -s 1 -N 0"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$STD_PARSE_CMD -i $O_SIGN_SIGNER -v sign -E d -s 1 -N 1"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$STD_PARSE_CMD -i $O_SIGN_WITHROOT -v sign -E d -s 1 -N 3"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$STD_CMP_CMD"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo rm $RPTEXT
endif
rm $RPTEXT
set cmd="$CMSTOOL parse -i $O_SIGN_ONLY_CERTS $QUIET_ARG $MULTI_UPDATE -v sign -s 0 -N 2 -f $CERT_FILEBASE"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="cmp $OTHER_CERT1 ${CERT_FILEBASE}_0.cer"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="cmp $OTHER_CERT0 ${CERT_FILEBASE}_1.cer"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="rm ${CERT_FILEBASE}_0.cer ${CERT_FILEBASE}_1.cer"
if($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if($QUIET == NO) then
echo === cmstest Succeeded ===
endif