| #! /bin/bash |
| # |
| # This Source Code Form is subject to the terms of the Mozilla Public |
| # License, v. 2.0. If a copy of the MPL was not distributed with this |
| # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
| |
| ######################################################################## |
| # mozilla/security/nss/tests/lowhash/lowhash.sh |
| # |
| # Script to test basic functionallity of the NSSLoHash API |
| # |
| # included from |
| # -------------- |
| # all.sh |
| # |
| # needs to work on all Linux platforms |
| # |
| # tests implemented: |
| # lowash (verify encryption cert - bugzilla bug 119059) |
| # |
| # special strings |
| # --------------- |
| # |
| ######################################################################## |
| |
| errors=0 |
| |
| ############################## lowhash_init ############################## |
| # local shell function to initialize this script |
| ######################################################################## |
| lowhash_init() |
| { |
| SCRIPTNAME=lowhash.sh # sourced - $0 would point to all.sh |
| |
| if [ -z "${CLEANUP}" ] ; then # if nobody else is responsible for |
| CLEANUP="${SCRIPTNAME}" # cleaning this script will do it |
| fi |
| |
| if [ -z "${INIT_SOURCED}" -o "${INIT_SOURCED}" != "TRUE" ]; then |
| cd ../common |
| . ./init.sh |
| fi |
| LOWHASHDIR=../lowhash |
| mkdir -p ${LOWHASHDIR} |
| if [ -f /proc/sys/crypto/fips_enabled ]; then |
| FVAL=`cat /proc/sys/crypto/fips_enabled` |
| html_head "Lowhash Tests - /proc/sys/crypto/fips_enabled is ${FVAL}" |
| else |
| html_head "Lowhash Tests" |
| fi |
| cd ${LOWHASHDIR} |
| } |
| |
| ############################## lowhash_test ############################## |
| # local shell function to test basic the NSS Low Hash API both in |
| # FIPS 140 compliant mode and not |
| ######################################################################## |
| lowhash_test() |
| { |
| if [ ! -f ${BINDIR}/lowhashtest -a \ |
| ! -f ${BINDIR}/lowhashtest${PROG_SUFFIX} ]; then |
| echo "freebl lowhash not supported in this plaform." |
| else |
| TESTS="MD5 SHA1 SHA224 SHA256 SHA384 SHA512" |
| OLD_MODE=`echo ${NSS_FIPS}` |
| for fips_mode in 0 1; do |
| echo "lowhashtest with fips mode=${fips_mode}" |
| export NSS_FIPS=${fips_mode} |
| for TEST in ${TESTS} |
| do |
| echo "lowhashtest ${TEST}" |
| ${BINDIR}/lowhashtest ${TEST} 2>&1 |
| RESULT=$? |
| html_msg ${RESULT} 0 "lowhashtest with fips mode=${fips_mode} for ${TEST}" |
| done |
| done |
| export NSS_FIPS=${OLD_MODE} |
| fi |
| } |
| |
| ############################## lowhash_cleanup ############################ |
| # local shell function to finish this script (no exit since it might be |
| # sourced) |
| ######################################################################## |
| lowhash_cleanup() |
| { |
| html "</TABLE><BR>" |
| cd ${QADIR} |
| . common/cleanup.sh |
| } |
| |
| ################## main ################################################# |
| |
| lowhash_init |
| lowhash_test |
| lowhash_cleanup |
| echo "lowhash.sh done" |