1#!/bin/sh
2#
3# This Source Code Form is subject to the terms of the Mozilla Public
4# License, v. 2.0. If a copy of the MPL was not distributed with this
5# file, You can obtain one at http://mozilla.org/MPL/2.0/.
6#
7# A Bourne shell script for running the NIST DSA Validation System
8#
9# Before you run the script, set your PATH, LD_LIBRARY_PATH, ... environment
10# variables appropriately so that the fipstest command and the NSPR and NSS
11# shared libraries/DLLs are on the search path.  Then run this script in the
12# directory where the REQUEST (.req) files reside.  The script generates the
13# RESPONSE (.rsp) files in the same directory.
14BASEDIR=${1-.}
15TESTDIR=${BASEDIR}/KAS
16COMMAND=${2-run}
17REQDIR=${TESTDIR}/req
18RSPDIR=${TESTDIR}/resp
19
20
21#
22if [ ${COMMAND} = "verify" ]; then
23    result=0
24    # ecdh init
25    name=KASFunctionTest_ECCEphemeralUnified_NOKC_ZZOnly_init
26    echo ">>>>>  $name"
27    fipstest ecdh init-verify ${RSPDIR}/$name.rsp | grep ^Result.=.F
28    test 1 = $?
29    last_result=$?
30    result=`expr $result + $last_result`
31    # ecdh response
32    name=KASFunctionTest_ECCEphemeralUnified_NOKC_ZZOnly_resp
33    echo ">>>>>  $name"
34    fipstest ecdh resp-verify ${RSPDIR}/$name.rsp | grep ^Result.=.F
35    test 1 = $?
36    last_result=$?
37    result=`expr $result + $last_result`
38    # ecdh init verify
39    sh ./validate1.sh ${TESTDIR} KASValidityTest_ECCEphemeralUnified_NOKC_ZZOnly_init.req ' ' '-e /^Result.=.F/s;.(.*);; -e /^Result.=.P/s;.(.*);;'
40    last_result=$?
41    result=`expr $result + $last_result`
42    # ecdh response verify
43    sh ./validate1.sh ${TESTDIR} KASValidityTest_ECCEphemeralUnified_NOKC_ZZOnly_resp.req ' ' '-e /^Result.=.F/s;.(.*);; -e /^Result.=.P/s;.(.*);;'
44    last_result=$?
45    result=`expr $result + $last_result`
46    # dh init
47    name=KASFunctionTest_FFCEphem_NOKC_ZZOnly_init
48    echo ">>>>>  $name"
49    fipstest dh init-verify ${RSPDIR}/$name.rsp | grep ^Result.=.F
50    test 1 = $?
51    last_result=$?
52    result=`expr $result + $last_result`
53    # dh response
54    name=KASFunctionTest_FFCEphem_NOKC_ZZOnly_resp
55    echo ">>>>>  $name"
56    fipstest dh resp-verify ${RSPDIR}/$name.rsp | grep ^Result.=.F
57    test 1 = $?
58    last_result=$?
59    result=`expr $result + $last_result`
60    # ecdh init verify
61    sh ./validate1.sh ${TESTDIR} KASValidityTest_FFCEphem_NOKC_ZZOnly_init.req ' ' '-e /^Result.=.F/s;.(.*);; -e /^Result.=.P/s;.(.*);;'
62    last_result=$?
63    result=`expr $result + $last_result`
64    # ecdh response verify
65    sh ./validate1.sh ${TESTDIR} KASValidityTest_FFCEphem_NOKC_ZZOnly_resp.req ' ' '-e /^Result.=.F/s;.(.*);; -e /^Result.=.P/s;.(.*);;'
66    last_result=$?
67    result=`expr $result + $last_result`
68    exit $result
69fi
70
71test -d "${RSPDIR}" || mkdir "${RSPDIR}"
72
73request=KASFunctionTest_ECCEphemeralUnified_NOKC_ZZOnly_init.req
74response=`echo $request | sed -e "s/req/rsp/"`
75echo $request $response
76fipstest ecdh init-func ${REQDIR}/$request > ${RSPDIR}/$response
77
78request=KASFunctionTest_ECCEphemeralUnified_NOKC_ZZOnly_resp.req
79response=`echo $request | sed -e "s/req/rsp/"`
80echo $request $response
81fipstest ecdh resp-func ${REQDIR}/$request > ${RSPDIR}/$response
82
83request=KASValidityTest_ECCEphemeralUnified_NOKC_ZZOnly_init.req
84response=`echo $request | sed -e "s/req/rsp/"`
85echo $request $response
86fipstest ecdh init-verify ${REQDIR}/$request > ${RSPDIR}/$response
87
88request=KASValidityTest_ECCEphemeralUnified_NOKC_ZZOnly_resp.req
89response=`echo $request | sed -e "s/req/rsp/"`
90echo $request $response
91fipstest ecdh resp-verify ${REQDIR}/$request > ${RSPDIR}/$response
92
93request=KASFunctionTest_FFCEphem_NOKC_ZZOnly_init.req
94response=`echo $request | sed -e "s/req/rsp/"`
95echo $request $response
96fipstest dh init-func ${REQDIR}/$request > ${RSPDIR}/$response
97
98request=KASFunctionTest_FFCEphem_NOKC_ZZOnly_resp.req
99response=`echo $request | sed -e "s/req/rsp/"`
100echo $request $response
101fipstest dh resp-func ${REQDIR}/$request > ${RSPDIR}/$response
102
103request=KASValidityTest_FFCEphem_NOKC_ZZOnly_init.req
104response=`echo $request | sed -e "s/req/rsp/"`
105echo $request $response
106fipstest dh init-verify ${REQDIR}/$request > ${RSPDIR}/$response
107
108request=KASValidityTest_FFCEphem_NOKC_ZZOnly_resp.req
109response=`echo $request | sed -e "s/req/rsp/"`
110echo $request $response
111fipstest dh resp-verify ${REQDIR}/$request > ${RSPDIR}/$response
112exit 0
113