aboutsummaryrefslogtreecommitdiff
path: root/tcl_tests
diff options
context:
space:
mode:
authorDmitry Belyavskiy <beldmit@gmail.com>2020-05-10 18:22:10 +0300
committerDmitry Belyavskiy <beldmit@gmail.com>2020-05-10 18:22:10 +0300
commit90dfe86a6e4786133dffabdcf801590b2744bd40 (patch)
treed1a702c9148b2848810994308e253591bb560603 /tcl_tests
parent1c71e8ae208a52a28b21767635e3c8921d1b6a17 (diff)
downloadgost-engine-90dfe86a6e4786133dffabdcf801590b2744bd40.zip
gost-engine-90dfe86a6e4786133dffabdcf801590b2744bd40.tar.gz
gost-engine-90dfe86a6e4786133dffabdcf801590b2744bd40.tar.bz2
Finally normally passing MAC tests
Diffstat (limited to 'tcl_tests')
-rw-r--r--tcl_tests/mac.try5
-rw-r--r--tcl_tests/runtest.sh38
2 files changed, 21 insertions, 22 deletions
diff --git a/tcl_tests/mac.try b/tcl_tests/mac.try
index 51561f4..908d75b 100644
--- a/tcl_tests/mac.try
+++ b/tcl_tests/mac.try
@@ -13,7 +13,6 @@ test -createsfiles {dgst.dat dgst0.dat dgst2.dat dgst8.dat dgst63.dat mac-grassh
file copy -force ../mac-grasshopper.dat ../mac-magma.dat .
} 0 ""
-#FIXME OpenSSL regression
test "Вычисление HMAC(md_gost12_512)" {
grep "md_gost12_512\\(" [openssl "dgst -md_gost12_512 -hmac 123456901234567890123456789012 dgst63.dat"]
} 0 "HMAC-md_gost12_512(dgst63.dat)= 3767bcbe31de0965a6cd2613d99cc8cda922e7b288478389ed9bd433abfc08ff61d9bd0257b2d14dd0648d04ebf056180b3c8739a7cd7f8a78dac856359fe26f\n"
@@ -114,9 +113,9 @@ test "Вычисление MAC magma-mac (пример из ГОСТ 2015 34.13)
grep magma-mac [openssl "dgst -mac magma-mac -macopt hexkey:ffeeddccbbaa99887766554433221100f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff mac-magma.dat"]
} 0 "MAGMA-MAC-magma-mac(mac-magma.dat)= 154e72102030c5bb\n"
-FIXME my regression
+#FIXME my regression
test "Вычисление MAC grasshopper-mac (пример из ГОСТ 2015 34.13)" {
- grep grasshopper-mac [openssl "dgst -mac kuznyechik-mac -macopt hexkey:8899aabbccddeeff0011223344556677fedcba98765432100123456789abcdef mac-grasshopper.dat"]
+ grep kuznyechik-mac [openssl "dgst -mac kuznyechik-mac -macopt hexkey:8899aabbccddeeff0011223344556677fedcba98765432100123456789abcdef mac-grasshopper.dat"]
} 0 "KUZNYECHIK-MAC-kuznyechik-mac(mac-grasshopper.dat)= 336f4d296059fbe34ddeb35b37749c67\n"
end_tests
diff --git a/tcl_tests/runtest.sh b/tcl_tests/runtest.sh
index abee488..9ad744b 100644
--- a/tcl_tests/runtest.sh
+++ b/tcl_tests/runtest.sh
@@ -12,14 +12,14 @@
# Пререквизиты, которые должны быть установлены на машине:
# 1. tclsh. Может называться с версией (см. список версий ниже в цикле
# перебора)
-# 2. ssh (что характерно, называться должен именно так). Должен быть
+# 2. ssh (что характерно, называться должен именно так). Должен быть
# настроен заход по ключам без пароля на lynx и все используемые эталонники.
-# Ключи этих машин должны быть в knownhosts (с полными доменными именами
+# Ключи этих машин должны быть в knownhosts (с полными доменными именами
# серверов, то есть lynx.lan.cryptocom.ru и т.д.)
# 3. Под Windows скрипт выполняется в среде MinGW, при этом нужно "донастроить"
# ssh, а именно создать в разделе реестра
# HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
-# DWORD-ключ DisableUserTOSSetting=0
+# DWORD-ключ DisableUserTOSSetting=0
CRYPTOPACK_MAIN_VERSION=3
@@ -40,7 +40,7 @@ fi
if [ -z "$OPENSSL_APP" ]; then
echo "openssl not found"
exit 1
-else
+else
echo "Using $OPENSSL_APP as openssl"
fi
@@ -124,7 +124,7 @@ for t in $BASE_TESTS; do
if $TCLSH $t.try > $TESTDIR/$t.out 2>&1; then
head -1 $TESTDIR/$t.out
else
- fail=1
+ fail=2
cat $TESTDIR/$t.out
echo "=== Output failures of $TESTDIR/$t.log ==="
awk "/ ends failed/" RS= ORS='\n\n' $TESTDIR/$t.log |
@@ -133,32 +133,32 @@ for t in $BASE_TESTS; do
exit 1
fi
else
- $TCLSH $t.try || fail=1
+ $TCLSH $t.try || fail=3
fi
done
if false; then # ignore some tests for a time
-ALG_LIST="rsa:1024 gost2001:XA gost2012_256:XA gost2012_512:A" $TCLSH ssl.try -clientconf $OPENSSL_CONF || fail=1
-ALG_LIST="rsa:1024 gost2001:XA gost2012_256:XA gost2012_512:A" $TCLSH ssl.try -serverconf $OPENSSL_CONF || fail=1
-
+ALG_LIST="rsa:1024 gost2001:XA gost2012_256:XA gost2012_512:A" $TCLSH ssl.try -clientconf $OPENSSL_CONF || fail=4
+ALG_LIST="rsa:1024 gost2001:XA gost2012_256:XA gost2012_512:A" $TCLSH ssl.try -serverconf $OPENSSL_CONF || fail=5
+
for t in $PKCS7_COMPATIBILITY_TESTS; do
- $TCLSH $t.try || fail=1
+ $TCLSH $t.try || fail=6
done
for t in $SERVER_TESTS; do
- $TCLSH server.try $t || fail=1
+ $TCLSH server.try $t || fail=7
done
for t in $CLIENT_TESTS; do
- $TCLSH client.try $t || fail=1
+ $TCLSH client.try $t || fail=8
done
if [ -n "WINCLIENT_TESTS" ]; then
if [ -z "$CVS_RSH" ]; then
CVS_RSH=ssh
export CVS_RSH
- fi
+ fi
for t in $WINCLIENT_TESTS; do
- $TCLSH wcli.try $t || fail=1
+ $TCLSH wcli.try $t || fail=9
done
-fi
+fi
if [ -d $OTHER_DIR ]; then
OTHER_DIR=../${OTHER_DIR} $TCLSH interop.try
fi
@@ -176,12 +176,12 @@ if [ -d OtherVersion ] ; then
echo "No GOST=providing engine found" 1>&2
exit 1;
esac
-fi
+fi
fi # false
$TCLSH calcstat ${TESTDIR}/stats ${TESTDIR}/test.result
grep "leaked" ${TESTDIR}/*.log
-if [ $fail -ne 0 ]; then
- echo "Some tests FAILED."
-fi
+if [ $fail -ne 0 ]; then
+ echo "Some tests FAILED, code $fail."
+fi
exit $fail