0000: 23 20 47 72 6f 75 70 2c 4e 61 6d 65 2c 43 6f 6e # Group,Name,Con
0010: 73 74 72 61 69 6e 74 73 2c 53 65 74 75 70 2c 42 straints,Setup,B
0020: 6f 64 79 2c 43 6c 65 61 6e 75 70 2c 4d 61 74 63 ody,Cleanup,Matc
0030: 68 2c 52 65 73 75 6c 74 2c 4f 75 74 70 75 74 2c h,Result,Output,
0040: 45 72 72 6f 72 20 4f 75 74 70 75 74 2c 52 65 74 Error Output,Ret
0050: 75 72 6e 20 43 6f 64 65 73 0a 63 6f 6d 6d 61 6e urn Codes.comman
0060: 64 2c 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 d,package requir
0070: 65 20 74 6c 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c e tls,,,,,,,,,.,
0080: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e ,,,,,,,,,.comman
0090: 64 2c 23 20 43 6f 6e 73 74 72 61 69 6e 74 73 2c d,# Constraints,
00a0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 ,,,,,,,,.command
00b0: 2c 73 6f 75 72 63 65 20 63 6f 6d 6d 6f 6e 2e 74 ,source common.t
00c0: 63 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c cl,,,,,,,,,.,,,,
00d0: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 ,,,,,,.command,#
00e0: 20 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e Helper function
00f0: 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 s,,,,,,,,,.comma
0100: 6e 64 2c 70 72 6f 63 20 72 65 61 64 5f 63 68 61 nd,proc read_cha
0110: 6e 20 7b 63 6d 64 20 66 69 6c 65 6e 61 6d 65 20 n {cmd filename
0120: 61 72 67 73 7d 20 7b 73 65 74 20 63 68 20 5b 6f args} {set ch [o
0130: 70 65 6e 20 24 66 69 6c 65 6e 61 6d 65 20 72 62 pen $filename rb
0140: 5d 3b 66 63 6f 6e 66 69 67 75 72 65 20 24 63 68 ];fconfigure $ch
0150: 20 2d 74 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69 -translation bi
0160: 6e 61 72 79 3b 73 65 74 20 62 73 69 7a 65 20 5b nary;set bsize [
0170: 66 63 6f 6e 66 69 67 75 72 65 20 24 63 68 20 2d fconfigure $ch -
0180: 62 75 66 66 65 72 73 69 7a 65 5d 3b 73 65 74 20 buffersize];set
0190: 6e 65 77 20 5b 24 63 6d 64 20 7b 2a 7d 24 61 72 new [$cmd {*}$ar
01a0: 67 73 20 2d 63 68 61 6e 20 24 63 68 5d 3b 77 68 gs -chan $ch];wh
01b0: 69 6c 65 20 7b 21 5b 65 6f 66 20 24 6e 65 77 5d ile {![eof $new]
01c0: 7d 20 7b 73 65 74 20 72 65 73 75 6c 74 20 5b 72 } {set result [r
01d0: 65 61 64 20 24 6e 65 77 20 24 62 73 69 7a 65 5d ead $new $bsize]
01e0: 7d 3b 63 6c 6f 73 65 20 24 6e 65 77 3b 72 65 74 };close $new;ret
01f0: 75 72 6e 20 24 72 65 73 75 6c 74 7d 2c 2c 2c 2c urn $result},,,,
0200: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 70 72 ,,,,,.command,pr
0210: 6f 63 20 61 63 63 75 6d 75 6c 61 74 65 20 7b 73 oc accumulate {s
0220: 74 72 69 6e 67 20 61 72 67 73 7d 20 7b 73 65 74 tring args} {set
0230: 20 63 6d 64 20 5b 7b 2a 7d 24 61 72 67 73 20 2d cmd [{*}$args -
0240: 63 6f 6d 6d 61 6e 64 20 64 63 6d 64 5d 3b 24 63 command dcmd];$c
0250: 6d 64 20 75 70 64 61 74 65 20 5b 73 74 72 69 6e md update [strin
0260: 67 20 72 61 6e 67 65 20 24 73 74 72 69 6e 67 20 g range $string
0270: 30 20 32 30 5d 3b 24 63 6d 64 20 75 70 64 61 74 0 20];$cmd updat
0280: 65 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 e [string range
0290: 24 73 74 72 69 6e 67 20 32 31 20 65 6e 64 5d 3b $string 21 end];
02a0: 72 65 74 75 72 6e 20 5b 24 63 6d 64 20 66 69 6e return [$cmd fin
02b0: 61 6c 69 7a 65 5d 7d 2c 2c 2c 2c 2c 2c 2c 2c 2c alize]},,,,,,,,,
02c0: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d .,,,,,,,,,,.comm
02d0: 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f 64 61 and,"set test_da
02e0: 74 61 20 22 22 45 78 61 6d 70 6c 65 20 73 74 72 ta ""Example str
02f0: 69 6e 67 20 66 6f 72 20 6d 65 73 73 61 67 65 20 ing for message
0300: 64 69 67 65 73 74 20 74 65 73 74 73 2e 5c 6e 22 digest tests.\n"
0310: 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d "",,,,,,,,,.comm
0320: 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f 66 69 and,"set test_fi
0330: 6c 65 20 22 22 6d 64 5f 64 61 74 61 2e 64 61 74 le ""md_data.dat
0340: 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d """,,,,,,,,,.com
0350: 6d 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f 6b mand,"set test_k
0360: 65 79 20 22 22 45 78 61 6d 70 6c 65 20 6b 65 79 ey ""Example key
0370: 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d """,,,,,,,,,.com
0380: 6d 61 6e 64 2c 3a 3a 74 63 6c 74 65 73 74 3a 3a mand,::tcltest::
0390: 6d 61 6b 65 46 69 6c 65 20 24 74 65 73 74 5f 64 makeFile $test_d
03a0: 61 74 61 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c ata $test_file,,
03b0: 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c ,,,,,,,.,,,,,,,,
03c0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 ,,.command,# Tes
03d0: 74 20 64 69 67 65 73 74 20 73 68 6f 72 74 2d 63 t digest short-c
03e0: 75 74 20 63 6f 6d 6d 61 6e 64 73 2c 2c 2c 2c 2c ut commands,,,,,
03f0: 2c 2c 2c 2c 0a 44 69 67 65 73 74 20 43 6d 64 73 ,,,,.Digest Cmds
0400: 2c 6d 64 34 20 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 ,md4 cmd,,,::tls
0410: 3a 3a 6d 64 34 20 24 74 65 73 74 5f 64 61 74 61 ::md4 $test_data
0420: 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63 61 ,,,793399f792eca
0430: 32 37 35 32 63 36 61 66 33 32 33 34 62 61 37 30 2752c6af3234ba70
0440: 38 35 38 2c 2c 2c 0a 44 69 67 65 73 74 20 43 6d 858,,,.Digest Cm
0450: 64 73 2c 6d 64 35 20 63 6d 64 2c 2c 2c 3a 3a 74 ds,md5 cmd,,,::t
0460: 6c 73 3a 3a 6d 64 35 20 24 74 65 73 74 5f 64 61 ls::md5 $test_da
0470: 74 61 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 ta,,,962bf0803b4
0480: 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 232ec23bd8427bb9
0490: 34 65 61 30 39 2c 2c 2c 0a 44 69 67 65 73 74 20 4ea09,,,.Digest
04a0: 43 6d 64 73 2c 73 68 61 31 20 63 6d 64 2c 2c 2c Cmds,sha1 cmd,,,
04b0: 3a 3a 74 6c 73 3a 3a 73 68 61 31 20 24 74 65 73 ::tls::sha1 $tes
04c0: 74 5f 64 61 74 61 2c 2c 2c 34 66 65 30 33 62 37 t_data,,,4fe03b7
04d0: 66 32 35 36 38 35 35 31 64 66 61 66 62 39 38 63 f2568551dfafb98c
04e0: 61 36 30 30 34 65 36 35 63 34 62 37 31 61 61 37 a6004e65c4b71aa7
04f0: 64 2c 2c 2c 0a 44 69 67 65 73 74 20 43 6d 64 73 d,,,.Digest Cmds
0500: 2c 73 68 61 32 35 36 20 63 6d 64 2c 2c 2c 3a 3a ,sha256 cmd,,,::
0510: 74 6c 73 3a 3a 73 68 61 32 35 36 20 24 74 65 73 tls::sha256 $tes
0520: 74 5f 64 61 74 61 2c 2c 2c 39 64 33 35 37 38 66 t_data,,,9d3578f
0530: 63 31 33 38 32 30 35 63 66 30 65 65 34 62 34 63 c138205cf0ee4b4c
0540: 65 66 33 35 66 65 31 30 31 62 62 34 65 63 61 63 ef35fe101bb4ecac
0550: 37 62 31 36 31 34 63 31 38 65 36 66 61 34 38 62 7b1614c18e6fa48b
0560: 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 44 69 67 5c7f95e19,,,.Dig
0570: 65 73 74 20 43 6d 64 73 2c 73 68 61 35 31 32 20 est Cmds,sha512
0580: 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 73 68 61 cmd,,,::tls::sha
0590: 35 31 32 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 512 $test_data,,
05a0: 2c 64 31 37 38 65 37 35 39 64 63 35 39 31 32 37 ,d178e759dc59127
05b0: 30 37 31 35 38 38 64 32 66 61 64 31 37 33 63 30 071588d2fad173c0
05c0: 36 32 33 38 64 38 37 65 38 30 30 61 36 34 30 33 6238d87e800a6403
05d0: 63 30 61 33 30 64 61 61 34 66 61 61 66 30 35 64 c0a30daa4faaf05d
05e0: 30 65 37 63 65 30 34 39 31 36 61 66 61 61 36 61 0e7ce04916afaa6a
05f0: 35 38 61 33 30 63 62 65 62 35 39 37 64 61 63 62 58a30cbeb597dacb
0600: 30 31 63 36 32 66 39 66 62 39 64 38 39 62 61 62 01c62f9fb9d89bab
0610: 39 64 61 36 33 30 63 36 39 39 65 34 38 31 36 66 9da630c699e4816f
0620: 31 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 1,,,.,,,,,,,,,,.
0630: 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 64 command,# Test d
0640: 69 67 65 73 74 20 63 6f 6d 6d 61 6e 64 20 66 6f igest command fo
0650: 72 20 63 68 61 6e 6e 65 6c 2c 2c 2c 2c 2c 2c 2c r channel,,,,,,,
0660: 2c 2c 0a 44 69 67 65 73 74 20 43 68 61 6e 2c 6d ,,.Digest Chan,m
0670: 64 34 2c 2c 2c 72 65 61 64 5f 63 68 61 6e 20 3a d4,,,read_chan :
0680: 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 24 74 65 :tls::digest $te
0690: 73 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 st_file -digest
06a0: 6d 64 34 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 md4,,,793399f792
06b0: 65 63 61 32 37 35 32 63 36 61 66 33 32 33 34 62 eca2752c6af3234b
06c0: 61 37 30 38 35 38 2c 2c 2c 0a 44 69 67 65 73 74 a70858,,,.Digest
06d0: 20 43 68 61 6e 2c 6d 64 35 2c 2c 2c 72 65 61 64 Chan,md5,,,read
06e0: 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 64 69 67 _chan ::tls::dig
06f0: 65 73 74 20 24 74 65 73 74 5f 66 69 6c 65 20 2d est $test_file -
0700: 64 69 67 65 73 74 20 6d 64 35 2c 2c 2c 39 36 32 digest md5,,,962
0710: 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62 bf0803b4232ec23b
0720: 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c d8427bb94ea09,,,
0730: 0a 44 69 67 65 73 74 20 43 68 61 6e 2c 73 68 61 .Digest Chan,sha
0740: 31 2c 2c 2c 72 65 61 64 5f 63 68 61 6e 20 3a 3a 1,,,read_chan ::
0750: 74 6c 73 3a 3a 64 69 67 65 73 74 20 24 74 65 73 tls::digest $tes
0760: 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 73 t_file -digest s
0770: 68 61 31 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 ha1,,,4fe03b7f25
0780: 36 38 35 35 31 64 66 61 66 62 39 38 63 61 36 30 68551dfafb98ca60
0790: 30 34 65 36 35 63 34 62 37 31 61 61 37 64 2c 2c 04e65c4b71aa7d,,
07a0: 2c 0a 44 69 67 65 73 74 20 43 68 61 6e 2c 73 68 ,.Digest Chan,sh
07b0: 61 32 35 36 2c 2c 2c 72 65 61 64 5f 63 68 61 6e a256,,,read_chan
07c0: 20 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 24 ::tls::digest $
07d0: 74 65 73 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 test_file -diges
07e0: 74 20 73 68 61 32 35 36 2c 2c 2c 39 64 33 35 37 t sha256,,,9d357
07f0: 38 66 63 31 33 38 32 30 35 63 66 30 65 65 34 62 8fc138205cf0ee4b
0800: 34 63 65 66 33 35 66 65 31 30 31 62 62 34 65 63 4cef35fe101bb4ec
0810: 61 63 37 62 31 36 31 34 63 31 38 65 36 66 61 34 ac7b1614c18e6fa4
0820: 38 62 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 44 8b5c7f95e19,,,.D
0830: 69 67 65 73 74 20 43 68 61 6e 2c 73 68 61 35 31 igest Chan,sha51
0840: 32 2c 2c 2c 72 65 61 64 5f 63 68 61 6e 20 3a 3a 2,,,read_chan ::
0850: 74 6c 73 3a 3a 64 69 67 65 73 74 20 24 74 65 73 tls::digest $tes
0860: 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 73 t_file -digest s
0870: 68 61 35 31 32 2c 2c 2c 64 31 37 38 65 37 35 39 ha512,,,d178e759
0880: 64 63 35 39 31 32 37 30 37 31 35 38 38 64 32 66 dc59127071588d2f
0890: 61 64 31 37 33 63 30 36 32 33 38 64 38 37 65 38 ad173c06238d87e8
08a0: 30 30 61 36 34 30 33 63 30 61 33 30 64 61 61 34 00a6403c0a30daa4
08b0: 66 61 61 66 30 35 64 30 65 37 63 65 30 34 39 31 faaf05d0e7ce0491
08c0: 36 61 66 61 61 36 61 35 38 61 33 30 63 62 65 62 6afaa6a58a30cbeb
08d0: 35 39 37 64 61 63 62 30 31 63 36 32 66 39 66 62 597dacb01c62f9fb
08e0: 39 64 38 39 62 61 62 39 64 61 36 33 30 63 36 39 9d89bab9da630c69
08f0: 39 65 34 38 31 36 66 31 2c 2c 2c 0a 44 69 67 65 9e4816f1,,,.Dige
0900: 73 74 20 43 68 61 6e 2c 6d 64 35 20 62 69 6e 2c st Chan,md5 bin,
0910: 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 ,,binary encode
0920: 68 65 78 20 5b 72 65 61 64 5f 63 68 61 6e 20 3a hex [read_chan :
0930: 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 24 74 65 :tls::digest $te
0940: 73 74 5f 66 69 6c 65 20 2d 62 69 6e 20 2d 64 69 st_file -bin -di
0950: 67 65 73 74 20 6d 64 35 5d 2c 2c 2c 39 36 32 62 gest md5],,,962b
0960: 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62 64 f0803b4232ec23bd
0970: 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 8427bb94ea09,,,.
0980: 44 69 67 65 73 74 20 43 68 61 6e 2c 6d 64 35 20 Digest Chan,md5
0990: 68 65 78 2c 2c 2c 72 65 61 64 5f 63 68 61 6e 20 hex,,,read_chan
09a0: 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 24 74 ::tls::digest $t
09b0: 65 73 74 5f 66 69 6c 65 20 2d 68 65 78 20 2d 64 est_file -hex -d
09c0: 69 67 65 73 74 20 6d 64 35 2c 2c 2c 39 36 32 62 igest md5,,,962b
09d0: 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62 64 f0803b4232ec23bd
09e0: 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 8427bb94ea09,,,.
09f0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 ,,,,,,,,,,.comma
0a00: 6e 64 2c 23 20 54 65 73 74 20 64 69 67 65 73 74 nd,# Test digest
0a10: 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 6f 62 6a command for obj
0a20: 65 63 74 20 63 6f 6d 6d 61 6e 64 2c 2c 2c 2c 2c ect command,,,,,
0a30: 2c 2c 2c 2c 0a 44 69 67 65 73 74 20 43 6f 6d 6d ,,,,.Digest Comm
0a40: 61 6e 64 2c 6d 64 34 2c 2c 2c 61 63 63 75 6d 75 and,md4,,,accumu
0a50: 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 late $test_data
0a60: 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 ::tls::digest -d
0a70: 69 67 65 73 74 20 6d 64 34 2c 2c 2c 37 39 33 33 igest md4,,,7933
0a80: 39 39 66 37 39 32 65 63 61 32 37 35 32 63 36 61 99f792eca2752c6a
0a90: 66 33 32 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a f3234ba70858,,,.
0aa0: 44 69 67 65 73 74 20 43 6f 6d 6d 61 6e 64 2c 6d Digest Command,m
0ab0: 64 35 2c 2c 2c 61 63 63 75 6d 75 6c 61 74 65 20 d5,,,accumulate
0ac0: 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 $test_data ::tls
0ad0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 ::digest -digest
0ae0: 20 6d 64 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 md5,,,962bf0803
0af0: 62 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62 b4232ec23bd8427b
0b00: 62 39 34 65 61 30 39 2c 2c 2c 0a 44 69 67 65 73 b94ea09,,,.Diges
0b10: 74 20 43 6f 6d 6d 61 6e 64 2c 73 68 61 31 2c 2c t Command,sha1,,
0b20: 2c 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 ,accumulate $tes
0b30: 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 64 69 t_data ::tls::di
0b40: 67 65 73 74 20 2d 64 69 67 65 73 74 20 73 68 61 gest -digest sha
0b50: 31 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 36 38 1,,,4fe03b7f2568
0b60: 35 35 31 64 66 61 66 62 39 38 63 61 36 30 30 34 551dfafb98ca6004
0b70: 65 36 35 63 34 62 37 31 61 61 37 64 2c 2c 2c 0a e65c4b71aa7d,,,.
0b80: 44 69 67 65 73 74 20 43 6f 6d 6d 61 6e 64 2c 73 Digest Command,s
0b90: 68 61 32 35 36 2c 2c 2c 61 63 63 75 6d 75 6c 61 ha256,,,accumula
0ba0: 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a te $test_data ::
0bb0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 tls::digest -dig
0bc0: 65 73 74 20 73 68 61 32 35 36 2c 2c 2c 39 64 33 est sha256,,,9d3
0bd0: 35 37 38 66 63 31 33 38 32 30 35 63 66 30 65 65 578fc138205cf0ee
0be0: 34 62 34 63 65 66 33 35 66 65 31 30 31 62 62 34 4b4cef35fe101bb4
0bf0: 65 63 61 63 37 62 31 36 31 34 63 31 38 65 36 66 ecac7b1614c18e6f
0c00: 61 34 38 62 35 63 37 66 39 35 65 31 39 2c 2c 2c a48b5c7f95e19,,,
0c10: 0a 44 69 67 65 73 74 20 43 6f 6d 6d 61 6e 64 2c .Digest Command,
0c20: 73 68 61 35 31 32 2c 2c 2c 61 63 63 75 6d 75 6c sha512,,,accumul
0c30: 61 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a ate $test_data :
0c40: 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 :tls::digest -di
0c50: 67 65 73 74 20 73 68 61 35 31 32 2c 2c 2c 64 31 gest sha512,,,d1
0c60: 37 38 65 37 35 39 64 63 35 39 31 32 37 30 37 31 78e759dc59127071
0c70: 35 38 38 64 32 66 61 64 31 37 33 63 30 36 32 33 588d2fad173c0623
0c80: 38 64 38 37 65 38 30 30 61 36 34 30 33 63 30 61 8d87e800a6403c0a
0c90: 33 30 64 61 61 34 66 61 61 66 30 35 64 30 65 37 30daa4faaf05d0e7
0ca0: 63 65 30 34 39 31 36 61 66 61 61 36 61 35 38 61 ce04916afaa6a58a
0cb0: 33 30 63 62 65 62 35 39 37 64 61 63 62 30 31 63 30cbeb597dacb01c
0cc0: 36 32 66 39 66 62 39 64 38 39 62 61 62 39 64 61 62f9fb9d89bab9da
0cd0: 36 33 30 63 36 39 39 65 34 38 31 36 66 31 2c 2c 630c699e4816f1,,
0ce0: 2c 0a 44 69 67 65 73 74 20 43 6f 6d 6d 61 6e 64 ,.Digest Command
0cf0: 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 ,md5 bin,,,binar
0d00: 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 61 63 y encode hex [ac
0d10: 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64 cumulate $test_d
0d20: 61 74 61 20 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 ata ::tls::diges
0d30: 74 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 62 t -digest md5 -b
0d40: 69 6e 5d 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 in],,,962bf0803b
0d50: 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62 4232ec23bd8427bb
0d60: 39 34 65 61 30 39 2c 2c 2c 0a 44 69 67 65 73 74 94ea09,,,.Digest
0d70: 20 43 6f 6d 6d 61 6e 64 2c 6d 64 35 20 68 65 78 Command,md5 hex
0d80: 2c 2c 2c 61 63 63 75 6d 75 6c 61 74 65 20 24 74 ,,,accumulate $t
0d90: 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a est_data ::tls::
0da0: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 6d digest -digest m
0db0: 64 35 20 2d 68 65 78 2c 2c 2c 39 36 32 62 66 30 d5 -hex,,,962bf0
0dc0: 38 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34 803b4232ec23bd84
0dd0: 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 27bb94ea09,,,.,,
0de0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 ,,,,,,,,.command
0df0: 2c 23 20 54 65 73 74 20 64 69 67 65 73 74 20 63 ,# Test digest c
0e00: 6f 6d 6d 61 6e 64 20 66 6f 72 20 64 61 74 61 20 ommand for data
0e10: 73 68 6f 72 74 63 75 74 2c 2c 2c 2c 2c 2c 2c 2c shortcut,,,,,,,,
0e20: 2c 0a 44 69 67 65 73 74 20 44 61 74 61 2c 6d 64 ,.Digest Data,md
0e30: 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 4,,,::tls::diges
0e40: 74 20 6d 64 34 20 24 74 65 73 74 5f 64 61 74 61 t md4 $test_data
0e50: 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63 61 ,,,793399f792eca
0e60: 32 37 35 32 63 36 61 66 33 32 33 34 62 61 37 30 2752c6af3234ba70
0e70: 38 35 38 2c 2c 2c 0a 44 69 67 65 73 74 20 44 61 858,,,.Digest Da
0e80: 74 61 2c 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a ta,md5,,,::tls::
0e90: 64 69 67 65 73 74 20 6d 64 35 20 24 74 65 73 74 digest md5 $test
0ea0: 5f 64 61 74 61 2c 2c 2c 39 36 32 62 66 30 38 30 _data,,,962bf080
0eb0: 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32 37 3b4232ec23bd8427
0ec0: 62 62 39 34 65 61 30 39 2c 2c 2c 0a 44 69 67 65 bb94ea09,,,.Dige
0ed0: 73 74 20 44 61 74 61 2c 73 68 61 31 2c 2c 2c 3a st Data,sha1,,,:
0ee0: 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 73 68 61 :tls::digest sha
0ef0: 31 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 34 1 $test_data,,,4
0f00: 66 65 30 33 62 37 66 32 35 36 38 35 35 31 64 66 fe03b7f2568551df
0f10: 61 66 62 39 38 63 61 36 30 30 34 65 36 35 63 34 afb98ca6004e65c4
0f20: 62 37 31 61 61 37 64 2c 2c 2c 0a 44 69 67 65 73 b71aa7d,,,.Diges
0f30: 74 20 44 61 74 61 2c 73 68 61 32 35 36 2c 2c 2c t Data,sha256,,,
0f40: 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 73 68 ::tls::digest sh
0f50: 61 32 35 36 20 24 74 65 73 74 5f 64 61 74 61 2c a256 $test_data,
0f60: 2c 2c 39 64 33 35 37 38 66 63 31 33 38 32 30 35 ,,9d3578fc138205
0f70: 63 66 30 65 65 34 62 34 63 65 66 33 35 66 65 31 cf0ee4b4cef35fe1
0f80: 30 31 62 62 34 65 63 61 63 37 62 31 36 31 34 63 01bb4ecac7b1614c
0f90: 31 38 65 36 66 61 34 38 62 35 63 37 66 39 35 65 18e6fa48b5c7f95e
0fa0: 31 39 2c 2c 2c 0a 44 69 67 65 73 74 20 44 61 74 19,,,.Digest Dat
0fb0: 61 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 a,sha512,,,::tls
0fc0: 3a 3a 64 69 67 65 73 74 20 73 68 61 35 31 32 20 ::digest sha512
0fd0: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 64 31 37 $test_data,,,d17
0fe0: 38 65 37 35 39 64 63 35 39 31 32 37 30 37 31 35 8e759dc591270715
0ff0: 38 38 64 32 66 61 64 31 37 33 63 30 36 32 33 38 88d2fad173c06238
1000: 64 38 37 65 38 30 30 61 36 34 30 33 63 30 61 33 d87e800a6403c0a3
1010: 30 64 61 61 34 66 61 61 66 30 35 64 30 65 37 63 0daa4faaf05d0e7c
1020: 65 30 34 39 31 36 61 66 61 61 36 61 35 38 61 33 e04916afaa6a58a3
1030: 30 63 62 65 62 35 39 37 64 61 63 62 30 31 63 36 0cbeb597dacb01c6
1040: 32 66 39 66 62 39 64 38 39 62 61 62 39 64 61 36 2f9fb9d89bab9da6
1050: 33 30 63 36 39 39 65 34 38 31 36 66 31 2c 2c 2c 30c699e4816f1,,,
1060: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d .,,,,,,,,,,.comm
1070: 61 6e 64 2c 23 20 54 65 73 74 20 64 69 67 65 73 and,# Test diges
1080: 74 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 64 61 t command for da
1090: 74 61 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67 65 ta,,,,,,,,,.Dige
10a0: 73 74 20 44 61 74 61 2c 6d 64 34 2c 2c 2c 3a 3a st Data,md4,,,::
10b0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 tls::digest -dig
10c0: 65 73 74 20 6d 64 34 20 2d 64 61 74 61 20 24 74 est md4 -data $t
10d0: 65 73 74 5f 64 61 74 61 2c 2c 2c 37 39 33 33 39 est_data,,,79339
10e0: 39 66 37 39 32 65 63 61 32 37 35 32 63 36 61 66 9f792eca2752c6af
10f0: 33 32 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a 44 3234ba70858,,,.D
1100: 69 67 65 73 74 20 44 61 74 61 2c 6d 64 35 2c 2c igest Data,md5,,
1110: 2c 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d ,::tls::digest -
1120: 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61 digest md5 -data
1130: 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 39 36 $test_data,,,96
1140: 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33 2bf0803b4232ec23
1150: 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c bd8427bb94ea09,,
1160: 2c 0a 44 69 67 65 73 74 20 44 61 74 61 2c 73 68 ,.Digest Data,sh
1170: 61 31 2c 2c 2c 3a 3a 74 6c 73 3a 3a 64 69 67 65 a1,,,::tls::dige
1180: 73 74 20 2d 64 69 67 65 73 74 20 73 68 61 31 20 st -digest sha1
1190: 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 -data $test_data
11a0: 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 36 38 35 ,,,4fe03b7f25685
11b0: 35 31 64 66 61 66 62 39 38 63 61 36 30 30 34 65 51dfafb98ca6004e
11c0: 36 35 63 34 62 37 31 61 61 37 64 2c 2c 2c 0a 44 65c4b71aa7d,,,.D
11d0: 69 67 65 73 74 20 44 61 74 61 2c 73 68 61 32 35 igest Data,sha25
11e0: 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 6,,,::tls::diges
11f0: 74 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 t -digest sha256
1200: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 -data $test_dat
1210: 61 2c 2c 2c 39 64 33 35 37 38 66 63 31 33 38 32 a,,,9d3578fc1382
1220: 30 35 63 66 30 65 65 34 62 34 63 65 66 33 35 66 05cf0ee4b4cef35f
1230: 65 31 30 31 62 62 34 65 63 61 63 37 62 31 36 31 e101bb4ecac7b161
1240: 34 63 31 38 65 36 66 61 34 38 62 35 63 37 66 39 4c18e6fa48b5c7f9
1250: 35 65 31 39 2c 2c 2c 0a 44 69 67 65 73 74 20 44 5e19,,,.Digest D
1260: 61 74 61 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 ata,sha512,,,::t
1270: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 ls::digest -dige
1280: 73 74 20 73 68 61 35 31 32 20 2d 64 61 74 61 20 st sha512 -data
1290: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 64 31 37 $test_data,,,d17
12a0: 38 65 37 35 39 64 63 35 39 31 32 37 30 37 31 35 8e759dc591270715
12b0: 38 38 64 32 66 61 64 31 37 33 63 30 36 32 33 38 88d2fad173c06238
12c0: 64 38 37 65 38 30 30 61 36 34 30 33 63 30 61 33 d87e800a6403c0a3
12d0: 30 64 61 61 34 66 61 61 66 30 35 64 30 65 37 63 0daa4faaf05d0e7c
12e0: 65 30 34 39 31 36 61 66 61 61 36 61 35 38 61 33 e04916afaa6a58a3
12f0: 30 63 62 65 62 35 39 37 64 61 63 62 30 31 63 36 0cbeb597dacb01c6
1300: 32 66 39 66 62 39 64 38 39 62 61 62 39 64 61 36 2f9fb9d89bab9da6
1310: 33 30 63 36 39 39 65 34 38 31 36 66 31 2c 2c 2c 30c699e4816f1,,,
1320: 0a 44 69 67 65 73 74 20 44 61 74 61 2c 6d 64 35 .Digest Data,md5
1330: 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e bin,,,binary en
1340: 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a code hex [::tls:
1350: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 :digest -digest
1360: 6d 64 35 20 2d 64 61 74 61 20 24 74 65 73 74 5f md5 -data $test_
1370: 64 61 74 61 20 2d 62 69 6e 5d 2c 2c 2c 39 36 32 data -bin],,,962
1380: 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62 bf0803b4232ec23b
1390: 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c d8427bb94ea09,,,
13a0: 0a 44 69 67 65 73 74 20 44 61 74 61 2c 6d 64 35 .Digest Data,md5
13b0: 20 68 65 78 2c 2c 2c 3a 3a 74 6c 73 3a 3a 64 69 hex,,,::tls::di
13c0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 6d 64 35 gest -digest md5
13d0: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 -data $test_dat
13e0: 61 20 2d 68 65 78 2c 2c 2c 39 36 32 62 66 30 38 a -hex,,,962bf08
13f0: 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32 03b4232ec23bd842
1400: 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 7bb94ea09,,,.,,,
1410: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c ,,,,,,,.command,
1420: 23 20 54 65 73 74 20 64 69 67 65 73 74 20 63 6f # Test digest co
1430: 6d 6d 61 6e 64 20 66 6f 72 20 66 69 6c 65 2c 2c mmand for file,,
1440: 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67 65 73 74 20 46 ,,,,,,,.Digest F
1450: 69 6c 65 2c 6d 64 34 2c 2c 2c 3a 3a 74 6c 73 3a ile,md4,,,::tls:
1460: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 :digest -digest
1470: 6d 64 34 20 2d 66 69 6c 65 20 24 74 65 73 74 5f md4 -file $test_
1480: 66 69 6c 65 2c 2c 2c 37 39 33 33 39 39 66 37 39 file,,,793399f79
1490: 32 65 63 61 32 37 35 32 63 36 61 66 33 32 33 34 2eca2752c6af3234
14a0: 62 61 37 30 38 35 38 2c 2c 2c 0a 44 69 67 65 73 ba70858,,,.Diges
14b0: 74 20 46 69 6c 65 2c 6d 64 35 2c 2c 2c 3a 3a 74 t File,md5,,,::t
14c0: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 ls::digest -dige
14d0: 73 74 20 6d 64 35 20 2d 66 69 6c 65 20 24 74 65 st md5 -file $te
14e0: 73 74 5f 66 69 6c 65 2c 2c 2c 39 36 32 62 66 30 st_file,,,962bf0
14f0: 38 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34 803b4232ec23bd84
1500: 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 44 69 27bb94ea09,,,.Di
1510: 67 65 73 74 20 46 69 6c 65 2c 73 68 61 31 2c 2c gest File,sha1,,
1520: 2c 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d ,::tls::digest -
1530: 64 69 67 65 73 74 20 73 68 61 31 20 2d 66 69 6c digest sha1 -fil
1540: 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 34 e $test_file,,,4
1550: 66 65 30 33 62 37 66 32 35 36 38 35 35 31 64 66 fe03b7f2568551df
1560: 61 66 62 39 38 63 61 36 30 30 34 65 36 35 63 34 afb98ca6004e65c4
1570: 62 37 31 61 61 37 64 2c 2c 2c 0a 44 69 67 65 73 b71aa7d,,,.Diges
1580: 74 20 46 69 6c 65 2c 73 68 61 32 35 36 2c 2c 2c t File,sha256,,,
1590: 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 ::tls::digest -d
15a0: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 66 69 igest sha256 -fi
15b0: 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c le $test_file,,,
15c0: 39 64 33 35 37 38 66 63 31 33 38 32 30 35 63 66 9d3578fc138205cf
15d0: 30 65 65 34 62 34 63 65 66 33 35 66 65 31 30 31 0ee4b4cef35fe101
15e0: 62 62 34 65 63 61 63 37 62 31 36 31 34 63 31 38 bb4ecac7b1614c18
15f0: 65 36 66 61 34 38 62 35 63 37 66 39 35 65 31 39 e6fa48b5c7f95e19
1600: 2c 2c 2c 0a 44 69 67 65 73 74 20 46 69 6c 65 2c ,,,.Digest File,
1610: 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a sha512,,,::tls::
1620: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 73 digest -digest s
1630: 68 61 35 31 32 20 2d 66 69 6c 65 20 24 74 65 73 ha512 -file $tes
1640: 74 5f 66 69 6c 65 2c 2c 2c 64 31 37 38 65 37 35 t_file,,,d178e75
1650: 39 64 63 35 39 31 32 37 30 37 31 35 38 38 64 32 9dc59127071588d2
1660: 66 61 64 31 37 33 63 30 36 32 33 38 64 38 37 65 fad173c06238d87e
1670: 38 30 30 61 36 34 30 33 63 30 61 33 30 64 61 61 800a6403c0a30daa
1680: 34 66 61 61 66 30 35 64 30 65 37 63 65 30 34 39 4faaf05d0e7ce049
1690: 31 36 61 66 61 61 36 61 35 38 61 33 30 63 62 65 16afaa6a58a30cbe
16a0: 62 35 39 37 64 61 63 62 30 31 63 36 32 66 39 66 b597dacb01c62f9f
16b0: 62 39 64 38 39 62 61 62 39 64 61 36 33 30 63 36 b9d89bab9da630c6
16c0: 39 39 65 34 38 31 36 66 31 2c 2c 2c 0a 44 69 67 99e4816f1,,,.Dig
16d0: 65 73 74 20 46 69 6c 65 2c 6d 64 35 20 62 69 6e est File,md5 bin
16e0: 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 ,,,binary encode
16f0: 20 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 64 69 67 hex [::tls::dig
1700: 65 73 74 20 2d 64 69 67 65 73 74 20 6d 64 35 20 est -digest md5
1710: 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 -file $test_file
1720: 20 2d 62 69 6e 5d 2c 2c 2c 39 36 32 62 66 30 38 -bin],,,962bf08
1730: 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32 03b4232ec23bd842
1740: 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 44 69 67 7bb94ea09,,,.Dig
1750: 65 73 74 20 46 69 6c 65 2c 6d 64 35 20 68 65 78 est File,md5 hex
1760: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 ,,,::tls::digest
1770: 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 66 69 -digest md5 -fi
1780: 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 68 le $test_file -h
1790: 65 78 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 ex,,,962bf0803b4
17a0: 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 232ec23bd8427bb9
17b0: 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 4ea09,,,.,,,,,,,
17c0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 ,,,.command,# Te
17d0: 73 74 20 48 4d 41 43 20 63 6f 6d 6d 61 6e 64 2c st HMAC command,
17e0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 48 4d 41 43 2c 64 61 ,,,,,,,,.HMAC,da
17f0: 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 ta,,,::tls::hmac
1800: 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 6b 65 -digest md5 -ke
1810: 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74 y $test_key -dat
1820: 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 66 a $test_data,,,f
1830: 39 38 33 32 37 65 66 33 65 32 30 61 62 36 64 33 98327ef3e20ab6d3
1840: 38 38 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 88f676c6a79d93d,
1850: 2c 2c 0a 48 4d 41 43 2c 66 69 6c 65 2c 2c 2c 3a ,,.HMAC,file,,,:
1860: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 :tls::hmac -dige
1870: 73 74 20 6d 64 35 20 2d 6b 65 79 20 24 74 65 73 st md5 -key $tes
1880: 74 5f 6b 65 79 20 2d 66 69 6c 65 20 24 74 65 73 t_key -file $tes
1890: 74 5f 66 69 6c 65 2c 2c 2c 66 39 38 33 32 37 65 t_file,,,f98327e
18a0: 66 33 65 32 30 61 62 36 64 33 38 38 66 36 37 36 f3e20ab6d388f676
18b0: 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a 48 4d 41 c6a79d93d,,,.HMA
18c0: 43 2c 63 68 61 6e 6e 65 6c 2c 2c 2c 72 65 61 64 C,channel,,,read
18d0: 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 68 6d 61 _chan ::tls::hma
18e0: 63 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 64 69 c $test_file -di
18f0: 67 65 73 74 20 6d 64 35 20 2d 6b 65 79 20 24 74 gest md5 -key $t
1900: 65 73 74 5f 6b 65 79 2c 2c 2c 66 39 38 33 32 37 est_key,,,f98327
1910: 65 66 33 65 32 30 61 62 36 64 33 38 38 66 36 37 ef3e20ab6d388f67
1920: 36 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a 48 4d 6c6a79d93d,,,.HM
1930: 41 43 2c 63 6f 6d 6d 61 6e 64 2c 2c 2c 61 63 63 AC,command,,,acc
1940: 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 umulate $test_da
1950: 74 61 20 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d ta ::tls::hmac -
1960: 64 69 67 65 73 74 20 6d 64 35 20 2d 6b 65 79 20 digest md5 -key
1970: 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39 38 33 $test_key,,,f983
1980: 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38 66 27ef3e20ab6d388f
1990: 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a 676c6a79d93d,,,.
19a0: 48 4d 41 43 2c 64 61 74 61 20 62 69 6e 2c 2c 2c HMAC,data bin,,,
19b0: 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 binary encode he
19c0: 78 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d x [::tls::hmac -
19d0: 64 69 67 65 73 74 20 6d 64 35 20 2d 62 69 6e 20 digest md5 -bin
19e0: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d -key $test_key -
19f0: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 5d data $test_data]
1a00: 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 ,,,f98327ef3e20a
1a10: 62 36 64 33 38 38 66 36 37 36 63 36 61 37 39 64 b6d388f676c6a79d
1a20: 39 33 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 93d,,,.,,,,,,,,,
1a30: 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 ,.command,# Test
1a40: 20 44 69 67 65 73 74 20 48 4d 41 43 2c 2c 2c 2c Digest HMAC,,,,
1a50: 2c 2c 2c 2c 2c 0a 44 69 67 65 73 74 20 48 4d 41 ,,,,,.Digest HMA
1a60: 43 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a C,data,,,::tls::
1a70: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 6d digest -digest m
1a80: 64 35 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 d5 -key $test_ke
1a90: 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 y -data $test_da
1aa0: 74 61 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32 ta,,,f98327ef3e2
1ab0: 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61 37 0ab6d388f676c6a7
1ac0: 39 64 39 33 64 2c 2c 2c 0a 44 69 67 65 73 74 20 9d93d,,,.Digest
1ad0: 48 4d 41 43 2c 66 69 6c 65 2c 2c 2c 3a 3a 74 6c HMAC,file,,,::tl
1ae0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 s::digest -diges
1af0: 74 20 6d 64 35 20 2d 6b 65 79 20 24 74 65 73 74 t md5 -key $test
1b00: 5f 6b 65 79 20 2d 66 69 6c 65 20 24 74 65 73 74 _key -file $test
1b10: 5f 66 69 6c 65 2c 2c 2c 66 39 38 33 32 37 65 66 _file,,,f98327ef
1b20: 33 65 32 30 61 62 36 64 33 38 38 66 36 37 36 63 3e20ab6d388f676c
1b30: 36 61 37 39 64 39 33 64 2c 2c 2c 0a 44 69 67 65 6a79d93d,,,.Dige
1b40: 73 74 20 48 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c st HMAC,channel,
1b50: 2c 2c 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c ,,read_chan ::tl
1b60: 73 3a 3a 64 69 67 65 73 74 20 24 74 65 73 74 5f s::digest $test_
1b70: 66 69 6c 65 20 2d 64 69 67 65 73 74 20 6d 64 35 file -digest md5
1b80: 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 2c -key $test_key,
1b90: 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 62 ,,f98327ef3e20ab
1ba0: 36 64 33 38 38 66 36 37 36 63 36 61 37 39 64 39 6d388f676c6a79d9
1bb0: 33 64 2c 2c 2c 0a 44 69 67 65 73 74 20 48 4d 41 3d,,,.Digest HMA
1bc0: 43 2c 63 6f 6d 6d 61 6e 64 2c 2c 2c 61 63 63 75 C,command,,,accu
1bd0: 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74 mulate $test_dat
1be0: 61 20 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 a ::tls::digest
1bf0: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 6b 65 79 -digest md5 -key
1c00: 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39 38 $test_key,,,f98
1c10: 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38 327ef3e20ab6d388
1c20: 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c f676c6a79d93d,,,
1c30: 0a 44 69 67 65 73 74 20 48 4d 41 43 2c 64 61 74 .Digest HMAC,dat
1c40: 61 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 a bin,,,binary e
1c50: 6e 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 ncode hex [::tls
1c60: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 ::digest -digest
1c70: 20 6d 64 35 20 2d 62 69 6e 20 2d 6b 65 79 20 24 md5 -bin -key $
1c80: 74 65 73 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 test_key -data $
1c90: 74 65 73 74 5f 64 61 74 61 5d 2c 2c 2c 66 39 38 test_data],,,f98
1ca0: 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38 327ef3e20ab6d388
1cb0: 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c f676c6a79d93d,,,
1cc0: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d .,,,,,,,,,,.comm
1cd0: 61 6e 64 2c 23 20 54 65 73 74 20 43 4d 41 43 20 and,# Test CMAC
1ce0: 63 6f 6d 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c command,,,,,,,,,
1cf0: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 .command,"set te
1d00: 73 74 5f 63 69 70 68 65 72 20 22 22 61 65 73 2d st_cipher ""aes-
1d10: 31 32 38 2d 63 62 63 22 22 22 2c 2c 2c 2c 2c 2c 128-cbc""",,,,,,
1d20: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 ,,,.command,"set
1d30: 20 74 65 73 74 5f 6b 65 79 20 22 22 45 78 61 6d test_key ""Exam
1d40: 70 6c 65 20 6b 65 79 20 31 32 33 34 22 22 22 2c ple key 1234""",
1d50: 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d 41 43 2c 64 61 ,,,,,,,,.CMAC,da
1d60: 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 ta,,,::tls::cmac
1d70: 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 -cipher $test_c
1d80: 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 ipher -key $test
1d90: 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 _key -data $test
1da0: 5f 64 61 74 61 2c 2c 2c 62 61 66 35 63 32 30 66 _data,,,baf5c20f
1db0: 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65 9973e2d606b14c7e
1dc0: 66 64 66 65 35 32 66 61 2c 2c 2c 0a 43 4d 41 43 fdfe52fa,,,.CMAC
1dd0: 2c 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 ,file,,,::tls::c
1de0: 6d 61 63 20 2d 63 69 70 68 65 72 20 24 74 65 73 mac -cipher $tes
1df0: 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 t_cipher -key $t
1e00: 65 73 74 5f 6b 65 79 20 2d 66 69 6c 65 20 24 74 est_key -file $t
1e10: 65 73 74 5f 66 69 6c 65 2c 2c 2c 62 61 66 35 63 est_file,,,baf5c
1e20: 32 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34 20f9973e2d606b14
1e30: 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 43 c7efdfe52fa,,,.C
1e40: 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c 2c 2c 72 65 MAC,channel,,,re
1e50: 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 63 ad_chan ::tls::c
1e60: 6d 61 63 20 24 74 65 73 74 5f 66 69 6c 65 20 2d mac $test_file -
1e70: 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69 70 cipher $test_cip
1e80: 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b her -key $test_k
1e90: 65 79 2c 2c 2c 62 61 66 35 63 32 30 66 39 39 37 ey,,,baf5c20f997
1ea0: 33 65 32 64 36 30 36 62 31 34 63 37 65 66 64 66 3e2d606b14c7efdf
1eb0: 65 35 32 66 61 2c 2c 2c 0a 43 4d 41 43 2c 63 6f e52fa,,,.CMAC,co
1ec0: 6d 6d 61 6e 64 2c 2c 2c 61 63 63 75 6d 75 6c 61 mmand,,,accumula
1ed0: 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a te $test_data ::
1ee0: 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 tls::cmac -ciphe
1ef0: 72 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d r $test_cipher -
1f00: 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c key $test_key,,,
1f10: 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36 baf5c20f9973e2d6
1f20: 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61 06b14c7efdfe52fa
1f30: 2c 2c 2c 0a 43 4d 41 43 2c 64 61 74 61 20 62 69 ,,,.CMAC,data bi
1f40: 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 n,,,binary encod
1f50: 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 63 6d e hex [::tls::cm
1f60: 61 63 20 2d 62 69 6e 20 2d 63 69 70 68 65 72 20 ac -bin -cipher
1f70: 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 $test_cipher -ke
1f80: 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74 y $test_key -dat
1f90: 61 20 24 74 65 73 74 5f 64 61 74 61 5d 2c 2c 2c a $test_data],,,
1fa0: 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36 baf5c20f9973e2d6
1fb0: 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61 06b14c7efdfe52fa
1fc0: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 ,,,.,,,,,,,,,,.c
1fd0: 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 44 69 ommand,# Test Di
1fe0: 67 65 73 74 20 43 4d 41 43 2c 2c 2c 2c 2c 2c 2c gest CMAC,,,,,,,
1ff0: 2c 2c 0a 44 69 67 65 73 74 20 43 4d 41 43 2c 64 ,,.Digest CMAC,d
2000: 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 64 69 67 ata,,,::tls::dig
2010: 65 73 74 20 2d 63 69 70 68 65 72 20 24 74 65 73 est -cipher $tes
2020: 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 t_cipher -key $t
2030: 65 73 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 est_key -data $t
2040: 65 73 74 5f 64 61 74 61 2c 2c 2c 62 61 66 35 63 est_data,,,baf5c
2050: 32 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34 20f9973e2d606b14
2060: 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 44 c7efdfe52fa,,,.D
2070: 69 67 65 73 74 20 43 4d 41 43 2c 66 69 6c 65 2c igest CMAC,file,
2080: 2c 2c 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 ,,::tls::digest
2090: 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69 -cipher $test_ci
20a0: 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f pher -key $test_
20b0: 6b 65 79 20 2d 66 69 6c 65 20 24 74 65 73 74 5f key -file $test_
20c0: 66 69 6c 65 2c 2c 2c 62 61 66 35 63 32 30 66 39 file,,,baf5c20f9
20d0: 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66 973e2d606b14c7ef
20e0: 64 66 65 35 32 66 61 2c 2c 2c 0a 44 69 67 65 73 dfe52fa,,,.Diges
20f0: 74 20 43 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c 2c t CMAC,channel,,
2100: 2c 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 ,read_chan ::tls
2110: 3a 3a 64 69 67 65 73 74 20 24 74 65 73 74 5f 66 ::digest $test_f
2120: 69 6c 65 20 2d 63 69 70 68 65 72 20 24 74 65 73 ile -cipher $tes
2130: 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 t_cipher -key $t
2140: 65 73 74 5f 6b 65 79 2c 2c 2c 62 61 66 35 63 32 est_key,,,baf5c2
2150: 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63 0f9973e2d606b14c
2160: 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 44 69 7efdfe52fa,,,.Di
2170: 67 65 73 74 20 43 4d 41 43 2c 63 6f 6d 6d 61 6e gest CMAC,comman
2180: 64 2c 2c 2c 61 63 63 75 6d 75 6c 61 74 65 20 24 d,,,accumulate $
2190: 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a test_data ::tls:
21a0: 3a 64 69 67 65 73 74 20 2d 63 69 70 68 65 72 20 :digest -cipher
21b0: 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 $test_cipher -ke
21c0: 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 62 61 y $test_key,,,ba
21d0: 66 35 63 32 30 66 39 39 37 33 65 32 64 36 30 36 f5c20f9973e2d606
21e0: 62 31 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c b14c7efdfe52fa,,
21f0: 2c 0a 44 69 67 65 73 74 20 43 4d 41 43 2c 64 61 ,.Digest CMAC,da
2200: 74 61 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 ta bin,,,binary
2210: 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c encode hex [::tl
2220: 73 3a 3a 64 69 67 65 73 74 20 2d 62 69 6e 20 2d s::digest -bin -
2230: 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69 70 cipher $test_cip
2240: 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b her -key $test_k
2250: 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 ey -data $test_d
2260: 61 74 61 5d 2c 2c 2c 62 61 66 35 63 32 30 66 39 ata],,,baf5c20f9
2270: 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66 973e2d606b14c7ef
2280: 64 66 65 35 32 66 61 2c 2c 2c 0a 2c 2c 2c 2c 2c dfe52fa,,,.,,,,,
2290: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 ,,,,,.command,#
22a0: 54 65 73 74 20 4d 41 43 20 63 6f 6d 6d 61 6e 64 Test MAC command
22b0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 41 43 2c 48 4d ,,,,,,,,,.MAC,HM
22c0: 41 43 2c 6e 65 77 5f 61 70 69 2c 2c 3a 3a 74 6c AC,new_api,,::tl
22d0: 73 3a 3a 6d 61 63 20 2d 64 69 67 65 73 74 20 73 s::mac -digest s
22e0: 68 61 32 35 36 20 2d 6d 61 63 20 68 6d 61 63 20 ha256 -mac hmac
22f0: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d -key $test_key -
2300: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c data $test_data,
2310: 2c 2c 34 39 38 65 66 35 65 66 37 31 34 32 34 66 ,,498ef5ef71424f
2320: 38 31 64 61 37 34 39 39 62 32 65 65 61 65 31 64 81da7499b2eeae1d
2330: 30 61 33 34 38 64 64 34 30 62 38 34 31 65 61 32 0a348dd40b841ea2
2340: 37 62 64 64 65 34 39 34 66 36 62 63 39 30 34 36 7bdde494f6bc9046
2350: 66 66 2c 2c 2c 0a 4d 41 43 2c 43 4d 41 43 2c 6e ff,,,.MAC,CMAC,n
2360: 65 77 5f 61 70 69 2c 2c 3a 3a 74 6c 73 3a 3a 6d ew_api,,::tls::m
2370: 61 63 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 ac -cipher $test
2380: 5f 63 69 70 68 65 72 20 2d 64 69 67 65 73 74 20 _cipher -digest
2390: 73 68 61 32 35 36 20 2d 6d 61 63 20 63 6d 61 63 sha256 -mac cmac
23a0: 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 -key $test_key
23b0: 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 -data $test_data
23c0: 2c 2c 2c 34 39 38 65 66 35 65 66 37 31 34 32 34 ,,,498ef5ef71424
23d0: 66 38 31 64 61 37 34 39 39 62 32 65 65 61 65 31 f81da7499b2eeae1
23e0: 64 30 61 33 34 38 64 64 34 30 62 38 34 31 65 61 d0a348dd40b841ea
23f0: 32 37 62 64 64 65 34 39 34 66 36 62 63 39 30 34 27bdde494f6bc904
2400: 36 66 66 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 6ff,,,.,,,,,,,,,
2410: 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 44 69 67 65 ,.command,# Dige
2420: 73 74 20 45 72 72 6f 72 20 43 61 73 65 73 2c 2c st Error Cases,,
2430: 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67 65 73 74 20 45 ,,,,,,,.Digest E
2440: 72 72 6f 72 73 2c 54 6f 6f 20 66 65 77 20 61 72 rrors,Too few ar
2450: 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 64 69 67 65 gs,,,::tls::dige
2460: 73 74 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61 72 st,,,"wrong # ar
2470: 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22 22 gs: should be ""
2480: 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 3f 2d ::tls::digest ?-
2490: 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 bin|-hex? ?-ciph
24a0: 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 er name? ?-diges
24b0: 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 t name? ?-key ke
24c0: 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b y? ?-mac name? [
24d0: 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 -channel chan |
24e0: 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 -command cmdName
24f0: 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d | -file filenam
2500: 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 e | ?-data? data
2510: 5d 22 22 22 2c 2c 2c 31 0a 44 69 67 65 73 74 20 ]""",,,1.Digest
2520: 45 72 72 6f 72 73 2c 54 6f 6f 20 6d 61 6e 79 20 Errors,Too many
2530: 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 64 69 args,,,::tls::di
2540: 67 65 73 74 20 74 6f 6f 20 6d 61 6e 79 20 63 6f gest too many co
2550: 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 73 20 mmand line args
2560: 74 6f 20 70 61 73 73 20 74 68 65 20 74 65 73 74 to pass the test
2570: 20 77 69 74 68 6f 75 74 20 61 6e 20 65 72 72 6f without an erro
2580: 72 20 6f 72 20 66 61 69 6c 69 6e 67 2c 2c 2c 22 r or failing,,,"
2590: 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 wrong # args: sh
25a0: 6f 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a ould be ""::tls:
25b0: 3a 64 69 67 65 73 74 20 3f 2d 62 69 6e 7c 2d 68 :digest ?-bin|-h
25c0: 65 78 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61 6d ex? ?-cipher nam
25d0: 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d 65 e? ?-digest name
25e0: 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d ? ?-key key? ?-m
25f0: 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e ac name? [-chann
2600: 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61 el chan | -comma
2610: 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66 69 nd cmdName | -fi
2620: 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d le filename | ?-
2630: 64 61 74 61 3f 20 64 61 74 61 5d 22 22 22 2c 2c data? data]""",,
2640: 2c 31 0a 44 69 67 65 73 74 20 45 72 72 6f 72 73 ,1.Digest Errors
2650: 2c 49 6e 76 61 6c 69 64 20 64 69 67 65 73 74 2c ,Invalid digest,
2660: 2c 2c 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 ,,::tls::digest
2670: 62 6f 67 75 73 20 64 61 74 61 2c 2c 2c 22 49 6e bogus data,,,"In
2680: 76 61 6c 69 64 20 64 69 67 65 73 74 20 22 22 62 valid digest ""b
2690: 6f 67 75 73 22 22 22 2c 2c 2c 31 0a 44 69 67 65 ogus""",,,1.Dige
26a0: 73 74 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c 69 st Errors,Invali
26b0: 64 20 64 69 67 65 73 74 20 41 72 67 2c 2c 2c 3a d digest Arg,,,:
26c0: 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 :tls::digest -di
26d0: 67 65 73 74 20 62 6f 67 75 73 20 2d 64 61 74 61 gest bogus -data
26e0: 20 64 61 74 61 2c 2c 2c 22 49 6e 76 61 6c 69 64 data,,,"Invalid
26f0: 20 64 69 67 65 73 74 20 22 22 62 6f 67 75 73 22 digest ""bogus"
2700: 22 22 2c 2c 2c 31 0a 44 69 67 65 73 74 20 45 72 "",,,1.Digest Er
2710: 72 6f 72 73 2c 4e 6f 20 64 69 67 65 73 74 2c 2c rors,No digest,,
2720: 2c 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d ,::tls::digest -
2730: 68 65 78 20 2d 64 61 74 61 20 76 61 6c 75 65 2c hex -data value,
2740: 2c 2c 4e 6f 20 64 69 67 65 73 74 20 73 70 65 63 ,,No digest spec
2750: 69 66 69 65 64 2c 2c 2c 31 0a 44 69 67 65 73 74 ified,,,1.Digest
2760: 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 Errors,Invalid
2770: 6f 70 74 69 6f 6e 2c 2c 2c 3a 3a 74 6c 73 3a 3a option,,,::tls::
2780: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 73 digest -digest s
2790: 68 61 32 35 36 20 2d 62 6f 67 75 73 20 76 61 6c ha256 -bogus val
27a0: 75 65 2c 2c 2c 22 62 61 64 20 6f 70 74 69 6f 6e ue,,,"bad option
27b0: 20 22 22 2d 62 6f 67 75 73 22 22 3a 20 6d 75 73 ""-bogus"": mus
27c0: 74 20 62 65 20 2d 62 69 6e 2c 20 2d 63 68 61 6e t be -bin, -chan
27d0: 6e 65 6c 2c 20 2d 63 69 70 68 65 72 2c 20 2d 63 nel, -cipher, -c
27e0: 6f 6d 6d 61 6e 64 2c 20 2d 64 61 74 61 2c 20 2d ommand, -data, -
27f0: 64 69 67 65 73 74 2c 20 2d 66 69 6c 65 2c 20 2d digest, -file, -
2800: 66 69 6c 65 6e 61 6d 65 2c 20 2d 68 65 78 2c 20 filename, -hex,
2810: 2d 6b 65 79 2c 20 6f 72 20 2d 6d 61 63 22 2c 2c -key, or -mac",,
2820: 2c 31 0a 44 69 67 65 73 74 20 45 72 72 6f 72 73 ,1.Digest Errors
2830: 2c 49 6e 76 61 6c 69 64 20 66 69 6c 65 2c 2c 2c ,Invalid file,,,
2840: 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 ::tls::digest -d
2850: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 66 69 igest sha256 -fi
2860: 6c 65 20 62 6f 67 75 73 2c 2c 2c 22 63 6f 75 6c le bogus,,,"coul
2870: 64 6e 27 74 20 6f 70 65 6e 20 22 22 62 6f 67 75 dn't open ""bogu
2880: 73 22 22 3a 20 6e 6f 20 73 75 63 68 20 66 69 6c s"": no such fil
2890: 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 22 2c e or directory",
28a0: 2c 2c 31 0a 44 69 67 65 73 74 20 45 72 72 6f 72 ,,1.Digest Error
28b0: 73 2c 49 6e 76 61 6c 69 64 20 63 68 61 6e 6e 65 s,Invalid channe
28c0: 6c 2c 2c 2c 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 l,,,::tls::diges
28d0: 74 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 t -digest sha256
28e0: 20 2d 63 68 61 6e 6e 65 6c 20 62 6f 67 75 73 2c -channel bogus,
28f0: 2c 2c 22 63 61 6e 20 6e 6f 74 20 66 69 6e 64 20 ,,"can not find
2900: 63 68 61 6e 6e 65 6c 20 6e 61 6d 65 64 20 22 22 channel named ""
2910: 62 6f 67 75 73 22 22 22 2c 2c 2c 31 0a 2c 2c 2c bogus""",,,1.,,,
2920: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c ,,,,,,,.command,
2930: 23 20 43 4d 41 43 20 45 72 72 6f 72 20 43 61 73 # CMAC Error Cas
2940: 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d 41 43 es,,,,,,,,,.CMAC
2950: 20 45 72 72 6f 72 73 2c 54 6f 6f 20 66 65 77 20 Errors,Too few
2960: 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d args,,,::tls::cm
2970: 61 63 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61 72 ac,,,"wrong # ar
2980: 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22 22 gs: should be ""
2990: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 3f 2d 62 69 ::tls::cmac ?-bi
29a0: 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65 72 n|-hex? ?-cipher
29b0: 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20 name? ?-digest
29c0: 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f name? ?-key key?
29d0: 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 ?-mac name? [-c
29e0: 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63 hannel chan | -c
29f0: 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c ommand cmdName |
2a00: 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 -file filename
2a10: 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d 22 | ?-data? data]"
2a20: 22 22 2c 2c 2c 31 0a 43 4d 41 43 20 45 72 72 6f "",,,1.CMAC Erro
2a30: 72 73 2c 4e 6f 20 63 69 70 68 65 72 2c 2c 2c 3a rs,No cipher,,,:
2a40: 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 68 65 78 20 :tls::cmac -hex
2a50: 2d 64 61 74 61 20 76 61 6c 75 65 2c 2c 2c 4e 6f -data value,,,No
2a60: 20 63 69 70 68 65 72 20 73 70 65 63 69 66 69 65 cipher specifie
2a70: 64 2c 2c 2c 31 0a 43 4d 41 43 20 45 72 72 6f 72 d,,,1.CMAC Error
2a80: 73 2c 4e 6f 20 6b 65 79 2c 2c 2c 3a 3a 74 6c 73 s,No key,,,::tls
2a90: 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20 24 ::cmac -cipher $
2aa0: 74 65 73 74 5f 63 69 70 68 65 72 20 2d 64 61 74 test_cipher -dat
2ab0: 61 20 76 61 6c 75 65 2c 2c 2c 4e 6f 20 6b 65 79 a value,,,No key
2ac0: 20 73 70 65 63 69 66 69 65 64 2c 2c 2c 31 0a 43 specified,,,1.C
2ad0: 4d 41 43 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c MAC Errors,Inval
2ae0: 69 64 20 63 69 70 68 65 72 2c 2c 2c 3a 3a 74 6c id cipher,,,::tl
2af0: 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20 s::cmac -cipher
2b00: 62 6f 67 75 73 20 2d 64 61 74 61 20 76 61 6c 75 bogus -data valu
2b10: 65 2c 2c 2c 22 49 6e 76 61 6c 69 64 20 63 69 70 e,,,"Invalid cip
2b20: 68 65 72 20 22 22 62 6f 67 75 73 22 22 22 2c 2c her ""bogus""",,
2b30: 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f ,1.,,,,,,,,,,.co
2b40: 6d 6d 61 6e 64 2c 23 20 48 4d 41 43 20 45 72 72 mmand,# HMAC Err
2b50: 6f 72 20 43 61 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c or Cases,,,,,,,,
2b60: 2c 0a 48 4d 41 43 20 45 72 72 6f 72 73 2c 54 6f ,.HMAC Errors,To
2b70: 6f 20 66 65 77 20 61 72 67 73 2c 2c 2c 3a 3a 74 o few args,,,::t
2b80: 6c 73 3a 3a 68 6d 61 63 2c 2c 2c 22 77 72 6f 6e ls::hmac,,,"wron
2b90: 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 g # args: should
2ba0: 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 68 6d 61 be ""::tls::hma
2bb0: 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d c ?-bin|-hex? ?-
2bc0: 63 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 cipher name? ?-d
2bd0: 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 igest name? ?-ke
2be0: 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d y key? ?-mac nam
2bf0: 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61 e? [-channel cha
2c00: 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 n | -command cmd
2c10: 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c Name | -file fil
2c20: 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20 ename | ?-data?
2c30: 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 48 4d 41 data]""",,,1.HMA
2c40: 43 20 45 72 72 6f 72 73 2c 4e 6f 20 64 69 67 65 C Errors,No dige
2c50: 73 74 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 st,,,::tls::hmac
2c60: 20 2d 68 65 78 20 2d 64 61 74 61 20 76 61 6c 75 -hex -data valu
2c70: 65 2c 2c 2c 4e 6f 20 64 69 67 65 73 74 20 73 70 e,,,No digest sp
2c80: 65 63 69 66 69 65 64 2c 2c 2c 31 0a 48 4d 41 43 ecified,,,1.HMAC
2c90: 20 45 72 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c 2c Errors,No key,,
2ca0: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 ,::tls::hmac -di
2cb0: 67 65 73 74 20 73 68 61 32 35 36 20 2d 64 61 74 gest sha256 -dat
2cc0: 61 20 76 61 6c 75 65 2c 2c 2c 4e 6f 20 6b 65 79 a value,,,No key
2cd0: 20 73 70 65 63 69 66 69 65 64 2c 2c 2c 31 0a 2c specified,,,1.,
2ce0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e ,,,,,,,,,.comman
2cf0: 64 2c 23 20 4d 41 43 20 45 72 72 6f 72 20 43 61 d,# MAC Error Ca
2d00: 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 41 43 ses,,,,,,,,,.MAC
2d10: 20 45 72 72 6f 72 73 2c 54 6f 6f 20 66 65 77 20 Errors,Too few
2d20: 61 72 67 73 2c 6e 65 77 5f 61 70 69 2c 2c 3a 3a args,new_api,,::
2d30: 74 6c 73 3a 3a 6d 6d 61 63 2c 2c 2c 22 77 72 6f tls::mmac,,,"wro
2d40: 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c ng # args: shoul
2d50: 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 6d 61 d be ""::tls::ma
2d60: 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d c ?-bin|-hex? ?-
2d70: 63 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 cipher name? ?-d
2d80: 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 igest name? ?-ke
2d90: 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d y key? ?-mac nam
2da0: 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61 e? [-channel cha
2db0: 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 n | -command cmd
2dc0: 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c Name | -file fil
2dd0: 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20 ename | ?-data?
2de0: 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 4d 41 43 data]""",,,1.MAC
2df0: 20 45 72 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c 6e Errors,No key,n
2e00: 65 77 5f 61 70 69 2c 2c 3a 3a 74 6c 73 3a 3a 6d ew_api,,::tls::m
2e10: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 ac -digest sha25
2e20: 36 20 2d 64 61 74 61 20 76 61 6c 75 65 2c 2c 2c 6 -data value,,,
2e30: 4e 6f 20 6b 65 79 20 73 70 65 63 69 66 69 65 64 No key specified
2e40: 2c 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a ,,,1.,,,,,,,,,,.
2e50: 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34 32 command,# RFC 42
2e60: 33 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65 73 31 HMAC Examples
2e70: 20 54 65 73 74 20 43 61 73 65 20 23 31 2c 2c 2c Test Case #1,,,
2e80: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 ,,,,,,.command,"
2e90: 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 set key [binary
2ea0: 64 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72 69 decode hex [stri
2eb0: 6e 67 20 72 65 70 65 61 74 20 22 22 30 62 22 22 ng repeat ""0b""
2ec0: 20 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 20]]",,,,,,,,,.
2ed0: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 command,"set dat
2ee0: 61 20 22 22 48 69 20 54 68 65 72 65 22 22 22 2c a ""Hi There""",
2ef0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 ,,,,,,,,.RFC4231
2f00: 20 54 43 31 2c 73 68 61 32 32 34 2c 2c 2c 3a 3a TC1,sha224,,,::
2f10: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 tls::hmac -diges
2f20: 74 20 73 68 61 32 32 34 20 2d 6b 65 79 20 24 6b t sha224 -key $k
2f30: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c ey -data $data,,
2f40: 2c 38 39 36 66 62 31 31 32 38 61 62 62 64 66 31 ,896fb1128abbdf1
2f50: 39 36 38 33 32 31 30 37 63 64 34 39 64 66 33 33 96832107cd49df33
2f60: 66 34 37 62 34 62 31 31 36 39 39 31 32 62 61 34 f47b4b1169912ba4
2f70: 66 35 33 36 38 34 62 32 32 2c 2c 2c 0a 52 46 43 f53684b22,,,.RFC
2f80: 34 32 33 31 20 54 43 31 2c 73 68 61 32 35 36 2c 4231 TC1,sha256,
2f90: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 ,,::tls::hmac -d
2fa0: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65 igest sha256 -ke
2fb0: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 y $key -data $da
2fc0: 74 61 2c 2c 2c 62 30 33 34 34 63 36 31 64 38 64 ta,,,b0344c61d8d
2fd0: 62 33 38 35 33 35 63 61 38 61 66 63 65 61 66 30 b38535ca8afceaf0
2fe0: 62 66 31 32 62 38 38 31 64 63 32 30 30 63 39 38 bf12b881dc200c98
2ff0: 33 33 64 61 37 32 36 65 39 33 37 36 63 32 65 33 33da726e9376c2e3
3000: 32 63 66 66 37 2c 2c 2c 0a 52 46 43 34 32 33 31 2cff7,,,.RFC4231
3010: 20 54 43 31 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a TC1,sha384,,,::
3020: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 tls::hmac -diges
3030: 74 20 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b t sha384 -key $k
3040: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c ey -data $data,,
3050: 2c 61 66 64 30 33 39 34 34 64 38 34 38 39 35 36 ,afd03944d848956
3060: 32 36 62 30 38 32 35 66 34 61 62 34 36 39 30 37 26b0825f4ab46907
3070: 66 31 35 66 39 64 61 64 62 65 34 31 30 31 65 63 f15f9dadbe4101ec
3080: 36 38 32 61 61 30 33 34 63 37 63 65 62 63 35 39 682aa034c7cebc59
3090: 63 66 61 65 61 39 65 61 39 30 37 36 65 64 65 37 cfaea9ea9076ede7
30a0: 66 34 61 66 31 35 32 65 38 62 32 66 61 39 63 62 f4af152e8b2fa9cb
30b0: 36 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 31 6,,,.RFC4231 TC1
30c0: 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a ,sha512,,,::tls:
30d0: 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 :hmac -digest sh
30e0: 61 35 31 32 20 2d 6b 65 79 20 24 6b 65 79 20 2d a512 -key $key -
30f0: 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 38 37 61 data $data,,,87a
3100: 61 37 63 64 65 61 35 65 66 36 31 39 64 34 66 66 a7cdea5ef619d4ff
3110: 30 62 34 32 34 31 61 31 64 36 63 62 30 32 33 37 0b4241a1d6cb0237
3120: 39 66 34 65 32 63 65 34 65 63 32 37 38 37 61 64 9f4e2ce4ec2787ad
3130: 30 62 33 30 35 34 35 65 31 37 63 64 65 64 61 61 0b30545e17cdedaa
3140: 38 33 33 62 37 64 36 62 38 61 37 30 32 30 33 38 833b7d6b8a702038
3150: 62 32 37 34 65 61 65 61 33 66 34 65 34 62 65 39 b274eaea3f4e4be9
3160: 64 39 31 34 65 65 62 36 31 66 31 37 30 32 65 36 d914eeb61f1702e6
3170: 39 36 63 32 30 33 61 31 32 36 38 35 34 2c 2c 2c 96c203a126854,,,
3180: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d .,,,,,,,,,,.comm
3190: 61 6e 64 2c 23 20 52 46 43 20 34 32 33 31 20 48 and,# RFC 4231 H
31a0: 4d 41 43 20 45 78 61 6d 70 6c 65 73 20 54 65 73 MAC Examples Tes
31b0: 74 20 43 61 73 65 20 23 32 20 2d 20 54 65 73 74 t Case #2 - Test
31c0: 20 77 69 74 68 20 61 20 6b 65 79 20 73 68 6f 72 with a key shor
31d0: 74 65 72 20 74 68 61 6e 20 74 68 65 20 6c 65 6e ter than the len
31e0: 67 74 68 20 6f 66 20 74 68 65 20 48 4d 41 43 20 gth of the HMAC
31f0: 6f 75 74 70 75 74 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c output.,,,,,,,,,
3200: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 .command,"set ke
3210: 79 20 22 22 4a 65 66 65 22 22 22 2c 2c 2c 2c 2c y ""Jefe""",,,,,
3220: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 ,,,,.command,"se
3230: 74 20 64 61 74 61 20 22 22 77 68 61 74 20 64 6f t data ""what do
3240: 20 79 61 20 77 61 6e 74 20 66 6f 72 20 6e 6f 74 ya want for not
3250: 68 69 6e 67 3f 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c hing?""",,,,,,,,
3260: 2c 0a 52 46 43 34 32 33 31 20 54 43 32 2c 73 68 ,.RFC4231 TC2,sh
3270: 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d a224,,,::tls::hm
3280: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32 ac -digest sha22
3290: 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 4 -key $key -dat
32a0: 61 20 24 64 61 74 61 2c 2c 2c 61 33 30 65 30 31 a $data,,,a30e01
32b0: 30 39 38 62 63 36 64 62 62 66 34 35 36 39 30 66 098bc6dbbf45690f
32c0: 33 61 37 65 39 65 36 64 30 66 38 62 62 65 61 32 3a7e9e6d0f8bbea2
32d0: 61 33 39 65 36 31 34 38 30 30 38 66 64 30 35 65 a39e6148008fd05e
32e0: 34 34 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 44,,,.RFC4231 TC
32f0: 32 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 2,sha256,,,::tls
3300: 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 ::hmac -digest s
3310: 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65 79 20 ha256 -key $key
3320: 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 35 62 -data $data,,,5b
3330: 64 63 63 31 34 36 62 66 36 30 37 35 34 65 36 61 dcc146bf60754e6a
3340: 30 34 32 34 32 36 30 38 39 35 37 35 63 37 35 61 042426089575c75a
3350: 30 30 33 66 30 38 39 64 32 37 33 39 38 33 39 64 003f089d2739839d
3360: 65 63 35 38 62 39 36 34 65 63 33 38 34 33 2c 2c ec58b964ec3843,,
3370: 2c 0a 52 46 43 34 32 33 31 20 54 43 32 2c 73 68 ,.RFC4231 TC2,sh
3380: 61 33 38 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d a384,,,::tls::hm
3390: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 33 38 ac -digest sha38
33a0: 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 4 -key $key -dat
33b0: 61 20 24 64 61 74 61 2c 2c 2c 61 66 34 35 64 32 a $data,,,af45d2
33c0: 65 33 37 36 34 38 34 30 33 31 36 31 37 66 37 38 e376484031617f78
33d0: 64 32 62 35 38 61 36 62 31 62 39 63 37 65 66 34 d2b58a6b1b9c7ef4
33e0: 36 34 66 35 61 30 31 62 34 37 65 34 32 65 63 33 64f5a01b47e42ec3
33f0: 37 33 36 33 32 32 34 34 35 65 38 65 32 32 34 30 736322445e8e2240
3400: 63 61 35 65 36 39 65 32 63 37 38 62 33 32 33 39 ca5e69e2c78b3239
3410: 65 63 66 61 62 32 31 36 34 39 2c 2c 2c 0a 52 46 ecfab21649,,,.RF
3420: 43 34 32 33 31 20 54 43 32 2c 73 68 61 35 31 32 C4231 TC2,sha512
3430: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d ,,,::tls::hmac -
3440: 64 69 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b digest sha512 -k
3450: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 ey $key -data $d
3460: 61 74 61 2c 2c 2c 31 36 34 62 37 61 37 62 66 63 ata,,,164b7a7bfc
3470: 66 38 31 39 65 32 65 33 39 35 66 62 65 37 33 62 f819e2e395fbe73b
3480: 35 36 65 30 61 33 38 37 62 64 36 34 32 32 32 65 56e0a387bd64222e
3490: 38 33 31 66 64 36 31 30 32 37 30 63 64 37 65 61 831fd610270cd7ea
34a0: 32 35 30 35 35 34 39 37 35 38 62 66 37 35 63 30 2505549758bf75c0
34b0: 35 61 39 39 34 61 36 64 30 33 34 66 36 35 66 38 5a994a6d034f65f8
34c0: 66 30 65 36 66 64 63 61 65 61 62 31 61 33 34 64 f0e6fdcaeab1a34d
34d0: 34 61 36 62 34 62 36 33 36 65 30 37 30 61 33 38 4a6b4b636e070a38
34e0: 62 63 65 37 33 37 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c bce737,,,.,,,,,,
34f0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 ,,,,.command,# R
3500: 46 43 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 FC 4231 HMAC Exa
3510: 6d 70 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 mples Test Case
3520: 23 33 20 2d 20 54 65 73 74 20 77 69 74 68 20 61 #3 - Test with a
3530: 20 63 6f 6d 62 69 6e 65 64 20 6c 65 6e 67 74 68 combined length
3540: 20 6f 66 20 6b 65 79 20 61 6e 64 20 64 61 74 61 of key and data
3550: 20 74 68 61 74 20 69 73 20 6c 61 72 67 65 72 20 that is larger
3560: 74 68 61 6e 20 36 34 20 62 79 74 65 73 20 28 3d than 64 bytes (=
3570: 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20 53 block-size of S
3580: 48 41 2d 32 32 34 20 61 6e 64 20 53 48 41 2d 32 HA-224 and SHA-2
3590: 35 36 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 56).,,,,,,,,,.co
35a0: 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b mmand,"set key [
35b0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 binary decode he
35c0: 78 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 x [string repeat
35d0: 20 22 22 61 61 22 22 20 32 30 5d 5d 22 2c 2c 2c ""aa"" 20]]",,,
35e0: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 ,,,,,,.command,"
35f0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 set data [binary
3600: 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72 decode hex [str
3610: 69 6e 67 20 72 65 70 65 61 74 20 22 22 64 64 22 ing repeat ""dd"
3620: 22 20 35 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c " 50]]",,,,,,,,,
3630: 0a 52 46 43 34 32 33 31 20 54 43 33 2c 73 68 61 .RFC4231 TC3,sha
3640: 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 224,,,::tls::hma
3650: 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32 34 c -digest sha224
3660: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 -key $key -data
3670: 20 24 64 61 74 61 2c 2c 2c 37 66 62 33 63 62 33 $data,,,7fb3cb3
3680: 35 38 38 63 36 63 31 66 36 66 66 61 39 36 39 34 588c6c1f6ffa9694
3690: 64 37 64 36 61 64 32 36 34 39 33 36 35 62 30 63 d7d6ad2649365b0c
36a0: 31 66 36 35 64 36 39 64 31 65 63 38 33 33 33 65 1f65d69d1ec8333e
36b0: 61 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 33 a,,,.RFC4231 TC3
36c0: 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a ,sha256,,,::tls:
36d0: 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 :hmac -digest sh
36e0: 61 32 35 36 20 2d 6b 65 79 20 24 6b 65 79 20 2d a256 -key $key -
36f0: 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 37 37 33 data $data,,,773
3700: 65 61 39 31 65 33 36 38 30 30 65 34 36 38 35 34 ea91e36800e46854
3710: 64 62 38 65 62 64 30 39 31 38 31 61 37 32 39 35 db8ebd09181a7295
3720: 39 30 39 38 62 33 65 66 38 63 31 32 32 64 39 36 9098b3ef8c122d96
3730: 33 35 35 31 34 63 65 64 35 36 35 66 65 2c 2c 2c 35514ced565fe,,,
3740: 0a 52 46 43 34 32 33 31 20 54 43 33 2c 73 68 61 .RFC4231 TC3,sha
3750: 33 38 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 384,,,::tls::hma
3760: 63 20 2d 64 69 67 65 73 74 20 73 68 61 33 38 34 c -digest sha384
3770: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 -key $key -data
3780: 20 24 64 61 74 61 2c 2c 2c 38 38 30 36 32 36 30 $data,,,8806260
3790: 38 64 33 65 36 61 64 38 61 30 61 61 32 61 63 65 8d3e6ad8a0aa2ace
37a0: 30 31 34 63 38 61 38 36 66 30 61 61 36 33 35 64 014c8a86f0aa635d
37b0: 39 34 37 61 63 39 66 65 62 65 38 33 65 66 34 65 947ac9febe83ef4e
37c0: 35 35 39 36 36 31 34 34 62 32 61 35 61 62 33 39 55966144b2a5ab39
37d0: 64 63 31 33 38 31 34 62 39 34 65 33 61 62 36 65 dc13814b94e3ab6e
37e0: 31 30 31 61 33 34 66 32 37 2c 2c 2c 0a 52 46 43 101a34f27,,,.RFC
37f0: 34 32 33 31 20 54 43 33 2c 73 68 61 35 31 32 2c 4231 TC3,sha512,
3800: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 ,,::tls::hmac -d
3810: 69 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65 igest sha512 -ke
3820: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 y $key -data $da
3830: 74 61 2c 2c 2c 66 61 37 33 62 30 30 38 39 64 35 ta,,,fa73b0089d5
3840: 36 61 32 38 34 65 66 62 30 66 30 37 35 36 63 38 6a284efb0f0756c8
3850: 39 30 62 65 39 62 31 62 35 64 62 64 64 38 65 65 90be9b1b5dbdd8ee
3860: 38 31 61 33 36 35 35 66 38 33 65 33 33 62 32 32 81a3655f83e33b22
3870: 37 39 64 33 39 62 66 33 65 38 34 38 32 37 39 61 79d39bf3e848279a
3880: 37 32 32 63 38 30 36 62 34 38 35 61 34 37 65 36 722c806b485a47e6
3890: 37 63 38 30 37 62 39 34 36 61 33 33 37 62 65 65 7c807b946a337bee
38a0: 38 39 34 32 36 37 34 32 37 38 38 35 39 65 31 33 8942674278859e13
38b0: 32 39 32 66 62 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 292fb,,,.,,,,,,,
38c0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 ,,,.command,# RF
38d0: 43 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 6d C 4231 HMAC Exam
38e0: 70 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 23 ples Test Case #
38f0: 34 20 2d 20 54 65 73 74 20 77 69 74 68 20 61 20 4 - Test with a
3900: 63 6f 6d 62 69 6e 65 64 20 6c 65 6e 67 74 68 20 combined length
3910: 6f 66 20 6b 65 79 20 61 6e 64 20 64 61 74 61 20 of key and data
3920: 74 68 61 74 20 69 73 20 6c 61 72 67 65 72 20 74 that is larger t
3930: 68 61 6e 20 36 34 20 62 79 74 65 73 20 28 3d 20 han 64 bytes (=
3940: 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20 53 48 block-size of SH
3950: 41 2d 32 32 34 20 61 6e 64 20 53 48 41 2d 32 35 A-224 and SHA-25
3960: 36 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6).,,,,,,,,,.com
3970: 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 mand,"set key [b
3980: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 inary decode hex
3990: 20 22 22 30 31 30 32 30 33 30 34 30 35 30 36 30 ""0102030405060
39a0: 37 30 38 30 39 30 61 30 62 30 63 30 64 30 65 30 708090a0b0c0d0e0
39b0: 66 31 30 31 31 31 32 31 33 31 34 31 35 31 36 31 f101112131415161
39c0: 37 31 38 31 39 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 71819""]",,,,,,,
39d0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 ,,.command,"set
39e0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 data [binary dec
39f0: 6f 64 65 20 68 65 78 20 5b 73 74 72 69 6e 67 20 ode hex [string
3a00: 72 65 70 65 61 74 20 22 22 63 64 22 22 20 35 30 repeat ""cd"" 50
3a10: 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 ]]",,,,,,,,,.RFC
3a20: 34 32 33 31 20 54 43 34 2c 73 68 61 32 32 34 2c 4231 TC4,sha224,
3a30: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 ,,::tls::hmac -d
3a40: 69 67 65 73 74 20 73 68 61 32 32 34 20 2d 6b 65 igest sha224 -ke
3a50: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 y $key -data $da
3a60: 74 61 2c 2c 2c 36 63 31 31 35 30 36 38 37 34 30 ta,,,6c115068740
3a70: 31 33 63 61 63 36 61 32 61 62 63 31 62 62 33 38 13cac6a2abc1bb38
3a80: 32 36 32 37 63 65 63 36 61 39 30 64 38 36 65 66 2627cec6a90d86ef
3a90: 63 30 31 32 64 65 37 61 66 65 63 35 61 2c 2c 2c c012de7afec5a,,,
3aa0: 0a 52 46 43 34 32 33 31 20 54 43 34 2c 73 68 61 .RFC4231 TC4,sha
3ab0: 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 256,,,::tls::hma
3ac0: 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 c -digest sha256
3ad0: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 -key $key -data
3ae0: 20 24 64 61 74 61 2c 2c 2c 38 32 35 35 38 61 33 $data,,,82558a3
3af0: 38 39 61 34 34 33 63 30 65 61 34 63 63 38 31 39 89a443c0ea4cc819
3b00: 38 39 39 66 32 30 38 33 61 38 35 66 30 66 61 61 899f2083a85f0faa
3b10: 33 65 35 37 38 66 38 30 37 37 61 32 65 33 66 66 3e578f8077a2e3ff
3b20: 34 36 37 32 39 36 36 35 62 2c 2c 2c 0a 52 46 43 46729665b,,,.RFC
3b30: 34 32 33 31 20 54 43 34 2c 73 68 61 33 38 34 2c 4231 TC4,sha384,
3b40: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 ,,::tls::hmac -d
3b50: 69 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65 igest sha384 -ke
3b60: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 y $key -data $da
3b70: 74 61 2c 2c 2c 33 65 38 61 36 39 62 37 37 38 33 ta,,,3e8a69b7783
3b80: 63 32 35 38 35 31 39 33 33 61 62 36 32 39 30 61 c25851933ab6290a
3b90: 66 36 63 61 37 37 61 39 39 38 31 34 38 30 38 35 f6ca77a998148085
3ba0: 30 30 30 39 63 63 35 35 37 37 63 36 65 31 66 35 0009cc5577c6e1f5
3bb0: 37 33 62 34 65 36 38 30 31 64 64 32 33 63 34 61 73b4e6801dd23c4a
3bc0: 37 64 36 37 39 63 63 66 38 61 33 38 36 63 36 37 7d679ccf8a386c67
3bd0: 34 63 66 66 62 2c 2c 2c 0a 52 46 43 34 32 33 31 4cffb,,,.RFC4231
3be0: 20 54 43 34 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a TC4,sha512,,,::
3bf0: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 tls::hmac -diges
3c00: 74 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24 6b t sha512 -key $k
3c10: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c ey -data $data,,
3c20: 2c 62 30 62 61 34 36 35 36 33 37 34 35 38 63 36 ,b0ba465637458c6
3c30: 39 39 30 65 35 61 38 63 35 66 36 31 64 34 61 66 990e5a8c5f61d4af
3c40: 37 65 35 37 36 64 39 37 66 66 39 34 62 38 37 32 7e576d97ff94b872
3c50: 64 65 37 36 66 38 30 35 30 33 36 31 65 65 33 64 de76f8050361ee3d
3c60: 62 61 39 31 63 61 35 63 31 31 61 61 32 35 65 62 ba91ca5c11aa25eb
3c70: 34 64 36 37 39 32 37 35 63 63 35 37 38 38 30 36 4d679275cc578806
3c80: 33 61 35 66 31 39 37 34 31 31 32 30 63 34 66 32 3a5f19741120c4f2
3c90: 64 65 32 61 64 65 62 65 62 31 30 61 32 39 38 64 de2adebeb10a298d
3ca0: 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a d,,,.,,,,,,,,,,.
3cb0: 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34 32 command,# RFC 42
3cc0: 33 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65 73 31 HMAC Examples
3cd0: 20 54 65 73 74 20 43 61 73 65 20 23 35 20 2d 20 Test Case #5 -
3ce0: 54 65 73 74 20 77 69 74 68 20 61 20 74 72 75 6e Test with a trun
3cf0: 63 61 74 69 6f 6e 20 6f 66 20 6f 75 74 70 75 74 cation of output
3d00: 20 74 6f 20 31 32 38 20 62 69 74 73 2e 2c 2c 2c to 128 bits.,,,
3d10: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 ,,,,,,.command,"
3d20: 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 set key [binary
3d30: 64 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72 69 decode hex [stri
3d40: 6e 67 20 72 65 70 65 61 74 20 22 22 30 63 22 22 ng repeat ""0c""
3d50: 20 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 20]]",,,,,,,,,.
3d60: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 command,"set dat
3d70: 61 20 22 22 54 65 73 74 20 57 69 74 68 20 54 72 a ""Test With Tr
3d80: 75 6e 63 61 74 69 6f 6e 22 22 22 2c 2c 2c 2c 2c uncation""",,,,,
3d90: 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 35 ,,,,.RFC4231 TC5
3da0: 2c 73 68 61 32 32 34 2c 2c 2c 73 74 72 69 6e 67 ,sha224,,,string
3db0: 20 72 61 6e 67 65 20 5b 3a 3a 74 6c 73 3a 3a 68 range [::tls::h
3dc0: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 mac -digest sha2
3dd0: 32 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 24 -key $key -da
3de0: 74 61 20 24 64 61 74 61 5d 20 30 20 33 31 2c 2c ta $data] 0 31,,
3df0: 2c 30 65 32 61 65 61 36 38 61 39 30 63 38 64 33 ,0e2aea68a90c8d3
3e00: 37 63 39 38 38 62 63 64 62 39 66 63 61 36 66 61 7c988bcdb9fca6fa
3e10: 38 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 35 8,,,.RFC4231 TC5
3e20: 2c 73 68 61 32 35 36 2c 2c 2c 73 74 72 69 6e 67 ,sha256,,,string
3e30: 20 72 61 6e 67 65 20 5b 3a 3a 74 6c 73 3a 3a 68 range [::tls::h
3e40: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 mac -digest sha2
3e50: 35 36 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 56 -key $key -da
3e60: 74 61 20 24 64 61 74 61 5d 20 30 20 33 31 2c 2c ta $data] 0 31,,
3e70: 2c 61 33 62 36 31 36 37 34 37 33 31 30 30 65 65 ,a3b6167473100ee
3e80: 30 36 65 30 63 37 39 36 63 32 39 35 35 35 35 32 06e0c796c2955552
3e90: 62 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 35 b,,,.RFC4231 TC5
3ea0: 2c 73 68 61 33 38 34 2c 2c 2c 73 74 72 69 6e 67 ,sha384,,,string
3eb0: 20 72 61 6e 67 65 20 5b 3a 3a 74 6c 73 3a 3a 68 range [::tls::h
3ec0: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 33 mac -digest sha3
3ed0: 38 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 84 -key $key -da
3ee0: 74 61 20 24 64 61 74 61 5d 20 30 20 33 31 2c 2c ta $data] 0 31,,
3ef0: 2c 33 61 62 66 33 34 63 33 35 30 33 62 32 61 32 ,3abf34c3503b2a2
3f00: 33 61 34 36 65 66 63 36 31 39 62 61 65 66 38 39 3a46efc619baef89
3f10: 37 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 35 7,,,.RFC4231 TC5
3f20: 2c 73 68 61 35 31 32 2c 2c 2c 73 74 72 69 6e 67 ,sha512,,,string
3f30: 20 72 61 6e 67 65 20 5b 3a 3a 74 6c 73 3a 3a 68 range [::tls::h
3f40: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 35 mac -digest sha5
3f50: 31 32 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 12 -key $key -da
3f60: 74 61 20 24 64 61 74 61 5d 20 30 20 33 31 2c 2c ta $data] 0 31,,
3f70: 2c 34 31 35 66 61 64 36 32 37 31 35 38 30 61 35 ,415fad6271580a5
3f80: 33 31 64 34 31 37 39 62 63 38 39 31 64 38 37 61 31d4179bc891d87a
3f90: 36 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 6,,,.,,,,,,,,,,.
3fa0: 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34 32 command,# RFC 42
3fb0: 33 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65 73 31 HMAC Examples
3fc0: 20 54 65 73 74 20 43 61 73 65 20 23 36 20 2d 20 Test Case #6 -
3fd0: 54 65 73 74 20 77 69 74 68 20 61 20 6b 65 79 20 Test with a key
3fe0: 6c 61 72 67 65 72 20 74 68 61 6e 20 31 32 38 20 larger than 128
3ff0: 62 79 74 65 73 20 28 3d 20 62 6c 6f 63 6b 2d 73 bytes (= block-s
4000: 69 7a 65 20 6f 66 20 53 48 41 2d 33 38 34 20 61 ize of SHA-384 a
4010: 6e 64 20 53 48 41 2d 35 31 32 29 2e 2c 2c 2c 2c nd SHA-512).,,,,
4020: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 ,,,,,.command,"s
4030: 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 et key [binary d
4040: 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72 69 6e ecode hex [strin
4050: 67 20 72 65 70 65 61 74 20 22 22 61 61 22 22 20 g repeat ""aa""
4060: 31 33 31 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 131]]",,,,,,,,,.
4070: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 command,"set dat
4080: 61 20 22 22 54 65 73 74 20 55 73 69 6e 67 20 4c a ""Test Using L
4090: 61 72 67 65 72 20 54 68 61 6e 20 42 6c 6f 63 6b arger Than Block
40a0: 2d 53 69 7a 65 20 4b 65 79 20 2d 20 48 61 73 68 -Size Key - Hash
40b0: 20 4b 65 79 20 46 69 72 73 74 22 22 22 2c 2c 2c Key First""",,,
40c0: 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 ,,,,,,.RFC4231 T
40d0: 43 36 2c 73 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c C6,sha224,,,::tl
40e0: 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 s::hmac -digest
40f0: 73 68 61 32 32 34 20 2d 6b 65 79 20 24 6b 65 79 sha224 -key $key
4100: 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 39 -data $data,,,9
4110: 35 65 39 61 30 64 62 39 36 32 30 39 35 61 64 61 5e9a0db962095ada
4120: 65 62 65 39 62 32 64 36 66 30 64 62 63 65 32 64 ebe9b2d6f0dbce2d
4130: 34 39 39 66 31 31 32 66 32 64 32 62 37 32 37 33 499f112f2d2b7273
4140: 66 61 36 38 37 30 65 2c 2c 2c 0a 52 46 43 34 32 fa6870e,,,.RFC42
4150: 33 31 20 54 43 36 2c 73 68 61 32 35 36 2c 2c 2c 31 TC6,sha256,,,
4160: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 ::tls::hmac -dig
4170: 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79 20 est sha256 -key
4180: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 $key -data $data
4190: 2c 2c 2c 36 30 65 34 33 31 35 39 31 65 65 30 62 ,,,60e431591ee0b
41a0: 36 37 66 30 64 38 61 32 36 61 61 63 62 66 35 62 67f0d8a26aacbf5b
41b0: 37 37 66 38 65 30 62 63 36 32 31 33 37 32 38 63 77f8e0bc6213728c
41c0: 35 31 34 30 35 34 36 30 34 30 66 30 65 65 33 37 5140546040f0ee37
41d0: 66 35 34 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 f54,,,.RFC4231 T
41e0: 43 36 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a 74 6c C6,sha384,,,::tl
41f0: 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 s::hmac -digest
4200: 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b 65 79 sha384 -key $key
4210: 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 34 -data $data,,,4
4220: 65 63 65 30 38 34 34 38 35 38 31 33 65 39 30 38 ece084485813e908
4230: 38 64 32 63 36 33 61 30 34 31 62 63 35 62 34 34 8d2c63a041bc5b44
4240: 66 39 65 66 31 30 31 32 61 32 62 35 38 38 66 33 f9ef1012a2b588f3
4250: 63 64 31 31 66 30 35 30 33 33 61 63 34 63 36 30 cd11f05033ac4c60
4260: 63 32 65 66 36 61 62 34 30 33 30 66 65 38 32 39 c2ef6ab4030fe829
4270: 36 32 34 38 64 66 31 36 33 66 34 34 39 35 32 2c 6248df163f44952,
4280: 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 36 2c 73 ,,.RFC4231 TC6,s
4290: 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 ha512,,,::tls::h
42a0: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 35 mac -digest sha5
42b0: 31 32 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 12 -key $key -da
42c0: 74 61 20 24 64 61 74 61 2c 2c 2c 38 30 62 32 34 ta $data,,,80b24
42d0: 32 36 33 63 37 63 31 61 33 65 62 62 37 31 34 39 263c7c1a3ebb7149
42e0: 33 63 31 64 64 37 62 65 38 62 34 39 62 34 36 64 3c1dd7be8b49b46d
42f0: 31 66 34 31 62 34 61 65 65 63 31 31 32 31 62 30 1f41b4aeec1121b0
4300: 31 33 37 38 33 66 38 66 33 35 32 36 62 35 36 64 13783f8f3526b56d
4310: 30 33 37 65 30 35 66 32 35 39 38 62 64 30 66 64 037e05f2598bd0fd
4320: 32 32 31 35 64 36 61 31 65 35 32 39 35 65 36 34 2215d6a1e5295e64
4330: 66 37 33 66 36 33 66 30 61 65 63 38 62 39 31 35 f73f63f0aec8b915
4340: 61 39 38 35 64 37 38 36 35 39 38 2c 2c 2c 0a 2c a985d786598,,,.,
4350: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e ,,,,,,,,,.comman
4360: 64 2c 23 20 52 46 43 20 34 32 33 31 20 48 4d 41 d,# RFC 4231 HMA
4370: 43 20 45 78 61 6d 70 6c 65 73 20 54 65 73 74 20 C Examples Test
4380: 43 61 73 65 20 23 37 20 2d 20 54 65 73 74 20 77 Case #7 - Test w
4390: 69 74 68 20 61 20 6b 65 79 20 61 6e 64 20 64 61 ith a key and da
43a0: 74 61 20 74 68 61 74 20 69 73 20 6c 61 72 67 65 ta that is large
43b0: 72 20 74 68 61 6e 20 31 32 38 20 62 79 74 65 73 r than 128 bytes
43c0: 20 28 3d 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f (= block-size o
43d0: 66 20 53 48 41 2d 33 38 34 20 61 6e 64 20 53 48 f SHA-384 and SH
43e0: 41 2d 35 31 32 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c A-512).,,,,,,,,,
43f0: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 .command,"set ke
4400: 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 y [binary decode
4410: 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70 hex [string rep
4420: 65 61 74 20 22 22 61 61 22 22 20 31 33 31 5d 5d eat ""aa"" 131]]
4430: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 ",,,,,,,,,.comma
4440: 6e 64 2c 22 73 65 74 20 64 61 74 61 20 22 22 54 nd,"set data ""T
4450: 68 69 73 20 69 73 20 61 20 74 65 73 74 20 75 73 his is a test us
4460: 69 6e 67 20 61 20 6c 61 72 67 65 72 20 74 68 61 ing a larger tha
4470: 6e 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6b 65 79 n block-size key
4480: 20 61 6e 64 20 61 20 6c 61 72 67 65 72 20 74 68 and a larger th
4490: 61 6e 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 64 61 an block-size da
44a0: 74 61 2e 20 54 68 65 20 6b 65 79 20 6e 65 65 64 ta. The key need
44b0: 73 20 74 6f 20 62 65 20 68 61 73 68 65 64 20 62 s to be hashed b
44c0: 65 66 6f 72 65 20 62 65 69 6e 67 20 75 73 65 64 efore being used
44d0: 20 62 79 20 74 68 65 20 48 4d 41 43 20 61 6c 67 by the HMAC alg
44e0: 6f 72 69 74 68 6d 2e 22 22 22 2c 2c 2c 2c 2c 2c orithm.""",,,,,,
44f0: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 37 2c ,,,.RFC4231 TC7,
4500: 73 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a sha224,,,::tls::
4510: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 hmac -digest sha
4520: 32 32 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 224 -key $key -d
4530: 61 74 61 20 24 64 61 74 61 2c 2c 2c 33 61 38 35 ata $data,,,3a85
4540: 34 31 36 36 61 63 35 64 39 66 30 32 33 66 35 34 4166ac5d9f023f54
4550: 64 35 31 37 64 30 62 33 39 64 62 64 39 34 36 37 d517d0b39dbd9467
4560: 37 30 64 62 39 63 32 62 39 35 63 39 66 36 66 35 70db9c2b95c9f6f5
4570: 36 35 64 31 2c 2c 2c 0a 52 46 43 34 32 33 31 20 65d1,,,.RFC4231
4580: 54 43 37 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 TC7,sha256,,,::t
4590: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 ls::hmac -digest
45a0: 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65 sha256 -key $ke
45b0: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c y -data $data,,,
45c0: 39 62 30 39 66 66 61 37 31 62 39 34 32 66 63 62 9b09ffa71b942fcb
45d0: 32 37 36 33 35 66 62 63 64 35 62 30 65 39 34 34 27635fbcd5b0e944
45e0: 62 66 64 63 36 33 36 34 34 66 30 37 31 33 39 33 bfdc63644f071393
45f0: 38 61 37 66 35 31 35 33 35 63 33 61 33 35 65 32 8a7f51535c3a35e2
4600: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 37 2c ,,,.RFC4231 TC7,
4610: 73 68 61 33 38 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a sha384,,,::tls::
4620: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 hmac -digest sha
4630: 33 38 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 384 -key $key -d
4640: 61 74 61 20 24 64 61 74 61 2c 2c 2c 36 36 31 37 ata $data,,,6617
4650: 31 37 38 65 39 34 31 66 30 32 30 64 33 35 31 65 178e941f020d351e
4660: 32 66 32 35 34 65 38 66 64 33 32 63 36 30 32 34 2f254e8fd32c6024
4670: 32 30 66 65 62 30 62 38 66 62 39 61 64 63 63 65 20feb0b8fb9adcce
4680: 62 62 38 32 34 36 31 65 39 39 63 35 61 36 37 38 bb82461e99c5a678
4690: 63 63 33 31 65 37 39 39 31 37 36 64 33 38 36 30 cc31e799176d3860
46a0: 65 36 31 31 30 63 34 36 35 32 33 65 2c 2c 2c 0a e6110c46523e,,,.
46b0: 52 46 43 34 32 33 31 20 54 43 37 2c 73 68 61 35 RFC4231 TC7,sha5
46c0: 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 12,,,::tls::hmac
46d0: 20 2d 64 69 67 65 73 74 20 73 68 61 35 31 32 20 -digest sha512
46e0: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 -key $key -data
46f0: 24 64 61 74 61 2c 2c 2c 65 33 37 62 36 61 37 37 $data,,,e37b6a77
4700: 35 64 63 38 37 64 62 61 61 34 64 66 61 39 66 39 5dc87dbaa4dfa9f9
4710: 36 65 35 65 33 66 66 64 64 65 62 64 37 31 66 38 6e5e3ffddebd71f8
4720: 38 36 37 32 38 39 38 36 35 64 66 35 61 33 32 64 867289865df5a32d
4730: 32 30 63 64 63 39 34 34 62 36 30 32 32 63 61 63 20cdc944b6022cac
4740: 33 63 34 39 38 32 62 31 30 64 35 65 65 62 35 35 3c4982b10d5eeb55
4750: 63 33 65 34 64 65 31 35 31 33 34 36 37 36 66 62 c3e4de15134676fb
4760: 36 64 65 30 34 34 36 30 36 35 63 39 37 34 34 30 6de0446065c97440
4770: 66 61 38 63 36 61 35 38 2c 2c 2c 0a 2c 2c 2c 2c fa8c6a58,,,.,,,,
4780: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 ,,,,,,.command,#
4790: 20 43 6c 65 61 6e 75 70 2c 2c 2c 2c 2c 2c 2c 2c Cleanup,,,,,,,,
47a0: 2c 0a 63 6f 6d 6d 61 6e 64 2c 3a 3a 74 63 6c 74 ,.command,::tclt
47b0: 65 73 74 3a 3a 72 65 6d 6f 76 65 46 69 6c 65 20 est::removeFile
47c0: 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 2c 2c 2c $test_file,,,,,,
47d0: 2c 2c 2c 0a ,,,.