]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - test/02-mac.t
Merge pull request #96 from abbra/support-Test-Stream
[openssl-gost/engine.git] / test / 02-mac.t
1 #!/usr/bin/perl 
2 use Test2::V0;
3 plan(19);
4 use Cwd 'abs_path';
5
6 # prepare data for 
7 my $F;
8 open $F,">","testdata.dat";
9 print $F "12345670" x 128;
10 close $F;
11
12 open $F,">","testbig.dat";
13 print $F ("12345670" x 8 . "\n") x  4096;
14 close $F;
15 # Set OPENSSL_ENGINES environment variable to just built engine
16 if(!defined $ENV{'OPENSSL_ENGINES'}){
17         $ENV{'OPENSSL_ENGINES'} = abs_path("../.libs");
18 }
19
20 my $key='0123456789abcdef' x 2;
21
22 my $engine=$ENV{'ENGINE_NAME'}||"gost";
23
24 # Reopen STDERR to eliminate extra output
25 open STDERR, ">>","tests.err";
26
27 is(`openssl dgst -engine ${engine} -mac gost-mac -macopt key:${key} testdata.dat`,
28 "GOST-MAC-gost-mac(testdata.dat)= 2ee8d13d\n",
29 "GOST MAC - default size");
30
31 my $i;
32 for ($i=1;$i<=8; $i++) {
33         is(`openssl dgst -engine ${engine} -mac gost-mac -macopt key:${key} -sigopt size:$i testdata.dat`,
34 "GOST-MAC-gost-mac(testdata.dat)= ".substr("2ee8d13dff7f037d",0,$i*2)."\n",
35 "GOST MAC - size $i bytes");
36 }
37
38
39
40 is(`openssl dgst -engine ${engine} -mac gost-mac -macopt key:${key} testbig.dat`,
41 "GOST-MAC-gost-mac(testbig.dat)= 5efab81f\n",
42 "GOST MAC - big data");
43
44 is(`openssl dgst -engine ${engine} -mac gost-mac-12 -macopt key:${key} testdata.dat`,
45 "GOST-MAC-12-gost-mac-12(testdata.dat)= be4453ec\n",
46 "GOST MAC - parameters 2012");
47
48
49 for ($i=1;$i<=8; $i++) {
50         is(`openssl dgst -engine ${engine} -mac gost-mac-12 -macopt key:${key} -sigopt size:$i testdata.dat`,
51 "GOST-MAC-12-gost-mac-12(testdata.dat)= ".substr("be4453ec1ec327be",0,$i*2)."\n",
52 "GOST MAC parameters 2012 - size $i bytes");
53 }
54 unlink('testdata.dat');
55 unlink('testbig.dat');