diff options
author | slavomir.katuscak%sun.com <devnull@localhost> | 2008-07-01 12:26:07 +0000 |
---|---|---|
committer | slavomir.katuscak%sun.com <devnull@localhost> | 2008-07-01 12:26:07 +0000 |
commit | 21e096ff958982da4a700397a277a8a5622782bd (patch) | |
tree | 513da932384a87f45b87a83871c8e8699cd5e0c7 | |
parent | a8e51e51c989599a6649003740cbd247859719b4 (diff) | |
download | nss-hg-21e096ff958982da4a700397a277a8a5622782bd.tar.gz |
Bug 440617: Checking back outed patch back to CVS. (problem was not in this patch)
-rwxr-xr-x | security/nss/tests/cert/cert.sh | 120 |
1 files changed, 66 insertions, 54 deletions
diff --git a/security/nss/tests/cert/cert.sh b/security/nss/tests/cert/cert.sh index a0c02c292..b033f1176 100755 --- a/security/nss/tests/cert/cert.sh +++ b/security/nss/tests/cert/cert.sh @@ -1072,80 +1072,92 @@ cert_eccurves() fi # if NSS_ENABLE_ECC=1 } -############################## cert_extensions ############################### -# local shell function to test cert extensions generation. -############################################################################## -checkRes() +########################### cert_extensions_test ############################# +# local shell function to test cert extensions generation +############################################################################## +cert_extensions_test() { - res=$1 - filterList=$2 - - [ $res -ne 0 ] && return 1 - - for fl in `echo $filterList | tr \| ' '`; do - fl="`echo $fl | tr _ ' '`" - expStat=0 - if [ X`echo "$fl" | cut -c 1` = 'X!' ]; then - expStat=1 - fl=`echo $fl | tr -d '!'` + COUNT=`expr ${COUNT} + 1` + CERTNAME=TestExt${COUNT} + CU_SUBJECT="CN=${CERTNAME}, E=${CERTNAME}@bogus.com, O=BOGUS NSS, L=Mountain View, ST=California, C=US" + + echo + echo certutil -d ${CERT_EXTENSIONS_DIR} -S -n ${CERTNAME} \ + -t "u,u,u" -o /tmp/cert -s "${CU_SUBJECT}" -x -f ${R_PWFILE} \ + -z "${R_NOISE_FILE}" -${OPT} \< ${TARG_FILE} + echo "certutil options:" + cat ${TARG_FILE} + ${BINDIR}/certutil -d ${CERT_EXTENSIONS_DIR} -S -n ${CERTNAME} \ + -t "u,u,u" -o /tmp/cert -s "${CU_SUBJECT}" -x -f ${R_PWFILE} \ + -z "${R_NOISE_FILE}" -${OPT} < ${TARG_FILE} + RET=$? + if [ "${RET}" -ne 0 ]; then + CERTFAILED=1 + html_failed "${TESTNAME} (${COUNT}) - Create and Add Certificate" + cert_log "ERROR: ${TESTNAME} - Create and Add Certificate failed" + return 1 + fi + + echo certutil -d ${CERT_EXTENSIONS_DIR} -L -n ${CERTNAME} + EXTLIST=`${BINDIR}/certutil -d ${CERT_EXTENSIONS_DIR} -L -n ${CERTNAME}` + RET=$? + echo "${EXTLIST}" + if [ "${RET}" -ne 0 ]; then + CERTFAILED=1 + html_failed "${TESTNAME} (${COUNT}) - List Certificate" + cert_log "ERROR: ${TESTNAME} - List Certificate failed" + return 1 + fi + + for FL in `echo ${FILTERLIST} | tr \| ' '`; do + FL="`echo ${FL} | tr _ ' '`" + EXPSTAT=0 + if [ X`echo "${FL}" | cut -c 1` = 'X!' ]; then + EXPSTAT=1 + FL=`echo ${FL} | tr -d '!'` + fi + echo "${EXTLIST}" | grep "${FL}" >/dev/null 2>&1 + RET=$? + if [ "${RET}" -ne "${EXPSTAT}" ]; then + CERTFAILED=1 + html_failed "${TESTNAME} (${COUNT}) - Looking for ${FL}" "returned ${RET}, expected is ${EXPSTAT}" + cert_log "ERROR: ${TESTNAME} - Looking for ${FL} failed" + return 1 fi - ${BINDIR}/certutil -d ${CERT_EXTENSIONS_DIR} -L -n $CERTNAME | grep "$fl" >/dev/null 2>&1 - [ $? -ne $expStat ] && return 1 done + + html_passed "${TESTNAME} (${COUNT})" return 0 } - +############################## cert_extensions ############################### +# local shell function to run cert extensions tests +############################################################################## cert_extensions() { - CERTNAME=TestExt - cert_create_cert ${CERT_EXTENSIONS_DIR} $CERTNAME 90 ${D_CERT_EXTENSTIONS} + cert_create_cert ${CERT_EXTENSIONS_DIR} ${CERTNAME} 90 ${D_CERT_EXTENSTIONS} TARG_FILE=${CERT_EXTENSIONS_DIR}/test.args - CU_SUBJECT="CN=$CERTNAME, E=${CERTNAME}@bogus.com, O=BOGUS NSS, L=Mountain View, ST=California, C=US" - - count=0 - while read arg opt filterList; do - if [ X"`echo $arg | cut -c 1`" = "X#" ]; then + COUNT=0 + while read ARG OPT FILTERLIST; do + if [ X"`echo ${ARG} | cut -c 1`" = "X#" ]; then continue fi - if [ X"`echo $arg | cut -c 1`" = "X!" ]; then - testName="$filterList" + if [ X"`echo ${ARG} | cut -c 1`" = "X!" ]; then + TESTNAME="${FILTERLIST}" continue fi - if [ X"$arg" = "X=" ]; then - count=`expr $count + 1` - echo "#################################################" - CU_ACTION="Testing $testName" - ${BINDIR}/certutil -d ${CERT_EXTENSIONS_DIR} -D -n $CERTNAME - echo certutil -d ${CERT_EXTENSIONS_DIR} -S -n $CERTNAME \ - -t "u,u,u" -o /tmp/cert -s "${CU_SUBJECT}" -x -f ${R_PWFILE} \ - -z "${R_NOISE_FILE}" -$opt < $TARG_FILE - ${BINDIR}/certutil -d ${CERT_EXTENSIONS_DIR} -S -n $CERTNAME -t "u,u,u" \ - -o /tmp/cert -s "${CU_SUBJECT}" -x -f ${R_PWFILE} \ - -z "${R_NOISE_FILE}" -$opt < $TARG_FILE - ret=$? - echo "certutil options:" - cat $TARG_FILE - checkRes $ret "$filterList" - RET=$? - if [ "$RET" -ne 0 ]; then - CERTFAILED=$RET - html_failed "${CU_ACTION} ($RET) " - cert_log "ERROR: ${CU_ACTION} failed $RET" - else - html_passed "${CU_ACTION}" - fi - rm -f $TARG_FILE + if [ X"${ARG}" = "X=" ]; then + cert_extensions_test + rm -f ${TARG_FILE} else - echo $arg >> $TARG_FILE + echo ${ARG} >> ${TARG_FILE} fi done < ${QADIR}/cert/certext.txt } - ############################## cert_crl_ssl ############################ # local shell function to generate certs and crls for SSL tests ######################################################################## @@ -1373,7 +1385,7 @@ cert_test_password() CU_SUBJECT="CN=${CERTNAME}, E=password@bogus.com, O=BOGUS NSS, L=Mountain View, ST=California, C=US" certu -S -n PasswordCert -c PasswordCA -t "u,u,u" -d "${PROFILEDIR}" -f "${R_FIPSPWFILE}" -z "${R_NOISE_FILE}" 2>&1 if [ "$RET" -eq 0 ]; then - cert_log "SUCCESS: PASSORD passed" + cert_log "SUCCESS: PASSWORD passed" fi CU_ACTION="Verify Certificate for ${CERTNAME} with new password" certu -V -n PasswordCert -u S -d "${PROFILEDIR}" -f "${R_FIPSPWFILE}" 2>&1 |