]> www.wagner.pp.ru Git - openssl-gost/engine.git/commitdiff
Finally normally passing MAC tests
authorDmitry Belyavskiy <beldmit@gmail.com>
Sun, 10 May 2020 15:22:10 +0000 (18:22 +0300)
committerDmitry Belyavskiy <beldmit@gmail.com>
Sun, 10 May 2020 15:22:10 +0000 (18:22 +0300)
tcl_tests/mac.try
tcl_tests/runtest.sh

index 51561f4f00cf3ad417a17ed636e99e06b7874ba9..908d75b5f605ccecaef8fe0e87885e5777cb6169 100644 (file)
@@ -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
index abee488e128c2f4f344cdfbd92c84030637d0405..9ad744bf6c3315869f526e6e00950d83238fe3bf 100644 (file)
 # Пререквизиты, которые должны быть установлены на машине:
 # 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