importExportOpensslWrap [plain text]
#! /bin/csh -f
source setupCommon
set OPENSSLEXPORTTOOL=./exportOpensslTool
set PASSWORD=foobar
set OS_PWD_ARG="-passout pass:$PASSWORD"
set RSA_RAW_PRIV_KEY=${BUILD_DIR}/rsapriv_raw.pem
set RSA_PRIV_KEY=${BUILD_DIR}/rsapriv.os
set RSA_PRIV_KEY_EXP=${BUILD_DIR}/rsapriv_exp_os
set DSA_RAW_PRIV_KEY=${BUILD_DIR}/dsapriv_raw.pem
set DSA_PRIV_KEY=${BUILD_DIR}/dsapriv.pem
set DSA_PRIV_KEY_EXP=${BUILD_DIR}/dsapriv_exp_os
set PRIV_KEY_PARSE=${BUILD_DIR}/privkey_parse
set DSA_PARAMS=dsaParamOpenssl.pem
set QUIET=NO
set QUIET_ARG=
set KEYSIZE=512
set NOACL=NO
set NOACL_ARG=
set SECURE_PHRASE=NO
set SECURE_PHRASE_ARG=
set NOCLEAN=NO
while ( $ switch ( "$argv[1]" )
case q:
set QUIET=YES
set QUIET_ARG=-q
shift
breaksw
case n:
set NOACL=YES
set NOACL_ARG=-n
shift
breaksw
case s:
set SECURE_PHRASE=YES
set SECURE_PHRASE_ARG=-Z
shift
breaksw
case N:
set NOCLEAN=YES
shift
breaksw
default:
echo Usage: importExportOpensslWrap \[q\(uiet\)\] \[n\(oACL\)\] \[s\(ecurePassphrase\)\] \[N\(oClean\)\]
exit(1)
endsw
end
echo === Begin Openssl wrap test ===
if ($QUIET == NO) then
echo $CLEANKC
endif
$CLEANKC || exit(1)
if ($QUIET == NO) then
echo ...Testing import of RSA key generated by openssl
endif
set cmd="$RM -f $RSA_PRIV_KEY"
if ($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$OPENSSL genrsa -out $RSA_PRIV_KEY $OS_PWD_ARG -des $KEYSIZE"
if ($QUIET == NO) then
echo $cmd
endif
$cmd >& /dev/null|| exit(1)
set cmd="$KCIMPORT $RSA_PRIV_KEY -k $KEYCHAIN -z $PASSWORD -f openssl -w -K 1 $QUIET_ARG $NOACL_ARG $SECURE_PHRASE_ARG"
if ($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$DBVERIFY $KEYCHAIN_PATH rsa priv $KEYSIZE $QUIET_ARG"
if ($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if ($QUIET == NO) then
echo ...Testing import of DSA key generated by openssl
endif
if ($QUIET == NO) then
echo $CLEANKC
endif
$CLEANKC || exit(1)
set cmd="$RM -f $DSA_PRIV_KEY"
if ($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$OPENSSL gendsa -out $DSA_PRIV_KEY $OS_PWD_ARG -des $DSA_PARAMS"
if ($QUIET == NO) then
echo $cmd
endif
$cmd >& /dev/null|| exit(1)
set cmd="$KCIMPORT $DSA_PRIV_KEY -k $KEYCHAIN -z $PASSWORD -f openssl -w -K 1 $QUIET_ARG $NOACL_ARG $SECURE_PHRASE_ARG"
if ($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
set cmd="$DBVERIFY $KEYCHAIN_PATH dsa priv $KEYSIZE $QUIET_ARG"
if ($QUIET == NO) then
echo $cmd
endif
$cmd || exit(1)
if ($QUIET == NO) then
echo ...testing openssl export of RSA private key
endif
set cmd="$OPENSSL genrsa -out $RSA_RAW_PRIV_KEY $KEYSIZE"
if ($QUIET == NO) then
echo $cmd
endif
$cmd >& /dev/null|| exit(1)
set cmd="$OPENSSLEXPORTTOOL $RSA_RAW_PRIV_KEY $RSA_PRIV_KEY_EXP $PRIV_KEY_PARSE rsa 512 $QUIET $NOACL $SECURE_PHRASE"
$cmd || exit(1)
if ($QUIET == NO) then
echo ...testing openssl export of DSA private key
endif
set cmd="$OPENSSL gendsa -out $DSA_RAW_PRIV_KEY $DSA_PARAMS"
if ($QUIET == NO) then
echo $cmd
endif
$cmd >& /dev/null|| exit(1)
set cmd="$OPENSSLEXPORTTOOL $DSA_RAW_PRIV_KEY $DSA_PRIV_KEY_EXP $PRIV_KEY_PARSE dsa 512 $QUIET $NOACL $SECURE_PHRASE"
$cmd || exit(1)
if ($NOCLEAN == NO) then
set cmd1="rm -f $RSA_RAW_PRIV_KEY $RSA_PRIV_KEY $RSA_PRIV_KEY_EXP $DSA_RAW_PRIV_KEY"
set cmd2="rm -f $DSA_PRIV_KEY $DSA_PRIV_KEY_EXP $PRIV_KEY_PARSE"
if ($QUIET == NO) then
echo $cmd1
echo $cmd2
endif
$cmd1 || exit(1)
$cmd2 || exit(1)
endif
if ($QUIET == NO) then
echo === Openssl wrap test complete ===
endif