#! /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
"