]> git.saurik.com Git - apple/security.git/blame - SecurityTests/clxutils/importExport/importExportECDSA_P12_Tool
Security-57740.31.2.tar.gz
[apple/security.git] / SecurityTests / clxutils / importExport / importExportECDSA_P12_Tool
CommitLineData
d8f41ccd
A
1#! /bin/csh -f
2#
3# Run one iteration of ECDSA/PKC12 portion of import/export tests.
4# Only used as a subroutine call from importExportECDSA_P12.
5#
6# Usage
7# importExportECDSA_P12_Tool pfxFile clean(YES|NO) quiet(YES|NO)
8#
9if ( $#argv != 3 ) then
10 exit(1)
11endif
12set PFX=$argv[1]
13set CLEAN=$argv[2]
14set QUIET=$argv[3]
15set QUIET_ARG=
16set QUIET_FLAG=
17if ($QUIET == YES) then
18 set QUIET_ARG=-q
19 set QUIET_FLAG=q
20endif
21
22source setupCommon
23
24set PFX_PASSWORD=password
25set KEYBASE=${BUILD_DIR}/ecdsaP12
26set PRIV_KEY=${KEYBASE}_priv.der
27set PUB_KEY=${KEYBASE}_pub.der
28set CERT_PEM=${BUILD_DIR}/ecdsa_certs.pem
29set CERT_DER=${BUILD_DIR}/ecdsa_certs.der
30set PLAINTEXT=somePlainText
31set SIGFILE=${BUILD_DIR}/ecdsasig
32
33# empty the keychain
34if ($QUIET == NO) then
35 echo $CLEANKC
36endif
37$CLEANKC || exit(1)
38
39# import the p12 - No ACL, extractable in the clear
40set cmd="$KCIMPORT $PFX -k $KEYCHAIN -z $PFX_PASSWORD -t agg -f pkcs12 -n -e $QUIET_ARG"
41if ($QUIET == NO) then
42 echo $cmd
43endif
44$cmd || exit(1)
45
46# export key to clear OpenSSL form
47set cmd="$KCEXPORT $KEYCHAIN -t privKeys -f openssl -o $PRIV_KEY $QUIET_ARG"
48if ($QUIET == NO) then
49 echo $cmd
50endif
51$cmd || exit(1)
52
53# export cert
54set cmd="$KCEXPORT $KEYCHAIN -t certs -o $CERT_PEM -f pemseq $QUIET_ARG"
55if ($QUIET == NO) then
56 echo $cmd
57endif
58$cmd || exit(1)
59
60# convert cert to DER
61set cmd="$PEMTOOL d $CERT_PEM $CERT_DER $QUIET_FLAG"
62if ($QUIET == NO) then
63 echo $cmd
64endif
65$cmd || exit(1)
66
67# extract pub key from cert
68set cmd="$KEY_FROM_CERT $QUIET_ARG $CERT_DER $PUB_KEY"
69if ($QUIET == NO) then
70 echo $cmd
71endif
72$cmd || exit(1)
73
74# sign
75set cmd="$RSATOOL s a=e v=o k=$KEYBASE p=$PLAINTEXT s=$SIGFILE $QUIET_FLAG"
76if ($QUIET == NO) then
77 echo $cmd
78endif
79$cmd || exit(1)
80
81# verify
82set cmd="$RSATOOL v a=e k=$KEYBASE p=$PLAINTEXT s=$SIGFILE $QUIET_FLAG"
83if ($QUIET == NO) then
84 echo $cmd
85endif
86$cmd || exit(1)
87
88if($CLEAN == YES) then
89 set cmd="rm -f $PRIV_KEY $PUB_KEY $CERT_PEM $CERT_DER $SIGFILE"
90 if ($QUIET == NO) then
91 echo $cmd
92 endif
93 $cmd || exit(1)
94endif
95