blob: 6de255be496c840e7686e3076d6ed48192889602 [file] [log] [blame]
#! /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"