1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
-
+
-
+
|
# Auto generated test cases for digest.csv
# Load Tcl Test package
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest
namespace import ::tcltest::*
}
set auto_path [concat [list [file dirname [file dirname [info script]]]] $auto_path]
package require tls
# Constraints
source common.tcl
::tcltest::testConstraint md4 [expr {"md4" in [::tls::digests]}]
# Helper functions - See common.tcl
proc digest_read_chan {cmd filename args} {;set ch [open $filename rb];set bsize [fconfigure $ch -buffersize];set new [$cmd {*}$args -chan $ch];while {![eof $new]} {set md [read $new $bsize]};close $new;return $md}
proc digest_write_chan {cmd filename data args} {;set ch [open $filename wb];set new [$cmd {*}$args -chan $ch];puts -nonewline $new $data;flush $new;close $new;set ch [open $filename rb];set md [read $ch];close $ch;return $md}
proc digest_accumulate {string args} {;set cmd [{*}$args -command dcmd]; $cmd update [string range $string 0 20];$cmd update [string range $string 21 end];return [$cmd finalize]}
set test_data "Example string for message digest tests.\n"
set test_file "md_data.dat"
set test_alt_file "md_alt_data.dat"
set test_key "Example key"
::tcltest::makeFile $test_data $test_file
# Test short-cut commands
test Shortcut_Cmds-1.1 {md4 cmd} -body {
test Shortcut_Cmds-1.1 {md4 cmd} -constraints {md4} -body {
::tls::md4 $test_data
} -result {793399f792eca2752c6af3234ba70858}
test Shortcut_Cmds-1.2 {md5 cmd} -body {
::tls::md5 $test_data
} -result {962bf0803b4232ec23bd8427bb94ea09}
|
︙ | | |
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
-
+
|
::tls::sha512 $test_data
} -result {d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1}
# Test MD command for read channel
test MD_Chan_Read-2.1 {md4} -body {
test MD_Chan_Read-2.1 {md4} -constraints {md4} -body {
digest_read_chan ::tls::md $test_file -digest md4
} -result {793399f792eca2752c6af3234ba70858}
test MD_Chan_Read-2.2 {md5} -body {
digest_read_chan ::tls::md $test_file -digest md5
} -result {962bf0803b4232ec23bd8427bb94ea09}
|
︙ | | |
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
-
+
|
test MD_Chan_Read-2.7 {md5 hex} -body {
digest_read_chan ::tls::md $test_file -hex -digest md5
} -result {962bf0803b4232ec23bd8427bb94ea09}
# Test MD command for write channel
test MD_Chan_Write-3.1 {md4} -body {
test MD_Chan_Write-3.1 {md4} -constraints {md4} -body {
digest_write_chan ::tls::md $test_alt_file $test_data -digest md4
} -result {793399f792eca2752c6af3234ba70858}
test MD_Chan_Write-3.2 {md5} -body {
digest_write_chan ::tls::md $test_alt_file $test_data -digest md5
} -result {962bf0803b4232ec23bd8427bb94ea09}
|
︙ | | |
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
-
+
|
test MD_Chan_Write-3.7 {md5 hex} -body {
digest_write_chan ::tls::md $test_alt_file $test_data -hex -digest md5
} -result {962bf0803b4232ec23bd8427bb94ea09}
# Test MD command for object command
test MD_Command-4.1 {md4} -body {
test MD_Command-4.1 {md4} -constraints {md4} -body {
digest_accumulate $test_data ::tls::md -digest md4
} -result {793399f792eca2752c6af3234ba70858}
test MD_Command-4.2 {md5} -body {
digest_accumulate $test_data ::tls::md -digest md5
} -result {962bf0803b4232ec23bd8427bb94ea09}
|
︙ | | |
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
-
+
|
test MD_Command-4.7 {md5 hex} -body {
digest_accumulate $test_data ::tls::md -digest md5 -hex
} -result {962bf0803b4232ec23bd8427bb94ea09}
# Test MD command for data shortcut
test MD_Shortcut-5.1 {md4} -body {
test MD_Shortcut-5.1 {md4} -constraints {md4} -body {
::tls::md md4 $test_data
} -result {793399f792eca2752c6af3234ba70858}
test MD_Shortcut-5.2 {md5} -body {
::tls::md md5 $test_data
} -result {962bf0803b4232ec23bd8427bb94ea09}
|
︙ | | |
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
-
+
|
test MD_Shortcut-5.5 {sha512} -body {
::tls::md sha512 $test_data
} -result {d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1}
# Test MD command for data
test MD_Data-6.1 {md4} -body {
test MD_Data-6.1 {md4} -constraints {md4} -body {
::tls::md -digest md4 -data $test_data
} -result {793399f792eca2752c6af3234ba70858}
test MD_Data-6.2 {md5} -body {
::tls::md -digest md5 -data $test_data
} -result {962bf0803b4232ec23bd8427bb94ea09}
|
︙ | | |
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
|
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
|
-
+
|
test MD_Data-6.7 {md5 hex} -body {
::tls::md -digest md5 -data $test_data -hex
} -result {962bf0803b4232ec23bd8427bb94ea09}
# Test MD command for file
test MD_File-7.1 {md4} -body {
test MD_File-7.1 {md4} -constraints {md4} -body {
::tls::md -digest md4 -file $test_file
} -result {793399f792eca2752c6af3234ba70858}
test MD_File-7.2 {md5} -body {
::tls::md -digest md5 -file $test_file
} -result {962bf0803b4232ec23bd8427bb94ea09}
|
︙ | | |