]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - test/01-digest.t
Added more tests for digests
[openssl-gost/engine.git] / test / 01-digest.t
1 #!/usr/bin/perl 
2 use Test::More tests => 12;
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 # Set OPENSSL_ENGINES environment variable to just build engine
11 $ENV{'OPENSSL_ENGINES'} = abs_path("../.libs");
12 # Set engine name from environment to allow testing of different engines
13 $engine=$ENV{'ENGINE_NAME'}||"gost";
14 # Reopen STDERR to eliminate extra output
15 open STDERR, ">>","tests.err";
16
17 is(`openssl dgst -engine ${engine} -md_gost94 testdata.dat`,
18 "md_gost94(testdata.dat)= f7fc6d16a6a5c12ac4f7d320e0fd0d8354908699125e09727a4ef929122b1cae\n",
19 "GOST R 34.11-94 1K ascii");
20
21 is(`openssl dgst -engine ${engine} -md_gost12_256 testdata.dat`,
22 "md_gost12_256(testdata.dat)= d38a79cb15db40651051ef6879881fe25d84cdbb23ecec9f56126f8803f5fc88\n",
23 "GOST R 34.11-2012 256bit 1K ascii");
24
25 is(`openssl dgst -engine ${engine} -md_gost12_512 testdata.dat`,
26 "md_gost12_512(testdata.dat)= ac48be903716d9b9701fd8cdd75417b9085b5b642191926afd92310e645c52d465e36bbd5ccb356c5b1b8020a868915d5d8cc18ed2c07c28d24ba914b867f144\n",
27 "GOST R 34.11-2012 512bit 1K ascii");
28
29 unlink("testdata.dat");
30
31 open F,">","testdata2.dat";
32 print F "\x00\x01\x02\x15\x84\x67\x45\x31" x 128;
33 close F;
34
35 is(`openssl dgst -engine ${engine} -md_gost94 testdata2.dat`,
36 "md_gost94(testdata2.dat)= 69f529aa82d9344ab0fa550cdf4a70ecfd92a38b5520b1906329763e09105196\n",
37 "GOST R 34.11-94 1K binary");
38
39 is(`openssl dgst -engine ${engine} -md_gost12_256 testdata2.dat`,
40 "md_gost12_256(testdata2.dat)= 88fb2a93873befc1712c96c6e151223b18798de4601448efe2836dbfa53a55f2\n",
41 "GOST R 34.11-2012 256bit 1K binary");
42
43 is(`openssl dgst -engine ${engine} -md_gost12_512 testdata2.dat`,
44 "md_gost12_512(testdata2.dat)= 559b71aaad8e0e749cbac47ff1eaa48471bafaf81e648b234c456e5d25538c32a61d04e3f5863301fdf1f289efc286cb1c317aba3e6425bece26e8cfe35a4074\n",
45 "GOST R 34.11-2012 512bit 1K binary");
46
47 unlink("testdata2.dat");
48
49 open F, ">","testdata3.dat";
50 print F substr("12345670" x 128,0,539);
51 close F;
52
53 is(`openssl dgst -engine ${engine} -md_gost94 testdata3.dat`,
54 "md_gost94(testdata3.dat)= bd5f1e4b539c7b00f0866afdbc8ed452503a18436061747a343f43efe888aac9\n",
55 "GOST R 34.11-94 539 bytes");
56
57 is(`openssl dgst -engine ${engine} -md_gost12_256 testdata3.dat`,
58 "md_gost12_256(testdata3.dat)= 3791fa0d152ee406be966c1ef2729ea1dcac370556971cfb08123100735d476c\n",
59 "GOST R 34.11-2012 256bit 539 bytes");
60
61 is(`openssl dgst -engine ${engine} -md_gost12_512 testdata3.dat`,
62 "md_gost12_512(testdata3.dat)= 62a09dfad97d84b2020a4ab464c878933210b6d23cbfe0c1d1e7fb9093e360fc052e30c5b7bc27ac7d207fcf51ab59058fb2474d08e664cd040c3b8d2d2f49d6\n",
63 "GOST R 34.11-2012 512bit 539 bytes");
64
65 unlink "testdata3.dat";
66 open F , ">","bigdata.dat";
67 print F  ("121345678" x 7 . "1234567\n") x 4096,"12345\n";
68 close F;
69
70 is(`openssl dgst -engine ${engine} -md_gost94 bigdata.dat`,
71 "md_gost94(bigdata.dat)= e5d3ac4ea3f67896c51ff919cedb9405ad771e39f0f2eab103624f9a758e506f\n",
72 "GOST R 34.11-94 128K");
73
74 is(`openssl dgst -engine ${engine} -md_gost12_256 bigdata.dat`,
75 "md_gost12_256(bigdata.dat)= d50eeeff483f8b5f550d944decb60846f0a6b34f2f7d44a6f725af1578385d47\n",
76 "GOST R 34.11-2012 256bit 128K");
77
78 is(`openssl dgst -engine ${engine} -md_gost12_512 bigdata.dat`,
79 "md_gost12_512(bigdata.dat)= d57b8b8ea4061822b47df128fe92bd6db4fd6c8e3c537806ae1782ba67fab474c390b9564c3e4867562e0c3ad974d37d5fa6c5b5a3699e984b45845acbcf298a\n",
80 "GOST R 34.11-2012 512bit 128K");
81
82 unlink "bigdata.dat";