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