DSA Tweak for the CAVS test script
authorWerner Koch <wk@gnupg.org>
Thu, 22 Jan 2009 11:51:22 +0000 (11:51 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 22 Jan 2009 11:51:22 +0000 (11:51 +0000)
THANKS
tests/ChangeLog
tests/cavs_driver.pl
tests/cavs_tests.sh

diff --git a/THANKS b/THANKS
index e23916b..34bd99b 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -119,6 +119,7 @@ Serge Munhoven                 munhoven@mema.ucl.ac.be
 Simon Josefsson            jas@extundo.com
 SL Baur                   steve@xemacs.org
 Stephan Austermuehle       au@hcsd.de
+Stephan Müller             smueller at atsec com
 Stephane Corthesy          stephane@sente.ch
 Stefan Karrmann           S.Karrmann@gmx.net
 Stefan Keller             dres@cs.tu-berlin.de
index bf9eae6..8122d23 100644 (file)
@@ -1,5 +1,7 @@
 2009-01-22  Werner Koch  <wk@g10code.com>
 
+       * cavs_tests.sh: Pass option -D to driver if required.
+
        * fipsdrv.c (run_dsa_sign): Use hash of the data.
        (dsa_gen_with_seed): New.
        (run_dsa_pqg_gen): Add args SEED and SEEDLEN and use them.
index 19a15b6..28500c2 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env perl
 #
-# $Id: cavs_driver.pl 1494 2009-01-21 19:30:16Z smueller $
+# $Id: cavs_driver.pl 1495 2009-01-22 10:47:13Z smueller $
 #
 # CAVS test driver (based on the OpenSSL driver)
 # Written by: Stephan Müller <sm@atsec.com>
@@ -1518,6 +1518,11 @@ sub dsa_pqggen_driver($$) {
                die "Return value does not contain all expected values of P, Q, G, Seed, c, H for dsa_pqggen"
                        if (!defined($P) || !defined($Q) || !defined($G) ||
                            !defined($Seed) || !defined($c) || !defined($H));
+
+               # now change the counter to decimal as CAVS wants decimal
+               # counter value although all other is HEX
+               $c = hex($c);
+
                $out .= "P = $P\n";
                $out .= "Q = $Q\n";
                $out .= "G = $G\n";
index 7351af6..b9aa621 100755 (executable)
@@ -46,6 +46,7 @@ function run_one_test () {
     local rspfile
     local tmprspfile
     local respdir
+    local dflag=""
 
     tmprspfile=$(echo "$reqfile" | sed 's,.req$,.rsp,')
     rspfile=$(echo "$tmprspfile" | sed 's,/req/,/resp/,' )
@@ -53,8 +54,12 @@ function run_one_test () {
     [ -f "$tmprspfile" ] && rm "$tmprspfile"
     [ -d "$respdir" ] || mkdir "$respdir"
     [ -f "$rspfile" ] &&  rm "$rspfile"
+
+    if echo "$reqfile" | grep '/DSA/req/' >/dev/null 2>/dev/null; then
+        dflag="-D"
+    fi 
     
-    if ./cavs_driver.pl -I libgcrypt "$reqfile"; then
+    if ./cavs_driver.pl -I libgcrypt $dflag "$reqfile"; then
       if [ -f "$tmprspfile" ]; then
           mv "$tmprspfile" "$rspfile"
       else 
@@ -119,7 +124,7 @@ done
 
 if [ -f "$errors_seen_file" ]; then
     rm "$errors_seen_file"
-    echo "Error enountered - not packing up response file" >&2
+    echo "Error encountered - not packing up response file" >&2
     exit 1
 fi