Hex Artifact Content

Artifact 4e78ab3d51a2db3237a1adb0e2085c986857437e05208733d703efb0f1f2e302:


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 20 2d 20 53 65 65 20 63 6f 6d 6d 6f 6e 2e 74  s - See common.t
0100: 63 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  cl,,,,,,,,,.comm
0110: 61 6e 64 2c 70 72 6f 63 20 64 69 67 65 73 74 5f  and,proc digest_
0120: 72 65 61 64 5f 63 68 61 6e 20 7b 63 6d 64 20 66  read_chan {cmd f
0130: 69 6c 65 6e 61 6d 65 20 61 72 67 73 7d 20 7b 3b  ilename args} {;
0140: 73 65 74 20 63 68 20 5b 6f 70 65 6e 20 24 66 69  set ch [open $fi
0150: 6c 65 6e 61 6d 65 20 72 62 5d 3b 73 65 74 20 62  lename rb];set b
0160: 73 69 7a 65 20 5b 66 63 6f 6e 66 69 67 75 72 65  size [fconfigure
0170: 20 24 63 68 20 2d 62 75 66 66 65 72 73 69 7a 65   $ch -buffersize
0180: 5d 3b 73 65 74 20 6e 65 77 20 5b 24 63 6d 64 20  ];set new [$cmd 
0190: 7b 2a 7d 24 61 72 67 73 20 2d 63 68 61 6e 20 24  {*}$args -chan $
01a0: 63 68 5d 3b 77 68 69 6c 65 20 7b 21 5b 65 6f 66  ch];while {![eof
01b0: 20 24 6e 65 77 5d 7d 20 7b 73 65 74 20 6d 64 20   $new]} {set md 
01c0: 5b 72 65 61 64 20 24 6e 65 77 20 24 62 73 69 7a  [read $new $bsiz
01d0: 65 5d 7d 3b 63 6c 6f 73 65 20 24 6e 65 77 3b 72  e]};close $new;r
01e0: 65 74 75 72 6e 20 24 6d 64 7d 2c 2c 2c 2c 2c 2c  eturn $md},,,,,,
01f0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 70 72 6f 63  ,,,.command,proc
0200: 20 64 69 67 65 73 74 5f 77 72 69 74 65 5f 63 68   digest_write_ch
0210: 61 6e 20 7b 63 6d 64 20 66 69 6c 65 6e 61 6d 65  an {cmd filename
0220: 20 64 61 74 61 20 61 72 67 73 7d 20 7b 3b 73 65   data args} {;se
0230: 74 20 63 68 20 5b 6f 70 65 6e 20 24 66 69 6c 65  t ch [open $file
0240: 6e 61 6d 65 20 77 62 5d 3b 73 65 74 20 6e 65 77  name wb];set new
0250: 20 5b 24 63 6d 64 20 7b 2a 7d 24 61 72 67 73 20   [$cmd {*}$args 
0260: 2d 63 68 61 6e 20 24 63 68 5d 3b 70 75 74 73 20  -chan $ch];puts 
0270: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 24 6e 65 77 20  -nonewline $new 
0280: 24 64 61 74 61 3b 66 6c 75 73 68 20 24 6e 65 77  $data;flush $new
0290: 3b 63 6c 6f 73 65 20 24 6e 65 77 3b 73 65 74 20  ;close $new;set 
02a0: 63 68 20 5b 6f 70 65 6e 20 24 66 69 6c 65 6e 61  ch [open $filena
02b0: 6d 65 20 72 62 5d 3b 73 65 74 20 6d 64 20 5b 72  me rb];set md [r
02c0: 65 61 64 20 24 63 68 5d 3b 63 6c 6f 73 65 20 24  ead $ch];close $
02d0: 63 68 3b 72 65 74 75 72 6e 20 24 6d 64 7d 2c 2c  ch;return $md},,
02e0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
02f0: 70 72 6f 63 20 64 69 67 65 73 74 5f 61 63 63 75  proc digest_accu
0300: 6d 75 6c 61 74 65 20 7b 73 74 72 69 6e 67 20 61  mulate {string a
0310: 72 67 73 7d 20 7b 3b 73 65 74 20 63 6d 64 20 5b  rgs} {;set cmd [
0320: 7b 2a 7d 24 61 72 67 73 20 2d 63 6f 6d 6d 61 6e  {*}$args -comman
0330: 64 20 64 63 6d 64 5d 3b 20 24 63 6d 64 20 75 70  d dcmd]; $cmd up
0340: 64 61 74 65 20 5b 73 74 72 69 6e 67 20 72 61 6e  date [string ran
0350: 67 65 20 24 73 74 72 69 6e 67 20 30 20 32 30 5d  ge $string 0 20]
0360: 3b 24 63 6d 64 20 75 70 64 61 74 65 20 5b 73 74  ;$cmd update [st
0370: 72 69 6e 67 20 72 61 6e 67 65 20 24 73 74 72 69  ring range $stri
0380: 6e 67 20 32 31 20 65 6e 64 5d 3b 72 65 74 75 72  ng 21 end];retur
0390: 6e 20 5b 24 63 6d 64 20 66 69 6e 61 6c 69 7a 65  n [$cmd finalize
03a0: 5d 7d 2c 24 63 6d 64 20 75 70 64 61 74 65 20 5b  ]},$cmd update [
03b0: 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73 74  string range $st
03c0: 72 69 6e 67 20 30 20 32 30 5d 3b 24 63 6d 64 20  ring 0 20];$cmd 
03d0: 75 70 64 61 74 65 20 5b 73 74 72 69 6e 67 20 72  update [string r
03e0: 61 6e 67 65 20 24 73 74 72 69 6e 67 20 32 31 20  ange $string 21 
03f0: 65 6e 64 5d 3b 72 65 74 75 72 6e 20 5b 24 63 6d  end];return [$cm
0400: 64 20 66 69 6e 61 6c 69 7a 65 5d 7d 2c 2c 2c 2c  d finalize]},,,,
0410: 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  ,,,,.,,,,,,,,,,.
0420: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 73  command,"set tes
0430: 74 5f 64 61 74 61 20 22 22 45 78 61 6d 70 6c 65  t_data ""Example
0440: 20 73 74 72 69 6e 67 20 66 6f 72 20 6d 65 73 73   string for mess
0450: 61 67 65 20 64 69 67 65 73 74 20 74 65 73 74 73  age digest tests
0460: 2e 5c 6e 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  .\n""",,,,,,,,,.
0470: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 73  command,"set tes
0480: 74 5f 66 69 6c 65 20 22 22 6d 64 5f 64 61 74 61  t_file ""md_data
0490: 2e 64 61 74 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c  .dat""",,,,,,,,,
04a0: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65  .command,"set te
04b0: 73 74 5f 61 6c 74 5f 66 69 6c 65 20 22 22 6d 64  st_alt_file ""md
04c0: 5f 61 6c 74 5f 64 61 74 61 2e 64 61 74 22 22 22  _alt_data.dat"""
04d0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
04e0: 64 2c 22 73 65 74 20 74 65 73 74 5f 6b 65 79 20  d,"set test_key 
04f0: 22 22 45 78 61 6d 70 6c 65 20 6b 65 79 22 22 22  ""Example key"""
0500: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
0510: 64 2c 3a 3a 74 63 6c 74 65 73 74 3a 3a 6d 61 6b  d,::tcltest::mak
0520: 65 46 69 6c 65 20 24 74 65 73 74 5f 64 61 74 61  eFile $test_data
0530: 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 2c 2c   $test_file,,,,,
0540: 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  ,,,,.,,,,,,,,,,.
0550: 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 64  command,# Test d
0560: 69 67 65 73 74 20 73 68 6f 72 74 2d 63 75 74 20  igest short-cut 
0570: 63 6f 6d 6d 61 6e 64 73 2c 2c 2c 2c 2c 2c 2c 2c  commands,,,,,,,,
0580: 2c 0a 44 69 67 65 73 74 20 43 6d 64 73 2c 6d 64  ,.Digest Cmds,md
0590: 34 20 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  4 cmd,,,::tls::m
05a0: 64 34 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  d4 $test_data,,,
05b0: 37 39 33 33 39 39 66 37 39 32 65 63 61 32 37 35  793399f792eca275
05c0: 32 63 36 61 66 33 32 33 34 62 61 37 30 38 35 38  2c6af3234ba70858
05d0: 2c 2c 2c 0a 44 69 67 65 73 74 20 43 6d 64 73 2c  ,,,.Digest Cmds,
05e0: 6d 64 35 20 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a  md5 cmd,,,::tls:
05f0: 3a 6d 64 35 20 24 74 65 73 74 5f 64 61 74 61 2c  :md5 $test_data,
0600: 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32  ,,962bf0803b4232
0610: 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61  ec23bd8427bb94ea
0620: 30 39 2c 2c 2c 0a 44 69 67 65 73 74 20 43 6d 64  09,,,.Digest Cmd
0630: 73 2c 73 68 61 31 20 63 6d 64 2c 2c 2c 3a 3a 74  s,sha1 cmd,,,::t
0640: 6c 73 3a 3a 73 68 61 31 20 24 74 65 73 74 5f 64  ls::sha1 $test_d
0650: 61 74 61 2c 2c 2c 34 66 65 30 33 62 37 66 32 35  ata,,,4fe03b7f25
0660: 36 38 35 35 31 64 66 61 66 62 39 38 63 61 36 30  68551dfafb98ca60
0670: 30 34 65 36 35 63 34 62 37 31 61 61 37 64 2c 2c  04e65c4b71aa7d,,
0680: 2c 0a 44 69 67 65 73 74 20 43 6d 64 73 2c 73 68  ,.Digest Cmds,sh
0690: 61 32 35 36 20 63 6d 64 2c 2c 2c 3a 3a 74 6c 73  a256 cmd,,,::tls
06a0: 3a 3a 73 68 61 32 35 36 20 24 74 65 73 74 5f 64  ::sha256 $test_d
06b0: 61 74 61 2c 2c 2c 39 64 33 35 37 38 66 63 31 33  ata,,,9d3578fc13
06c0: 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66 33  8205cf0ee4b4cef3
06d0: 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62 31  5fe101bb4ecac7b1
06e0: 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63 37  614c18e6fa48b5c7
06f0: 66 39 35 65 31 39 2c 2c 2c 0a 44 69 67 65 73 74  f95e19,,,.Digest
0700: 20 43 6d 64 73 2c 73 68 61 35 31 32 20 63 6d 64   Cmds,sha512 cmd
0710: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 73 68 61 35 31 32  ,,,::tls::sha512
0720: 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 64 31   $test_data,,,d1
0730: 37 38 65 37 35 39 64 63 35 39 31 32 37 30 37 31  78e759dc59127071
0740: 35 38 38 64 32 66 61 64 31 37 33 63 30 36 32 33  588d2fad173c0623
0750: 38 64 38 37 65 38 30 30 61 36 34 30 33 63 30 61  8d87e800a6403c0a
0760: 33 30 64 61 61 34 66 61 61 66 30 35 64 30 65 37  30daa4faaf05d0e7
0770: 63 65 30 34 39 31 36 61 66 61 61 36 61 35 38 61  ce04916afaa6a58a
0780: 33 30 63 62 65 62 35 39 37 64 61 63 62 30 31 63  30cbeb597dacb01c
0790: 36 32 66 39 66 62 39 64 38 39 62 61 62 39 64 61  62f9fb9d89bab9da
07a0: 36 33 30 63 36 39 39 65 34 38 31 36 66 31 2c 2c  630c699e4816f1,,
07b0: 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  ,.,,,,,,,,,,.com
07c0: 6d 61 6e 64 2c 23 20 54 65 73 74 20 64 69 67 65  mand,# Test dige
07d0: 73 74 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 72  st command for r
07e0: 65 61 64 20 63 68 61 6e 6e 65 6c 2c 2c 2c 2c 2c  ead channel,,,,,
07f0: 2c 2c 2c 2c 0a 44 69 67 65 73 74 20 43 68 61 6e  ,,,,.Digest Chan
0800: 20 52 65 61 64 2c 6d 64 34 2c 2c 2c 64 69 67 65   Read,md4,,,dige
0810: 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74  st_read_chan ::t
0820: 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c  ls::md $test_fil
0830: 65 20 2d 64 69 67 65 73 74 20 6d 64 34 2c 2c 2c  e -digest md4,,,
0840: 37 39 33 33 39 39 66 37 39 32 65 63 61 32 37 35  793399f792eca275
0850: 32 63 36 61 66 33 32 33 34 62 61 37 30 38 35 38  2c6af3234ba70858
0860: 2c 2c 2c 0a 44 69 67 65 73 74 20 43 68 61 6e 20  ,,,.Digest Chan 
0870: 52 65 61 64 2c 6d 64 35 2c 2c 2c 64 69 67 65 73  Read,md5,,,diges
0880: 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c  t_read_chan ::tl
0890: 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65  s::md $test_file
08a0: 20 2d 64 69 67 65 73 74 20 6d 64 35 2c 2c 2c 39   -digest md5,,,9
08b0: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
08c0: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
08d0: 2c 2c 0a 44 69 67 65 73 74 20 43 68 61 6e 20 52  ,,.Digest Chan R
08e0: 65 61 64 2c 73 68 61 31 2c 2c 2c 64 69 67 65 73  ead,sha1,,,diges
08f0: 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c  t_read_chan ::tl
0900: 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65  s::md $test_file
0910: 20 2d 64 69 67 65 73 74 20 73 68 61 31 2c 2c 2c   -digest sha1,,,
0920: 34 66 65 30 33 62 37 66 32 35 36 38 35 35 31 64  4fe03b7f2568551d
0930: 66 61 66 62 39 38 63 61 36 30 30 34 65 36 35 63  fafb98ca6004e65c
0940: 34 62 37 31 61 61 37 64 2c 2c 2c 0a 44 69 67 65  4b71aa7d,,,.Dige
0950: 73 74 20 43 68 61 6e 20 52 65 61 64 2c 73 68 61  st Chan Read,sha
0960: 32 35 36 2c 2c 2c 64 69 67 65 73 74 5f 72 65 61  256,,,digest_rea
0970: 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64  d_chan ::tls::md
0980: 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 64 69 67   $test_file -dig
0990: 65 73 74 20 73 68 61 32 35 36 2c 2c 2c 39 64 33  est sha256,,,9d3
09a0: 35 37 38 66 63 31 33 38 32 30 35 63 66 30 65 65  578fc138205cf0ee
09b0: 34 62 34 63 65 66 33 35 66 65 31 30 31 62 62 34  4b4cef35fe101bb4
09c0: 65 63 61 63 37 62 31 36 31 34 63 31 38 65 36 66  ecac7b1614c18e6f
09d0: 61 34 38 62 35 63 37 66 39 35 65 31 39 2c 2c 2c  a48b5c7f95e19,,,
09e0: 0a 44 69 67 65 73 74 20 43 68 61 6e 20 52 65 61  .Digest Chan Rea
09f0: 64 2c 73 68 61 35 31 32 2c 2c 2c 64 69 67 65 73  d,sha512,,,diges
0a00: 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c  t_read_chan ::tl
0a10: 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65  s::md $test_file
0a20: 20 2d 64 69 67 65 73 74 20 73 68 61 35 31 32 2c   -digest sha512,
0a30: 2c 2c 64 31 37 38 65 37 35 39 64 63 35 39 31 32  ,,d178e759dc5912
0a40: 37 30 37 31 35 38 38 64 32 66 61 64 31 37 33 63  7071588d2fad173c
0a50: 30 36 32 33 38 64 38 37 65 38 30 30 61 36 34 30  06238d87e800a640
0a60: 33 63 30 61 33 30 64 61 61 34 66 61 61 66 30 35  3c0a30daa4faaf05
0a70: 64 30 65 37 63 65 30 34 39 31 36 61 66 61 61 36  d0e7ce04916afaa6
0a80: 61 35 38 61 33 30 63 62 65 62 35 39 37 64 61 63  a58a30cbeb597dac
0a90: 62 30 31 63 36 32 66 39 66 62 39 64 38 39 62 61  b01c62f9fb9d89ba
0aa0: 62 39 64 61 36 33 30 63 36 39 39 65 34 38 31 36  b9da630c699e4816
0ab0: 66 31 2c 2c 2c 0a 44 69 67 65 73 74 20 43 68 61  f1,,,.Digest Cha
0ac0: 6e 20 52 65 61 64 2c 6d 64 35 20 62 69 6e 2c 2c  n Read,md5 bin,,
0ad0: 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68  ,binary encode h
0ae0: 65 78 20 5b 64 69 67 65 73 74 5f 72 65 61 64 5f  ex [digest_read_
0af0: 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24  chan ::tls::md $
0b00: 74 65 73 74 5f 66 69 6c 65 20 2d 62 69 6e 20 2d  test_file -bin -
0b10: 64 69 67 65 73 74 20 6d 64 35 5d 2c 2c 2c 39 36  digest md5],,,96
0b20: 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33  2bf0803b4232ec23
0b30: 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c  bd8427bb94ea09,,
0b40: 2c 0a 44 69 67 65 73 74 20 43 68 61 6e 20 52 65  ,.Digest Chan Re
0b50: 61 64 2c 6d 64 35 20 68 65 78 2c 2c 2c 64 69 67  ad,md5 hex,,,dig
0b60: 65 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a  est_read_chan ::
0b70: 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69  tls::md $test_fi
0b80: 6c 65 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20  le -hex -digest 
0b90: 6d 64 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62  md5,,,962bf0803b
0ba0: 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62  4232ec23bd8427bb
0bb0: 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  94ea09,,,.,,,,,,
0bc0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54  ,,,,.command,# T
0bd0: 65 73 74 20 64 69 67 65 73 74 20 63 6f 6d 6d 61  est digest comma
0be0: 6e 64 20 66 6f 72 20 77 72 69 74 65 20 63 68 61  nd for write cha
0bf0: 6e 6e 65 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 44 69  nnel,,,,,,,,,.Di
0c00: 67 65 73 74 20 43 68 61 6e 20 57 72 69 74 65 2c  gest Chan Write,
0c10: 6d 64 34 2c 2c 2c 64 69 67 65 73 74 5f 77 72 69  md4,,,digest_wri
0c20: 74 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d  te_chan ::tls::m
0c30: 64 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65  d $test_alt_file
0c40: 20 24 74 65 73 74 5f 64 61 74 61 20 2d 64 69 67   $test_data -dig
0c50: 65 73 74 20 6d 64 34 2c 2c 2c 37 39 33 33 39 39  est md4,,,793399
0c60: 66 37 39 32 65 63 61 32 37 35 32 63 36 61 66 33  f792eca2752c6af3
0c70: 32 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a 44 69  234ba70858,,,.Di
0c80: 67 65 73 74 20 43 68 61 6e 20 57 72 69 74 65 2c  gest Chan Write,
0c90: 6d 64 35 2c 2c 2c 64 69 67 65 73 74 5f 77 72 69  md5,,,digest_wri
0ca0: 74 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d  te_chan ::tls::m
0cb0: 64 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65  d $test_alt_file
0cc0: 20 24 74 65 73 74 5f 64 61 74 61 20 2d 64 69 67   $test_data -dig
0cd0: 65 73 74 20 6d 64 35 2c 2c 2c 39 36 32 62 66 30  est md5,,,962bf0
0ce0: 38 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34  803b4232ec23bd84
0cf0: 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 44 69  27bb94ea09,,,.Di
0d00: 67 65 73 74 20 43 68 61 6e 20 57 72 69 74 65 2c  gest Chan Write,
0d10: 73 68 61 31 2c 2c 2c 64 69 67 65 73 74 5f 77 72  sha1,,,digest_wr
0d20: 69 74 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a  ite_chan ::tls::
0d30: 6d 64 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c  md $test_alt_fil
0d40: 65 20 24 74 65 73 74 5f 64 61 74 61 20 2d 64 69  e $test_data -di
0d50: 67 65 73 74 20 73 68 61 31 2c 2c 2c 34 66 65 30  gest sha1,,,4fe0
0d60: 33 62 37 66 32 35 36 38 35 35 31 64 66 61 66 62  3b7f2568551dfafb
0d70: 39 38 63 61 36 30 30 34 65 36 35 63 34 62 37 31  98ca6004e65c4b71
0d80: 61 61 37 64 2c 2c 2c 0a 44 69 67 65 73 74 20 43  aa7d,,,.Digest C
0d90: 68 61 6e 20 57 72 69 74 65 2c 73 68 61 32 35 36  han Write,sha256
0da0: 2c 2c 2c 64 69 67 65 73 74 5f 77 72 69 74 65 5f  ,,,digest_write_
0db0: 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24  chan ::tls::md $
0dc0: 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20 24 74  test_alt_file $t
0dd0: 65 73 74 5f 64 61 74 61 20 2d 64 69 67 65 73 74  est_data -digest
0de0: 20 73 68 61 32 35 36 2c 2c 2c 39 64 33 35 37 38   sha256,,,9d3578
0df0: 66 63 31 33 38 32 30 35 63 66 30 65 65 34 62 34  fc138205cf0ee4b4
0e00: 63 65 66 33 35 66 65 31 30 31 62 62 34 65 63 61  cef35fe101bb4eca
0e10: 63 37 62 31 36 31 34 63 31 38 65 36 66 61 34 38  c7b1614c18e6fa48
0e20: 62 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 44 69  b5c7f95e19,,,.Di
0e30: 67 65 73 74 20 43 68 61 6e 20 57 72 69 74 65 2c  gest Chan Write,
0e40: 73 68 61 35 31 32 2c 2c 2c 64 69 67 65 73 74 5f  sha512,,,digest_
0e50: 77 72 69 74 65 5f 63 68 61 6e 20 3a 3a 74 6c 73  write_chan ::tls
0e60: 3a 3a 6d 64 20 24 74 65 73 74 5f 61 6c 74 5f 66  ::md $test_alt_f
0e70: 69 6c 65 20 24 74 65 73 74 5f 64 61 74 61 20 2d  ile $test_data -
0e80: 64 69 67 65 73 74 20 73 68 61 35 31 32 2c 2c 2c  digest sha512,,,
0e90: 64 31 37 38 65 37 35 39 64 63 35 39 31 32 37 30  d178e759dc591270
0ea0: 37 31 35 38 38 64 32 66 61 64 31 37 33 63 30 36  71588d2fad173c06
0eb0: 32 33 38 64 38 37 65 38 30 30 61 36 34 30 33 63  238d87e800a6403c
0ec0: 30 61 33 30 64 61 61 34 66 61 61 66 30 35 64 30  0a30daa4faaf05d0
0ed0: 65 37 63 65 30 34 39 31 36 61 66 61 61 36 61 35  e7ce04916afaa6a5
0ee0: 38 61 33 30 63 62 65 62 35 39 37 64 61 63 62 30  8a30cbeb597dacb0
0ef0: 31 63 36 32 66 39 66 62 39 64 38 39 62 61 62 39  1c62f9fb9d89bab9
0f00: 64 61 36 33 30 63 36 39 39 65 34 38 31 36 66 31  da630c699e4816f1
0f10: 2c 2c 2c 0a 44 69 67 65 73 74 20 43 68 61 6e 20  ,,,.Digest Chan 
0f20: 57 72 69 74 65 2c 6d 64 35 20 62 69 6e 2c 2c 2c  Write,md5 bin,,,
0f30: 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65  binary encode he
0f40: 78 20 5b 64 69 67 65 73 74 5f 77 72 69 74 65 5f  x [digest_write_
0f50: 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24  chan ::tls::md $
0f60: 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20 24 74  test_alt_file $t
0f70: 65 73 74 5f 64 61 74 61 20 2d 62 69 6e 20 2d 64  est_data -bin -d
0f80: 69 67 65 73 74 20 6d 64 35 5d 2c 2c 2c 39 36 32  igest md5],,,962
0f90: 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62  bf0803b4232ec23b
0fa0: 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c  d8427bb94ea09,,,
0fb0: 0a 44 69 67 65 73 74 20 43 68 61 6e 20 57 72 69  .Digest Chan Wri
0fc0: 74 65 2c 6d 64 35 20 68 65 78 2c 2c 2c 64 69 67  te,md5 hex,,,dig
0fd0: 65 73 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a  est_write_chan :
0fe0: 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61  :tls::md $test_a
0ff0: 6c 74 5f 66 69 6c 65 20 24 74 65 73 74 5f 64 61  lt_file $test_da
1000: 74 61 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20  ta -hex -digest 
1010: 6d 64 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62  md5,,,962bf0803b
1020: 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62  4232ec23bd8427bb
1030: 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  94ea09,,,.,,,,,,
1040: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54  ,,,,.command,# T
1050: 65 73 74 20 64 69 67 65 73 74 20 63 6f 6d 6d 61  est digest comma
1060: 6e 64 20 66 6f 72 20 6f 62 6a 65 63 74 20 63 6f  nd for object co
1070: 6d 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 44  mmand,,,,,,,,,.D
1080: 69 67 65 73 74 20 43 6f 6d 6d 61 6e 64 2c 6d 64  igest Command,md
1090: 34 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63 75 6d  4,,,digest_accum
10a0: 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74 61  ulate $test_data
10b0: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65   ::tls::md -dige
10c0: 73 74 20 6d 64 34 2c 2c 2c 37 39 33 33 39 39 66  st md4,,,793399f
10d0: 37 39 32 65 63 61 32 37 35 32 63 36 61 66 33 32  792eca2752c6af32
10e0: 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a 44 69 67  34ba70858,,,.Dig
10f0: 65 73 74 20 43 6f 6d 6d 61 6e 64 2c 6d 64 35 2c  est Command,md5,
1100: 2c 2c 64 69 67 65 73 74 5f 61 63 63 75 6d 75 6c  ,,digest_accumul
1110: 61 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a  ate $test_data :
1120: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
1130: 20 6d 64 35 2c 2c 2c 39 36 32 62 66 30 38 30 33   md5,,,962bf0803
1140: 62 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62  b4232ec23bd8427b
1150: 62 39 34 65 61 30 39 2c 2c 2c 0a 44 69 67 65 73  b94ea09,,,.Diges
1160: 74 20 43 6f 6d 6d 61 6e 64 2c 73 68 61 31 2c 2c  t Command,sha1,,
1170: 2c 64 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61  ,digest_accumula
1180: 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a  te $test_data ::
1190: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
11a0: 73 68 61 31 2c 2c 2c 34 66 65 30 33 62 37 66 32  sha1,,,4fe03b7f2
11b0: 35 36 38 35 35 31 64 66 61 66 62 39 38 63 61 36  568551dfafb98ca6
11c0: 30 30 34 65 36 35 63 34 62 37 31 61 61 37 64 2c  004e65c4b71aa7d,
11d0: 2c 2c 0a 44 69 67 65 73 74 20 43 6f 6d 6d 61 6e  ,,.Digest Comman
11e0: 64 2c 73 68 61 32 35 36 2c 2c 2c 64 69 67 65 73  d,sha256,,,diges
11f0: 74 5f 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65  t_accumulate $te
1200: 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d  st_data ::tls::m
1210: 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  d -digest sha256
1220: 2c 2c 2c 39 64 33 35 37 38 66 63 31 33 38 32 30  ,,,9d3578fc13820
1230: 35 63 66 30 65 65 34 62 34 63 65 66 33 35 66 65  5cf0ee4b4cef35fe
1240: 31 30 31 62 62 34 65 63 61 63 37 62 31 36 31 34  101bb4ecac7b1614
1250: 63 31 38 65 36 66 61 34 38 62 35 63 37 66 39 35  c18e6fa48b5c7f95
1260: 65 31 39 2c 2c 2c 0a 44 69 67 65 73 74 20 43 6f  e19,,,.Digest Co
1270: 6d 6d 61 6e 64 2c 73 68 61 35 31 32 2c 2c 2c 64  mmand,sha512,,,d
1280: 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65  igest_accumulate
1290: 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c   $test_data ::tl
12a0: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68  s::md -digest sh
12b0: 61 35 31 32 2c 2c 2c 64 31 37 38 65 37 35 39 64  a512,,,d178e759d
12c0: 63 35 39 31 32 37 30 37 31 35 38 38 64 32 66 61  c59127071588d2fa
12d0: 64 31 37 33 63 30 36 32 33 38 64 38 37 65 38 30  d173c06238d87e80
12e0: 30 61 36 34 30 33 63 30 61 33 30 64 61 61 34 66  0a6403c0a30daa4f
12f0: 61 61 66 30 35 64 30 65 37 63 65 30 34 39 31 36  aaf05d0e7ce04916
1300: 61 66 61 61 36 61 35 38 61 33 30 63 62 65 62 35  afaa6a58a30cbeb5
1310: 39 37 64 61 63 62 30 31 63 36 32 66 39 66 62 39  97dacb01c62f9fb9
1320: 64 38 39 62 61 62 39 64 61 36 33 30 63 36 39 39  d89bab9da630c699
1330: 65 34 38 31 36 66 31 2c 2c 2c 0a 44 69 67 65 73  e4816f1,,,.Diges
1340: 74 20 43 6f 6d 6d 61 6e 64 2c 6d 64 35 20 62 69  t Command,md5 bi
1350: 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64  n,,,binary encod
1360: 65 20 68 65 78 20 5b 64 69 67 65 73 74 5f 61 63  e hex [digest_ac
1370: 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64  cumulate $test_d
1380: 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  ata ::tls::md -d
1390: 69 67 65 73 74 20 6d 64 35 20 2d 62 69 6e 5d 2c  igest md5 -bin],
13a0: 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32  ,,962bf0803b4232
13b0: 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61  ec23bd8427bb94ea
13c0: 30 39 2c 2c 2c 0a 44 69 67 65 73 74 20 43 6f 6d  09,,,.Digest Com
13d0: 6d 61 6e 64 2c 6d 64 35 20 68 65 78 2c 2c 2c 64  mand,md5 hex,,,d
13e0: 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65  igest_accumulate
13f0: 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c   $test_data ::tl
1400: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64  s::md -digest md
1410: 35 20 2d 68 65 78 2c 2c 2c 39 36 32 62 66 30 38  5 -hex,,,962bf08
1420: 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32  03b4232ec23bd842
1430: 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c  7bb94ea09,,,.,,,
1440: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
1450: 23 20 54 65 73 74 20 64 69 67 65 73 74 20 63 6f  # Test digest co
1460: 6d 6d 61 6e 64 20 66 6f 72 20 64 61 74 61 20 73  mmand for data s
1470: 68 6f 72 74 63 75 74 2c 2c 2c 2c 2c 2c 2c 2c 2c  hortcut,,,,,,,,,
1480: 0a 44 69 67 65 73 74 20 44 61 74 61 2c 6d 64 34  .Digest Data,md4
1490: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 6d 64 34  ,,,::tls::md md4
14a0: 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 37 39   $test_data,,,79
14b0: 33 33 39 39 66 37 39 32 65 63 61 32 37 35 32 63  3399f792eca2752c
14c0: 36 61 66 33 32 33 34 62 61 37 30 38 35 38 2c 2c  6af3234ba70858,,
14d0: 2c 0a 44 69 67 65 73 74 20 44 61 74 61 2c 6d 64  ,.Digest Data,md
14e0: 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 6d 64  5,,,::tls::md md
14f0: 35 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 39  5 $test_data,,,9
1500: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
1510: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
1520: 2c 2c 0a 44 69 67 65 73 74 20 44 61 74 61 2c 73  ,,.Digest Data,s
1530: 68 61 31 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  ha1,,,::tls::md 
1540: 73 68 61 31 20 24 74 65 73 74 5f 64 61 74 61 2c  sha1 $test_data,
1550: 2c 2c 34 66 65 30 33 62 37 66 32 35 36 38 35 35  ,,4fe03b7f256855
1560: 31 64 66 61 66 62 39 38 63 61 36 30 30 34 65 36  1dfafb98ca6004e6
1570: 35 63 34 62 37 31 61 61 37 64 2c 2c 2c 0a 44 69  5c4b71aa7d,,,.Di
1580: 67 65 73 74 20 44 61 74 61 2c 73 68 61 32 35 36  gest Data,sha256
1590: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 73 68 61  ,,,::tls::md sha
15a0: 32 35 36 20 24 74 65 73 74 5f 64 61 74 61 2c 2c  256 $test_data,,
15b0: 2c 39 64 33 35 37 38 66 63 31 33 38 32 30 35 63  ,9d3578fc138205c
15c0: 66 30 65 65 34 62 34 63 65 66 33 35 66 65 31 30  f0ee4b4cef35fe10
15d0: 31 62 62 34 65 63 61 63 37 62 31 36 31 34 63 31  1bb4ecac7b1614c1
15e0: 38 65 36 66 61 34 38 62 35 63 37 66 39 35 65 31  8e6fa48b5c7f95e1
15f0: 39 2c 2c 2c 0a 44 69 67 65 73 74 20 44 61 74 61  9,,,.Digest Data
1600: 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha512,,,::tls:
1610: 3a 6d 64 20 73 68 61 35 31 32 20 24 74 65 73 74  :md sha512 $test
1620: 5f 64 61 74 61 2c 2c 2c 64 31 37 38 65 37 35 39  _data,,,d178e759
1630: 64 63 35 39 31 32 37 30 37 31 35 38 38 64 32 66  dc59127071588d2f
1640: 61 64 31 37 33 63 30 36 32 33 38 64 38 37 65 38  ad173c06238d87e8
1650: 30 30 61 36 34 30 33 63 30 61 33 30 64 61 61 34  00a6403c0a30daa4
1660: 66 61 61 66 30 35 64 30 65 37 63 65 30 34 39 31  faaf05d0e7ce0491
1670: 36 61 66 61 61 36 61 35 38 61 33 30 63 62 65 62  6afaa6a58a30cbeb
1680: 35 39 37 64 61 63 62 30 31 63 36 32 66 39 66 62  597dacb01c62f9fb
1690: 39 64 38 39 62 61 62 39 64 61 36 33 30 63 36 39  9d89bab9da630c69
16a0: 39 65 34 38 31 36 66 31 2c 2c 2c 0a 2c 2c 2c 2c  9e4816f1,,,.,,,,
16b0: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
16c0: 20 54 65 73 74 20 64 69 67 65 73 74 20 63 6f 6d   Test digest com
16d0: 6d 61 6e 64 20 66 6f 72 20 64 61 74 61 2c 2c 2c  mand for data,,,
16e0: 2c 2c 2c 2c 2c 2c 0a 44 69 67 65 73 74 20 44 61  ,,,,,,.Digest Da
16f0: 74 61 2c 6d 64 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a  ta,md4,,,::tls::
1700: 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 34 20 2d  md -digest md4 -
1710: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
1720: 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63 61 32  ,,793399f792eca2
1730: 37 35 32 63 36 61 66 33 32 33 34 62 61 37 30 38  752c6af3234ba708
1740: 35 38 2c 2c 2c 0a 44 69 67 65 73 74 20 44 61 74  58,,,.Digest Dat
1750: 61 2c 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  a,md5,,,::tls::m
1760: 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64  d -digest md5 -d
1770: 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c  ata $test_data,,
1780: 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65  ,962bf0803b4232e
1790: 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30  c23bd8427bb94ea0
17a0: 39 2c 2c 2c 0a 44 69 67 65 73 74 20 44 61 74 61  9,,,.Digest Data
17b0: 2c 73 68 61 31 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ,sha1,,,::tls::m
17c0: 64 20 2d 64 69 67 65 73 74 20 73 68 61 31 20 2d  d -digest sha1 -
17d0: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
17e0: 2c 2c 34 66 65 30 33 62 37 66 32 35 36 38 35 35  ,,4fe03b7f256855
17f0: 31 64 66 61 66 62 39 38 63 61 36 30 30 34 65 36  1dfafb98ca6004e6
1800: 35 63 34 62 37 31 61 61 37 64 2c 2c 2c 0a 44 69  5c4b71aa7d,,,.Di
1810: 67 65 73 74 20 44 61 74 61 2c 73 68 61 32 35 36  gest Data,sha256
1820: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ,,,::tls::md -di
1830: 67 65 73 74 20 73 68 61 32 35 36 20 2d 64 61 74  gest sha256 -dat
1840: 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 39  a $test_data,,,9
1850: 64 33 35 37 38 66 63 31 33 38 32 30 35 63 66 30  d3578fc138205cf0
1860: 65 65 34 62 34 63 65 66 33 35 66 65 31 30 31 62  ee4b4cef35fe101b
1870: 62 34 65 63 61 63 37 62 31 36 31 34 63 31 38 65  b4ecac7b1614c18e
1880: 36 66 61 34 38 62 35 63 37 66 39 35 65 31 39 2c  6fa48b5c7f95e19,
1890: 2c 2c 0a 44 69 67 65 73 74 20 44 61 74 61 2c 73  ,,.Digest Data,s
18a0: 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ha512,,,::tls::m
18b0: 64 20 2d 64 69 67 65 73 74 20 73 68 61 35 31 32  d -digest sha512
18c0: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74   -data $test_dat
18d0: 61 2c 2c 2c 64 31 37 38 65 37 35 39 64 63 35 39  a,,,d178e759dc59
18e0: 31 32 37 30 37 31 35 38 38 64 32 66 61 64 31 37  127071588d2fad17
18f0: 33 63 30 36 32 33 38 64 38 37 65 38 30 30 61 36  3c06238d87e800a6
1900: 34 30 33 63 30 61 33 30 64 61 61 34 66 61 61 66  403c0a30daa4faaf
1910: 30 35 64 30 65 37 63 65 30 34 39 31 36 61 66 61  05d0e7ce04916afa
1920: 61 36 61 35 38 61 33 30 63 62 65 62 35 39 37 64  a6a58a30cbeb597d
1930: 61 63 62 30 31 63 36 32 66 39 66 62 39 64 38 39  acb01c62f9fb9d89
1940: 62 61 62 39 64 61 36 33 30 63 36 39 39 65 34 38  bab9da630c699e48
1950: 31 36 66 31 2c 2c 2c 0a 44 69 67 65 73 74 20 44  16f1,,,.Digest D
1960: 61 74 61 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62 69  ata,md5 bin,,,bi
1970: 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20  nary encode hex 
1980: 5b 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65  [::tls::md -dige
1990: 73 74 20 6d 64 35 20 2d 64 61 74 61 20 24 74 65  st md5 -data $te
19a0: 73 74 5f 64 61 74 61 20 2d 62 69 6e 5d 2c 2c 2c  st_data -bin],,,
19b0: 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63  962bf0803b4232ec
19c0: 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39  23bd8427bb94ea09
19d0: 2c 2c 2c 0a 44 69 67 65 73 74 20 44 61 74 61 2c  ,,,.Digest Data,
19e0: 6d 64 35 20 68 65 78 2c 2c 2c 3a 3a 74 6c 73 3a  md5 hex,,,::tls:
19f0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20  :md -digest md5 
1a00: 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61  -data $test_data
1a10: 20 2d 68 65 78 2c 2c 2c 39 36 32 62 66 30 38 30   -hex,,,962bf080
1a20: 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32 37  3b4232ec23bd8427
1a30: 62 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c  bb94ea09,,,.,,,,
1a40: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
1a50: 20 54 65 73 74 20 64 69 67 65 73 74 20 63 6f 6d   Test digest com
1a60: 6d 61 6e 64 20 66 6f 72 20 66 69 6c 65 2c 2c 2c  mand for file,,,
1a70: 2c 2c 2c 2c 2c 2c 0a 44 69 67 65 73 74 20 46 69  ,,,,,,.Digest Fi
1a80: 6c 65 2c 6d 64 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a  le,md4,,,::tls::
1a90: 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 34 20 2d  md -digest md4 -
1aa0: 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c  file $test_file,
1ab0: 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63 61 32  ,,793399f792eca2
1ac0: 37 35 32 63 36 61 66 33 32 33 34 62 61 37 30 38  752c6af3234ba708
1ad0: 35 38 2c 2c 2c 0a 44 69 67 65 73 74 20 46 69 6c  58,,,.Digest Fil
1ae0: 65 2c 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  e,md5,,,::tls::m
1af0: 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 66  d -digest md5 -f
1b00: 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c  ile $test_file,,
1b10: 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65  ,962bf0803b4232e
1b20: 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30  c23bd8427bb94ea0
1b30: 39 2c 2c 2c 0a 44 69 67 65 73 74 20 46 69 6c 65  9,,,.Digest File
1b40: 2c 73 68 61 31 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ,sha1,,,::tls::m
1b50: 64 20 2d 64 69 67 65 73 74 20 73 68 61 31 20 2d  d -digest sha1 -
1b60: 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c  file $test_file,
1b70: 2c 2c 34 66 65 30 33 62 37 66 32 35 36 38 35 35  ,,4fe03b7f256855
1b80: 31 64 66 61 66 62 39 38 63 61 36 30 30 34 65 36  1dfafb98ca6004e6
1b90: 35 63 34 62 37 31 61 61 37 64 2c 2c 2c 0a 44 69  5c4b71aa7d,,,.Di
1ba0: 67 65 73 74 20 46 69 6c 65 2c 73 68 61 32 35 36  gest File,sha256
1bb0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ,,,::tls::md -di
1bc0: 67 65 73 74 20 73 68 61 32 35 36 20 2d 66 69 6c  gest sha256 -fil
1bd0: 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 39  e $test_file,,,9
1be0: 64 33 35 37 38 66 63 31 33 38 32 30 35 63 66 30  d3578fc138205cf0
1bf0: 65 65 34 62 34 63 65 66 33 35 66 65 31 30 31 62  ee4b4cef35fe101b
1c00: 62 34 65 63 61 63 37 62 31 36 31 34 63 31 38 65  b4ecac7b1614c18e
1c10: 36 66 61 34 38 62 35 63 37 66 39 35 65 31 39 2c  6fa48b5c7f95e19,
1c20: 2c 2c 0a 44 69 67 65 73 74 20 46 69 6c 65 2c 73  ,,.Digest File,s
1c30: 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ha512,,,::tls::m
1c40: 64 20 2d 64 69 67 65 73 74 20 73 68 61 35 31 32  d -digest sha512
1c50: 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c   -file $test_fil
1c60: 65 2c 2c 2c 64 31 37 38 65 37 35 39 64 63 35 39  e,,,d178e759dc59
1c70: 31 32 37 30 37 31 35 38 38 64 32 66 61 64 31 37  127071588d2fad17
1c80: 33 63 30 36 32 33 38 64 38 37 65 38 30 30 61 36  3c06238d87e800a6
1c90: 34 30 33 63 30 61 33 30 64 61 61 34 66 61 61 66  403c0a30daa4faaf
1ca0: 30 35 64 30 65 37 63 65 30 34 39 31 36 61 66 61  05d0e7ce04916afa
1cb0: 61 36 61 35 38 61 33 30 63 62 65 62 35 39 37 64  a6a58a30cbeb597d
1cc0: 61 63 62 30 31 63 36 32 66 39 66 62 39 64 38 39  acb01c62f9fb9d89
1cd0: 62 61 62 39 64 61 36 33 30 63 36 39 39 65 34 38  bab9da630c699e48
1ce0: 31 36 66 31 2c 2c 2c 0a 44 69 67 65 73 74 20 46  16f1,,,.Digest F
1cf0: 69 6c 65 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62 69  ile,md5 bin,,,bi
1d00: 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20  nary encode hex 
1d10: 5b 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65  [::tls::md -dige
1d20: 73 74 20 6d 64 35 20 2d 66 69 6c 65 20 24 74 65  st md5 -file $te
1d30: 73 74 5f 66 69 6c 65 20 2d 62 69 6e 5d 2c 2c 2c  st_file -bin],,,
1d40: 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63  962bf0803b4232ec
1d50: 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39  23bd8427bb94ea09
1d60: 2c 2c 2c 0a 44 69 67 65 73 74 20 46 69 6c 65 2c  ,,,.Digest File,
1d70: 6d 64 35 20 68 65 78 2c 2c 2c 3a 3a 74 6c 73 3a  md5 hex,,,::tls:
1d80: 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20  :md -digest md5 
1d90: 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65  -file $test_file
1da0: 20 2d 68 65 78 2c 2c 2c 39 36 32 62 66 30 38 30   -hex,,,962bf080
1db0: 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32 37  3b4232ec23bd8427
1dc0: 62 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c  bb94ea09,,,.,,,,
1dd0: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
1de0: 20 54 65 73 74 20 48 4d 41 43 20 63 6f 6d 6d 61   Test HMAC comma
1df0: 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 48 4d 41 43  nd,,,,,,,,,.HMAC
1e00: 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68  ,data,,,::tls::h
1e10: 6d 61 63 20 2d 64 69 67 65 73 74 20 6d 64 35 20  mac -digest md5 
1e20: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d  -key $test_key -
1e30: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
1e40: 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 62  ,,f98327ef3e20ab
1e50: 36 64 33 38 38 66 36 37 36 63 36 61 37 39 64 39  6d388f676c6a79d9
1e60: 33 64 2c 2c 2c 0a 48 4d 41 43 2c 66 69 6c 65 2c  3d,,,.HMAC,file,
1e70: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
1e80: 69 67 65 73 74 20 6d 64 35 20 2d 6b 65 79 20 24  igest md5 -key $
1e90: 74 65 73 74 5f 6b 65 79 20 2d 66 69 6c 65 20 24  test_key -file $
1ea0: 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 66 39 38 33  test_file,,,f983
1eb0: 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38 66  27ef3e20ab6d388f
1ec0: 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a  676c6a79d93d,,,.
1ed0: 48 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c 2c 2c 64  HMAC,channel,,,d
1ee0: 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e 20  igest_read_chan 
1ef0: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 24 74 65 73  ::tls::hmac $tes
1f00: 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 6d  t_file -digest m
1f10: 64 35 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65  d5 -key $test_ke
1f20: 79 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30  y,,,f98327ef3e20
1f30: 61 62 36 64 33 38 38 66 36 37 36 63 36 61 37 39  ab6d388f676c6a79
1f40: 64 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c 63 6f 6d  d93d,,,.HMAC,com
1f50: 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74 5f 61 63  mand,,,digest_ac
1f60: 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64  cumulate $test_d
1f70: 61 74 61 20 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  ata ::tls::hmac 
1f80: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 6b 65 79  -digest md5 -key
1f90: 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39 38   $test_key,,,f98
1fa0: 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38  327ef3e20ab6d388
1fb0: 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c  f676c6a79d93d,,,
1fc0: 0a 48 4d 41 43 2c 64 61 74 61 20 62 69 6e 2c 2c  .HMAC,data bin,,
1fd0: 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68  ,binary encode h
1fe0: 65 78 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  ex [::tls::hmac 
1ff0: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 62 69 6e  -digest md5 -bin
2000: 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20   -key $test_key 
2010: 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61  -data $test_data
2020: 5d 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30  ],,,f98327ef3e20
2030: 61 62 36 64 33 38 38 66 36 37 36 63 36 61 37 39  ab6d388f676c6a79
2040: 64 39 33 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  d93d,,,.,,,,,,,,
2050: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73  ,,.command,# Tes
2060: 74 20 44 69 67 65 73 74 20 48 4d 41 43 2c 2c 2c  t Digest HMAC,,,
2070: 2c 2c 2c 2c 2c 2c 0a 44 69 67 65 73 74 20 48 4d  ,,,,,,.Digest HM
2080: 41 43 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a  AC,data,,,::tls:
2090: 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20  :md -digest md5 
20a0: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d  -key $test_key -
20b0: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
20c0: 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 62  ,,f98327ef3e20ab
20d0: 36 64 33 38 38 66 36 37 36 63 36 61 37 39 64 39  6d388f676c6a79d9
20e0: 33 64 2c 2c 2c 0a 44 69 67 65 73 74 20 48 4d 41  3d,,,.Digest HMA
20f0: 43 2c 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a  C,file,,,::tls::
2100: 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d  md -digest md5 -
2110: 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 66  key $test_key -f
2120: 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c  ile $test_file,,
2130: 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 62 36  ,f98327ef3e20ab6
2140: 64 33 38 38 66 36 37 36 63 36 61 37 39 64 39 33  d388f676c6a79d93
2150: 64 2c 2c 2c 0a 44 69 67 65 73 74 20 48 4d 41 43  d,,,.Digest HMAC
2160: 2c 63 68 61 6e 6e 65 6c 2c 2c 2c 64 69 67 65 73  ,channel,,,diges
2170: 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c  t_read_chan ::tl
2180: 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65  s::md $test_file
2190: 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 6b 65   -digest md5 -ke
21a0: 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39  y $test_key,,,f9
21b0: 38 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38  8327ef3e20ab6d38
21c0: 38 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c  8f676c6a79d93d,,
21d0: 2c 0a 44 69 67 65 73 74 20 48 4d 41 43 2c 63 6f  ,.Digest HMAC,co
21e0: 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74 5f 61  mmand,,,digest_a
21f0: 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f  ccumulate $test_
2200: 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  data ::tls::md -
2210: 64 69 67 65 73 74 20 6d 64 35 20 2d 6b 65 79 20  digest md5 -key 
2220: 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39 38 33  $test_key,,,f983
2230: 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38 66  27ef3e20ab6d388f
2240: 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a  676c6a79d93d,,,.
2250: 44 69 67 65 73 74 20 48 4d 41 43 2c 64 61 74 61  Digest HMAC,data
2260: 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e   bin,,,binary en
2270: 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a  code hex [::tls:
2280: 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20  :md -digest md5 
2290: 2d 62 69 6e 20 2d 6b 65 79 20 24 74 65 73 74 5f  -bin -key $test_
22a0: 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f  key -data $test_
22b0: 64 61 74 61 5d 2c 2c 2c 66 39 38 33 32 37 65 66  data],,,f98327ef
22c0: 33 65 32 30 61 62 36 64 33 38 38 66 36 37 36 63  3e20ab6d388f676c
22d0: 36 61 37 39 64 39 33 64 2c 2c 2c 0a 2c 2c 2c 2c  6a79d93d,,,.,,,,
22e0: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
22f0: 20 54 65 73 74 20 43 4d 41 43 20 63 6f 6d 6d 61   Test CMAC comma
2300: 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  nd,,,,,,,,,.comm
2310: 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f 63 69  and,"set test_ci
2320: 70 68 65 72 20 22 22 61 65 73 2d 31 32 38 2d 63  pher ""aes-128-c
2330: 62 63 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  bc""",,,,,,,,,.c
2340: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 73 74  ommand,"set test
2350: 5f 6b 65 79 20 22 22 45 78 61 6d 70 6c 65 20 6b  _key ""Example k
2360: 65 79 20 31 32 33 34 22 22 22 2c 2c 2c 2c 2c 2c  ey 1234""",,,,,,
2370: 2c 2c 2c 0a 43 4d 41 43 2c 64 61 74 61 2c 2c 2c  ,,,.CMAC,data,,,
2380: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70  ::tls::cmac -cip
2390: 68 65 72 20 24 74 65 73 74 5f 63 69 70 68 65 72  her $test_cipher
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 62 61 66 35 63 32 30 66 39 39 37 33 65  ,,,baf5c20f9973e
23d0: 32 64 36 30 36 62 31 34 63 37 65 66 64 66 65 35  2d606b14c7efdfe5
23e0: 32 66 61 2c 2c 2c 0a 43 4d 41 43 2c 66 69 6c 65  2fa,,,.CMAC,file
23f0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d  ,,,::tls::cmac -
2400: 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69 70  cipher $test_cip
2410: 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  her -key $test_k
2420: 65 79 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66  ey -file $test_f
2430: 69 6c 65 2c 2c 2c 62 61 66 35 63 32 30 66 39 39  ile,,,baf5c20f99
2440: 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66 64  73e2d606b14c7efd
2450: 66 65 35 32 66 61 2c 2c 2c 0a 43 4d 41 43 2c 63  fe52fa,,,.CMAC,c
2460: 68 61 6e 6e 65 6c 2c 2c 2c 64 69 67 65 73 74 5f  hannel,,,digest_
2470: 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a  read_chan ::tls:
2480: 3a 63 6d 61 63 20 24 74 65 73 74 5f 66 69 6c 65  :cmac $test_file
2490: 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63   -cipher $test_c
24a0: 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74  ipher -key $test
24b0: 5f 6b 65 79 2c 2c 2c 62 61 66 35 63 32 30 66 39  _key,,,baf5c20f9
24c0: 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66  973e2d606b14c7ef
24d0: 64 66 65 35 32 66 61 2c 2c 2c 0a 43 4d 41 43 2c  dfe52fa,,,.CMAC,
24e0: 63 6f 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74  command,,,digest
24f0: 5f 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73  _accumulate $tes
2500: 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 63 6d  t_data ::tls::cm
2510: 61 63 20 2d 63 69 70 68 65 72 20 24 74 65 73 74  ac -cipher $test
2520: 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65  _cipher -key $te
2530: 73 74 5f 6b 65 79 2c 2c 2c 62 61 66 35 63 32 30  st_key,,,baf5c20
2540: 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37  f9973e2d606b14c7
2550: 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 43 4d 41  efdfe52fa,,,.CMA
2560: 43 2c 64 61 74 61 20 62 69 6e 2c 2c 2c 62 69 6e  C,data bin,,,bin
2570: 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b  ary encode hex [
2580: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 62 69 6e  ::tls::cmac -bin
2590: 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63   -cipher $test_c
25a0: 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74  ipher -key $test
25b0: 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74  _key -data $test
25c0: 5f 64 61 74 61 5d 2c 2c 2c 62 61 66 35 63 32 30  _data],,,baf5c20
25d0: 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37  f9973e2d606b14c7
25e0: 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 2c 2c 2c  efdfe52fa,,,.,,,
25f0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
2600: 23 20 54 65 73 74 20 44 69 67 65 73 74 20 43 4d  # Test Digest CM
2610: 41 43 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67 65  AC,,,,,,,,,.Dige
2620: 73 74 20 43 4d 41 43 2c 64 61 74 61 2c 2c 2c 3a  st CMAC,data,,,:
2630: 3a 74 6c 73 3a 3a 6d 64 20 2d 63 69 70 68 65 72  :tls::md -cipher
2640: 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b   $test_cipher -k
2650: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61  ey $test_key -da
2660: 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  ta $test_data,,,
2670: 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36  baf5c20f9973e2d6
2680: 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61  06b14c7efdfe52fa
2690: 2c 2c 2c 0a 44 69 67 65 73 74 20 43 4d 41 43 2c  ,,,.Digest CMAC,
26a0: 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64  file,,,::tls::md
26b0: 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63   -cipher $test_c
26c0: 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74  ipher -key $test
26d0: 5f 6b 65 79 20 2d 66 69 6c 65 20 24 74 65 73 74  _key -file $test
26e0: 5f 66 69 6c 65 2c 2c 2c 62 61 66 35 63 32 30 66  _file,,,baf5c20f
26f0: 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65  9973e2d606b14c7e
2700: 66 64 66 65 35 32 66 61 2c 2c 2c 0a 44 69 67 65  fdfe52fa,,,.Dige
2710: 73 74 20 43 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c  st CMAC,channel,
2720: 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68  ,,digest_read_ch
2730: 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65  an ::tls::md $te
2740: 73 74 5f 66 69 6c 65 20 2d 63 69 70 68 65 72 20  st_file -cipher 
2750: 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65  $test_cipher -ke
2760: 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 62 61  y $test_key,,,ba
2770: 66 35 63 32 30 66 39 39 37 33 65 32 64 36 30 36  f5c20f9973e2d606
2780: 62 31 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c  b14c7efdfe52fa,,
2790: 2c 0a 44 69 67 65 73 74 20 43 4d 41 43 2c 63 6f  ,.Digest CMAC,co
27a0: 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74 5f 61  mmand,,,digest_a
27b0: 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f  ccumulate $test_
27c0: 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  data ::tls::md -
27d0: 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69 70  cipher $test_cip
27e0: 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  her -key $test_k
27f0: 65 79 2c 2c 2c 62 61 66 35 63 32 30 66 39 39 37  ey,,,baf5c20f997
2800: 33 65 32 64 36 30 36 62 31 34 63 37 65 66 64 66  3e2d606b14c7efdf
2810: 65 35 32 66 61 2c 2c 2c 0a 44 69 67 65 73 74 20  e52fa,,,.Digest 
2820: 43 4d 41 43 2c 64 61 74 61 20 62 69 6e 2c 2c 2c  CMAC,data bin,,,
2830: 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65  binary encode he
2840: 78 20 5b 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 62 69  x [::tls::md -bi
2850: 6e 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f  n -cipher $test_
2860: 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73  cipher -key $tes
2870: 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73  t_key -data $tes
2880: 74 5f 64 61 74 61 5d 2c 2c 2c 62 61 66 35 63 32  t_data],,,baf5c2
2890: 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63  0f9973e2d606b14c
28a0: 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 2c 2c  7efdfe52fa,,,.,,
28b0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
28c0: 2c 23 20 54 65 73 74 20 4d 41 43 20 63 6f 6d 6d  ,# Test MAC comm
28d0: 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 41 43  and,,,,,,,,,.MAC
28e0: 2c 48 4d 41 43 2c 6e 65 77 5f 61 70 69 2c 2c 3a  ,HMAC,new_api,,:
28f0: 3a 74 6c 73 3a 3a 6d 61 63 20 2d 64 69 67 65 73  :tls::mac -diges
2900: 74 20 73 68 61 32 35 36 20 2d 6d 61 63 20 68 6d  t sha256 -mac hm
2910: 61 63 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65  ac -key $test_ke
2920: 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  y -data $test_da
2930: 74 61 2c 2c 2c 34 39 38 65 66 35 65 66 37 31 34  ta,,,498ef5ef714
2940: 32 34 66 38 31 64 61 37 34 39 39 62 32 65 65 61  24f81da7499b2eea
2950: 65 31 64 30 61 33 34 38 64 64 34 30 62 38 34 31  e1d0a348dd40b841
2960: 65 61 32 37 62 64 64 65 34 39 34 66 36 62 63 39  ea27bdde494f6bc9
2970: 30 34 36 66 66 2c 2c 2c 0a 4d 41 43 2c 43 4d 41  046ff,,,.MAC,CMA
2980: 43 2c 6e 65 77 5f 61 70 69 2c 2c 3a 3a 74 6c 73  C,new_api,,::tls
2990: 3a 3a 6d 61 63 20 2d 63 69 70 68 65 72 20 24 74  ::mac -cipher $t
29a0: 65 73 74 5f 63 69 70 68 65 72 20 2d 64 69 67 65  est_cipher -dige
29b0: 73 74 20 73 68 61 32 35 36 20 2d 6d 61 63 20 63  st sha256 -mac c
29c0: 6d 61 63 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  mac -key $test_k
29d0: 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64  ey -data $test_d
29e0: 61 74 61 2c 2c 2c 34 39 38 65 66 35 65 66 37 31  ata,,,498ef5ef71
29f0: 34 32 34 66 38 31 64 61 37 34 39 39 62 32 65 65  424f81da7499b2ee
2a00: 61 65 31 64 30 61 33 34 38 64 64 34 30 62 38 34  ae1d0a348dd40b84
2a10: 31 65 61 32 37 62 64 64 65 34 39 34 66 36 62 63  1ea27bdde494f6bc
2a20: 39 30 34 36 66 66 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  9046ff,,,.,,,,,,
2a30: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 44  ,,,,.command,# D
2a40: 69 67 65 73 74 20 45 72 72 6f 72 20 43 61 73 65  igest Error Case
2a50: 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67 65 73  s,,,,,,,,,.Diges
2a60: 74 20 45 72 72 6f 72 73 2c 54 6f 6f 20 66 65 77  t Errors,Too few
2a70: 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d   args,,,::tls::m
2a80: 64 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61 72 67  d,,,"wrong # arg
2a90: 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22 22 3a  s: should be "":
2aa0: 3a 74 6c 73 3a 3a 6d 64 20 3f 2d 62 69 6e 7c 2d  :tls::md ?-bin|-
2ab0: 68 65 78 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61  hex? ?-cipher na
2ac0: 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d  me? ?-digest nam
2ad0: 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d  e? ?-key key? ?-
2ae0: 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e  mac name? [-chan
2af0: 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d  nel chan | -comm
2b00: 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66  and cmdName | -f
2b10: 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f  ile filename | ?
2b20: 2d 64 61 74 61 3f 20 64 61 74 61 5d 22 22 22 2c  -data? data]""",
2b30: 2c 2c 31 0a 44 69 67 65 73 74 20 45 72 72 6f 72  ,,1.Digest Error
2b40: 73 2c 54 6f 6f 20 6d 61 6e 79 20 61 72 67 73 2c  s,Too many args,
2b50: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 74 6f 6f 20  ,,::tls::md too 
2b60: 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e  many command lin
2b70: 65 20 61 72 67 73 20 74 6f 20 70 61 73 73 20 74  e args to pass t
2b80: 68 65 20 74 65 73 74 20 77 69 74 68 6f 75 74 20  he test without 
2b90: 61 6e 20 65 72 72 6f 72 20 6f 72 20 66 61 69 6c  an error or fail
2ba0: 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61  ing,,,"wrong # a
2bb0: 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22  rgs: should be "
2bc0: 22 3a 3a 74 6c 73 3a 3a 6d 64 20 3f 2d 62 69 6e  "::tls::md ?-bin
2bd0: 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65 72 20  |-hex? ?-cipher 
2be0: 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e  name? ?-digest n
2bf0: 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20  ame? ?-key key? 
2c00: 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68  ?-mac name? [-ch
2c10: 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f  annel chan | -co
2c20: 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20  mmand cmdName | 
2c30: 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c  -file filename |
2c40: 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d 22 22   ?-data? data]""
2c50: 22 2c 2c 2c 31 0a 44 69 67 65 73 74 20 45 72 72  ",,,1.Digest Err
2c60: 6f 72 73 2c 49 6e 76 61 6c 69 64 20 64 69 67 65  ors,Invalid dige
2c70: 73 74 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 62  st,,,::tls::md b
2c80: 6f 67 75 73 20 64 61 74 61 2c 2c 2c 22 49 6e 76  ogus data,,,"Inv
2c90: 61 6c 69 64 20 64 69 67 65 73 74 20 22 22 62 6f  alid digest ""bo
2ca0: 67 75 73 22 22 22 2c 2c 2c 31 0a 44 69 67 65 73  gus""",,,1.Diges
2cb0: 74 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64  t Errors,Invalid
2cc0: 20 64 69 67 65 73 74 20 41 72 67 2c 2c 2c 3a 3a   digest Arg,,,::
2cd0: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
2ce0: 62 6f 67 75 73 20 2d 64 61 74 61 20 64 61 74 61  bogus -data data
2cf0: 2c 2c 2c 22 49 6e 76 61 6c 69 64 20 64 69 67 65  ,,,"Invalid dige
2d00: 73 74 20 22 22 62 6f 67 75 73 22 22 22 2c 2c 2c  st ""bogus""",,,
2d10: 31 0a 44 69 67 65 73 74 20 45 72 72 6f 72 73 2c  1.Digest Errors,
2d20: 4e 6f 20 64 69 67 65 73 74 2c 2c 2c 3a 3a 74 6c  No digest,,,::tl
2d30: 73 3a 3a 6d 64 20 2d 68 65 78 20 2d 64 61 74 61  s::md -hex -data
2d40: 20 76 61 6c 75 65 2c 2c 2c 4e 6f 20 64 69 67 65   value,,,No dige
2d50: 73 74 20 73 70 65 63 69 66 69 65 64 2c 2c 2c 31  st specified,,,1
2d60: 0a 44 69 67 65 73 74 20 45 72 72 6f 72 73 2c 49  .Digest Errors,I
2d70: 6e 76 61 6c 69 64 20 6f 70 74 69 6f 6e 2c 2c 2c  nvalid option,,,
2d80: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
2d90: 74 20 73 68 61 32 35 36 20 2d 62 6f 67 75 73 20  t sha256 -bogus 
2da0: 76 61 6c 75 65 2c 2c 2c 22 62 61 64 20 6f 70 74  value,,,"bad opt
2db0: 69 6f 6e 20 22 22 2d 62 6f 67 75 73 22 22 3a 20  ion ""-bogus"": 
2dc0: 6d 75 73 74 20 62 65 20 2d 62 69 6e 2c 20 2d 63  must be -bin, -c
2dd0: 68 61 6e 6e 65 6c 2c 20 2d 63 69 70 68 65 72 2c  hannel, -cipher,
2de0: 20 2d 63 6f 6d 6d 61 6e 64 2c 20 2d 64 61 74 61   -command, -data
2df0: 2c 20 2d 64 69 67 65 73 74 2c 20 2d 66 69 6c 65  , -digest, -file
2e00: 2c 20 2d 66 69 6c 65 6e 61 6d 65 2c 20 2d 68 65  , -filename, -he
2e10: 78 2c 20 2d 6b 65 79 2c 20 6f 72 20 2d 6d 61 63  x, -key, or -mac
2e20: 22 2c 2c 2c 31 0a 44 69 67 65 73 74 20 45 72 72  ",,,1.Digest Err
2e30: 6f 72 73 2c 49 6e 76 61 6c 69 64 20 66 69 6c 65  ors,Invalid file
2e40: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ,,,::tls::md -di
2e50: 67 65 73 74 20 73 68 61 32 35 36 20 2d 66 69 6c  gest sha256 -fil
2e60: 65 20 62 6f 67 75 73 2c 2c 2c 22 63 6f 75 6c 64  e bogus,,,"could
2e70: 6e 27 74 20 6f 70 65 6e 20 22 22 62 6f 67 75 73  n't open ""bogus
2e80: 22 22 3a 20 6e 6f 20 73 75 63 68 20 66 69 6c 65  "": no such file
2e90: 20 6f 72 20 64 69 72 65 63 74 6f 72 79 22 2c 2c   or directory",,
2ea0: 2c 31 0a 44 69 67 65 73 74 20 45 72 72 6f 72 73  ,1.Digest Errors
2eb0: 2c 49 6e 76 61 6c 69 64 20 63 68 61 6e 6e 65 6c  ,Invalid channel
2ec0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ,,,::tls::md -di
2ed0: 67 65 73 74 20 73 68 61 32 35 36 20 2d 63 68 61  gest sha256 -cha
2ee0: 6e 6e 65 6c 20 62 6f 67 75 73 2c 2c 2c 22 63 61  nnel bogus,,,"ca
2ef0: 6e 20 6e 6f 74 20 66 69 6e 64 20 63 68 61 6e 6e  n not find chann
2f00: 65 6c 20 6e 61 6d 65 64 20 22 22 62 6f 67 75 73  el named ""bogus
2f10: 22 22 22 2c 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c  """,,,1.,,,,,,,,
2f20: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 43 4d 41  ,,.command,# CMA
2f30: 43 20 45 72 72 6f 72 20 43 61 73 65 73 2c 2c 2c  C Error Cases,,,
2f40: 2c 2c 2c 2c 2c 2c 0a 43 4d 41 43 20 45 72 72 6f  ,,,,,,.CMAC Erro
2f50: 72 73 2c 54 6f 6f 20 66 65 77 20 61 72 67 73 2c  rs,Too few args,
2f60: 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 2c 2c 2c  ,,::tls::cmac,,,
2f70: 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73  "wrong # args: s
2f80: 68 6f 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73  hould be ""::tls
2f90: 3a 3a 63 6d 61 63 20 3f 2d 62 69 6e 7c 2d 68 65  ::cmac ?-bin|-he
2fa0: 78 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61 6d 65  x? ?-cipher name
2fb0: 3f 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d 65 3f  ? ?-digest name?
2fc0: 20 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d 61   ?-key key? ?-ma
2fd0: 63 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65  c name? [-channe
2fe0: 6c 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e  l chan | -comman
2ff0: 64 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66 69 6c  d cmdName | -fil
3000: 65 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64  e filename | ?-d
3010: 61 74 61 3f 20 64 61 74 61 5d 22 22 22 2c 2c 2c  ata? data]""",,,
3020: 31 0a 43 4d 41 43 20 45 72 72 6f 72 73 2c 4e 6f  1.CMAC Errors,No
3030: 20 63 69 70 68 65 72 2c 2c 2c 3a 3a 74 6c 73 3a   cipher,,,::tls:
3040: 3a 63 6d 61 63 20 2d 68 65 78 20 2d 64 61 74 61  :cmac -hex -data
3050: 20 76 61 6c 75 65 2c 2c 2c 4e 6f 20 63 69 70 68   value,,,No ciph
3060: 65 72 20 73 70 65 63 69 66 69 65 64 2c 2c 2c 31  er specified,,,1
3070: 0a 43 4d 41 43 20 45 72 72 6f 72 73 2c 4e 6f 20  .CMAC Errors,No 
3080: 6b 65 79 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61  key,,,::tls::cma
3090: 63 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f  c -cipher $test_
30a0: 63 69 70 68 65 72 20 2d 64 61 74 61 20 76 61 6c  cipher -data val
30b0: 75 65 2c 2c 2c 4e 6f 20 6b 65 79 20 73 70 65 63  ue,,,No key spec
30c0: 69 66 69 65 64 2c 2c 2c 31 0a 43 4d 41 43 20 45  ified,,,1.CMAC E
30d0: 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 63 69  rrors,Invalid ci
30e0: 70 68 65 72 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d  pher,,,::tls::cm
30f0: 61 63 20 2d 63 69 70 68 65 72 20 62 6f 67 75 73  ac -cipher bogus
3100: 20 2d 64 61 74 61 20 76 61 6c 75 65 2c 2c 2c 22   -data value,,,"
3110: 49 6e 76 61 6c 69 64 20 63 69 70 68 65 72 20 22  Invalid cipher "
3120: 22 62 6f 67 75 73 22 22 22 2c 2c 2c 31 0a 2c 2c  "bogus""",,,1.,,
3130: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
3140: 2c 23 20 48 4d 41 43 20 45 72 72 6f 72 20 43 61  ,# HMAC Error Ca
3150: 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 48 4d 41  ses,,,,,,,,,.HMA
3160: 43 20 45 72 72 6f 72 73 2c 54 6f 6f 20 66 65 77  C Errors,Too few
3170: 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68   args,,,::tls::h
3180: 6d 61 63 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61  mac,,,"wrong # a
3190: 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22  rgs: should be "
31a0: 22 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 3f 2d 62  "::tls::hmac ?-b
31b0: 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65  in|-hex? ?-ciphe
31c0: 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74  r name? ?-digest
31d0: 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79   name? ?-key key
31e0: 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d  ? ?-mac name? [-
31f0: 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d  channel chan | -
3200: 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20  command cmdName 
3210: 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65  | -file filename
3220: 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d   | ?-data? data]
3230: 22 22 22 2c 2c 2c 31 0a 48 4d 41 43 20 45 72 72  """,,,1.HMAC Err
3240: 6f 72 73 2c 4e 6f 20 64 69 67 65 73 74 2c 2c 2c  ors,No digest,,,
3250: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78  ::tls::hmac -hex
3260: 20 2d 64 61 74 61 20 76 61 6c 75 65 2c 2c 2c 4e   -data value,,,N
3270: 6f 20 64 69 67 65 73 74 20 73 70 65 63 69 66 69  o digest specifi
3280: 65 64 2c 2c 2c 31 0a 48 4d 41 43 20 45 72 72 6f  ed,,,1.HMAC Erro
3290: 72 73 2c 4e 6f 20 6b 65 79 2c 2c 2c 3a 3a 74 6c  rs,No key,,,::tl
32a0: 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20  s::hmac -digest 
32b0: 73 68 61 32 35 36 20 2d 64 61 74 61 20 76 61 6c  sha256 -data val
32c0: 75 65 2c 2c 2c 4e 6f 20 6b 65 79 20 73 70 65 63  ue,,,No key spec
32d0: 69 66 69 65 64 2c 2c 2c 31 0a 2c 2c 2c 2c 2c 2c  ified,,,1.,,,,,,
32e0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 4d  ,,,,.command,# M
32f0: 41 43 20 45 72 72 6f 72 20 43 61 73 65 73 2c 2c  AC Error Cases,,
3300: 2c 2c 2c 2c 2c 2c 2c 0a 4d 41 43 20 45 72 72 6f  ,,,,,,,.MAC Erro
3310: 72 73 2c 54 6f 6f 20 66 65 77 20 61 72 67 73 2c  rs,Too few args,
3320: 6e 65 77 5f 61 70 69 2c 2c 3a 3a 74 6c 73 3a 3a  new_api,,::tls::
3330: 6d 6d 61 63 2c 2c 2c 22 77 72 6f 6e 67 20 23 20  mmac,,,"wrong # 
3340: 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20  args: should be 
3350: 22 22 3a 3a 74 6c 73 3a 3a 6d 61 63 20 3f 2d 62  ""::tls::mac ?-b
3360: 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65  in|-hex? ?-ciphe
3370: 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74  r name? ?-digest
3380: 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79   name? ?-key key
3390: 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d  ? ?-mac name? [-
33a0: 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d  channel chan | -
33b0: 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20  command cmdName 
33c0: 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65  | -file filename
33d0: 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d   | ?-data? data]
33e0: 22 22 22 2c 2c 2c 31 0a 4d 41 43 20 45 72 72 6f  """,,,1.MAC Erro
33f0: 72 73 2c 4e 6f 20 6b 65 79 2c 6e 65 77 5f 61 70  rs,No key,new_ap
3400: 69 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d 64  i,,::tls::mac -d
3410: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 64 61  igest sha256 -da
3420: 74 61 20 76 61 6c 75 65 2c 2c 2c 4e 6f 20 6b 65  ta value,,,No ke
3430: 79 20 73 70 65 63 69 66 69 65 64 2c 2c 2c 31 0a  y specified,,,1.
3440: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ,,,,,,,,,,.comma
3450: 6e 64 2c 23 20 52 46 43 20 34 32 33 31 20 48 4d  nd,# RFC 4231 HM
3460: 41 43 20 45 78 61 6d 70 6c 65 73 20 54 65 73 74  AC Examples Test
3470: 20 43 61 73 65 20 23 31 2c 2c 2c 2c 2c 2c 2c 2c   Case #1,,,,,,,,
3480: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b  ,.command,"set k
3490: 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ey [binary decod
34a0: 65 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65  e hex [string re
34b0: 70 65 61 74 20 22 22 30 62 22 22 20 32 30 5d 5d  peat ""0b"" 20]]
34c0: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ",,,,,,,,,.comma
34d0: 6e 64 2c 22 73 65 74 20 64 61 74 61 20 22 22 48  nd,"set data ""H
34e0: 69 20 54 68 65 72 65 22 22 22 2c 2c 2c 2c 2c 2c  i There""",,,,,,
34f0: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 31 2c  ,,,.RFC4231 TC1,
3500: 73 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha224,,,::tls::
3510: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61  hmac -digest sha
3520: 32 32 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  224 -key $key -d
3530: 61 74 61 20 24 64 61 74 61 2c 2c 2c 38 39 36 66  ata $data,,,896f
3540: 62 31 31 32 38 61 62 62 64 66 31 39 36 38 33 32  b1128abbdf196832
3550: 31 30 37 63 64 34 39 64 66 33 33 66 34 37 62 34  107cd49df33f47b4
3560: 62 31 31 36 39 39 31 32 62 61 34 66 35 33 36 38  b1169912ba4f5368
3570: 34 62 32 32 2c 2c 2c 0a 52 46 43 34 32 33 31 20  4b22,,,.RFC4231 
3580: 54 43 31 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74  TC1,sha256,,,::t
3590: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
35a0: 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65   sha256 -key $ke
35b0: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
35c0: 62 30 33 34 34 63 36 31 64 38 64 62 33 38 35 33  b0344c61d8db3853
35d0: 35 63 61 38 61 66 63 65 61 66 30 62 66 31 32 62  5ca8afceaf0bf12b
35e0: 38 38 31 64 63 32 30 30 63 39 38 33 33 64 61 37  881dc200c9833da7
35f0: 32 36 65 39 33 37 36 63 32 65 33 32 63 66 66 37  26e9376c2e32cff7
3600: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 31 2c  ,,,.RFC4231 TC1,
3610: 73 68 61 33 38 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha384,,,::tls::
3620: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61  hmac -digest sha
3630: 33 38 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  384 -key $key -d
3640: 61 74 61 20 24 64 61 74 61 2c 2c 2c 61 66 64 30  ata $data,,,afd0
3650: 33 39 34 34 64 38 34 38 39 35 36 32 36 62 30 38  3944d84895626b08
3660: 32 35 66 34 61 62 34 36 39 30 37 66 31 35 66 39  25f4ab46907f15f9
3670: 64 61 64 62 65 34 31 30 31 65 63 36 38 32 61 61  dadbe4101ec682aa
3680: 30 33 34 63 37 63 65 62 63 35 39 63 66 61 65 61  034c7cebc59cfaea
3690: 39 65 61 39 30 37 36 65 64 65 37 66 34 61 66 31  9ea9076ede7f4af1
36a0: 35 32 65 38 62 32 66 61 39 63 62 36 2c 2c 2c 0a  52e8b2fa9cb6,,,.
36b0: 52 46 43 34 32 33 31 20 54 43 31 2c 73 68 61 35  RFC4231 TC1,sha5
36c0: 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63  12,,,::tls::hmac
36d0: 20 2d 64 69 67 65 73 74 20 73 68 61 35 31 32 20   -digest sha512 
36e0: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
36f0: 24 64 61 74 61 2c 2c 2c 38 37 61 61 37 63 64 65  $data,,,87aa7cde
3700: 61 35 65 66 36 31 39 64 34 66 66 30 62 34 32 34  a5ef619d4ff0b424
3710: 31 61 31 64 36 63 62 30 32 33 37 39 66 34 65 32  1a1d6cb02379f4e2
3720: 63 65 34 65 63 32 37 38 37 61 64 30 62 33 30 35  ce4ec2787ad0b305
3730: 34 35 65 31 37 63 64 65 64 61 61 38 33 33 62 37  45e17cdedaa833b7
3740: 64 36 62 38 61 37 30 32 30 33 38 62 32 37 34 65  d6b8a702038b274e
3750: 61 65 61 33 66 34 65 34 62 65 39 64 39 31 34 65  aea3f4e4be9d914e
3760: 65 62 36 31 66 31 37 30 32 65 36 39 36 63 32 30  eb61f1702e696c20
3770: 33 61 31 32 36 38 35 34 2c 2c 2c 0a 2c 2c 2c 2c  3a126854,,,.,,,,
3780: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
3790: 20 52 46 43 20 34 32 33 31 20 48 4d 41 43 20 45   RFC 4231 HMAC E
37a0: 78 61 6d 70 6c 65 73 20 54 65 73 74 20 43 61 73  xamples Test Cas
37b0: 65 20 23 32 20 2d 20 54 65 73 74 20 77 69 74 68  e #2 - Test with
37c0: 20 61 20 6b 65 79 20 73 68 6f 72 74 65 72 20 74   a key shorter t
37d0: 68 61 6e 20 74 68 65 20 6c 65 6e 67 74 68 20 6f  han the length o
37e0: 66 20 74 68 65 20 48 4d 41 43 20 6f 75 74 70 75  f the HMAC outpu
37f0: 74 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  t.,,,,,,,,,.comm
3800: 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 22 22 4a  and,"set key ""J
3810: 65 66 65 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  efe""",,,,,,,,,.
3820: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74  command,"set dat
3830: 61 20 22 22 77 68 61 74 20 64 6f 20 79 61 20 77  a ""what do ya w
3840: 61 6e 74 20 66 6f 72 20 6e 6f 74 68 69 6e 67 3f  ant for nothing?
3850: 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43  """,,,,,,,,,.RFC
3860: 34 32 33 31 20 54 43 32 2c 73 68 61 32 32 34 2c  4231 TC2,sha224,
3870: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
3880: 69 67 65 73 74 20 73 68 61 32 32 34 20 2d 6b 65  igest sha224 -ke
3890: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
38a0: 74 61 2c 2c 2c 61 33 30 65 30 31 30 39 38 62 63  ta,,,a30e01098bc
38b0: 36 64 62 62 66 34 35 36 39 30 66 33 61 37 65 39  6dbbf45690f3a7e9
38c0: 65 36 64 30 66 38 62 62 65 61 32 61 33 39 65 36  e6d0f8bbea2a39e6
38d0: 31 34 38 30 30 38 66 64 30 35 65 34 34 2c 2c 2c  148008fd05e44,,,
38e0: 0a 52 46 43 34 32 33 31 20 54 43 32 2c 73 68 61  .RFC4231 TC2,sha
38f0: 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61  256,,,::tls::hma
3900: 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  c -digest sha256
3910: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
3920: 20 24 64 61 74 61 2c 2c 2c 35 62 64 63 63 31 34   $data,,,5bdcc14
3930: 36 62 66 36 30 37 35 34 65 36 61 30 34 32 34 32  6bf60754e6a04242
3940: 36 30 38 39 35 37 35 63 37 35 61 30 30 33 66 30  6089575c75a003f0
3950: 38 39 64 32 37 33 39 38 33 39 64 65 63 35 38 62  89d2739839dec58b
3960: 39 36 34 65 63 33 38 34 33 2c 2c 2c 0a 52 46 43  964ec3843,,,.RFC
3970: 34 32 33 31 20 54 43 32 2c 73 68 61 33 38 34 2c  4231 TC2,sha384,
3980: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
3990: 69 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65  igest sha384 -ke
39a0: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
39b0: 74 61 2c 2c 2c 61 66 34 35 64 32 65 33 37 36 34  ta,,,af45d2e3764
39c0: 38 34 30 33 31 36 31 37 66 37 38 64 32 62 35 38  84031617f78d2b58
39d0: 61 36 62 31 62 39 63 37 65 66 34 36 34 66 35 61  a6b1b9c7ef464f5a
39e0: 30 31 62 34 37 65 34 32 65 63 33 37 33 36 33 32  01b47e42ec373632
39f0: 32 34 34 35 65 38 65 32 32 34 30 63 61 35 65 36  2445e8e2240ca5e6
3a00: 39 65 32 63 37 38 62 33 32 33 39 65 63 66 61 62  9e2c78b3239ecfab
3a10: 32 31 36 34 39 2c 2c 2c 0a 52 46 43 34 32 33 31  21649,,,.RFC4231
3a20: 20 54 43 32 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a   TC2,sha512,,,::
3a30: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73  tls::hmac -diges
3a40: 74 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24 6b  t sha512 -key $k
3a50: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c  ey -data $data,,
3a60: 2c 31 36 34 62 37 61 37 62 66 63 66 38 31 39 65  ,164b7a7bfcf819e
3a70: 32 65 33 39 35 66 62 65 37 33 62 35 36 65 30 61  2e395fbe73b56e0a
3a80: 33 38 37 62 64 36 34 32 32 32 65 38 33 31 66 64  387bd64222e831fd
3a90: 36 31 30 32 37 30 63 64 37 65 61 32 35 30 35 35  610270cd7ea25055
3aa0: 34 39 37 35 38 62 66 37 35 63 30 35 61 39 39 34  49758bf75c05a994
3ab0: 61 36 64 30 33 34 66 36 35 66 38 66 30 65 36 66  a6d034f65f8f0e6f
3ac0: 64 63 61 65 61 62 31 61 33 34 64 34 61 36 62 34  dcaeab1a34d4a6b4
3ad0: 62 36 33 36 65 30 37 30 61 33 38 62 63 65 37 33  b636e070a38bce73
3ae0: 37 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  7,,,.,,,,,,,,,,.
3af0: 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34 32  command,# RFC 42
3b00: 33 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65 73  31 HMAC Examples
3b10: 20 54 65 73 74 20 43 61 73 65 20 23 33 20 2d 20   Test Case #3 - 
3b20: 54 65 73 74 20 77 69 74 68 20 61 20 63 6f 6d 62  Test with a comb
3b30: 69 6e 65 64 20 6c 65 6e 67 74 68 20 6f 66 20 6b  ined length of k
3b40: 65 79 20 61 6e 64 20 64 61 74 61 20 74 68 61 74  ey and data that
3b50: 20 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20   is larger than 
3b60: 36 34 20 62 79 74 65 73 20 28 3d 20 62 6c 6f 63  64 bytes (= bloc
3b70: 6b 2d 73 69 7a 65 20 6f 66 20 53 48 41 2d 32 32  k-size of SHA-22
3b80: 34 20 61 6e 64 20 53 48 41 2d 32 35 36 29 2e 2c  4 and SHA-256).,
3b90: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
3ba0: 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72  ,"set key [binar
3bb0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73 74  y decode hex [st
3bc0: 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 61 61  ring repeat ""aa
3bd0: 22 22 20 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c  "" 20]]",,,,,,,,
3be0: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64  ,.command,"set d
3bf0: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
3c00: 64 65 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72  de hex [string r
3c10: 65 70 65 61 74 20 22 22 64 64 22 22 20 35 30 5d  epeat ""dd"" 50]
3c20: 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34  ]",,,,,,,,,.RFC4
3c30: 32 33 31 20 54 43 33 2c 73 68 61 32 32 34 2c 2c  231 TC3,sha224,,
3c40: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
3c50: 67 65 73 74 20 73 68 61 32 32 34 20 2d 6b 65 79  gest sha224 -key
3c60: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
3c70: 61 2c 2c 2c 37 66 62 33 63 62 33 35 38 38 63 36  a,,,7fb3cb3588c6
3c80: 63 31 66 36 66 66 61 39 36 39 34 64 37 64 36 61  c1f6ffa9694d7d6a
3c90: 64 32 36 34 39 33 36 35 62 30 63 31 66 36 35 64  d2649365b0c1f65d
3ca0: 36 39 64 31 65 63 38 33 33 33 65 61 2c 2c 2c 0a  69d1ec8333ea,,,.
3cb0: 52 46 43 34 32 33 31 20 54 43 33 2c 73 68 61 32  RFC4231 TC3,sha2
3cc0: 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63  56,,,::tls::hmac
3cd0: 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20   -digest sha256 
3ce0: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
3cf0: 24 64 61 74 61 2c 2c 2c 37 37 33 65 61 39 31 65  $data,,,773ea91e
3d00: 33 36 38 30 30 65 34 36 38 35 34 64 62 38 65 62  36800e46854db8eb
3d10: 64 30 39 31 38 31 61 37 32 39 35 39 30 39 38 62  d09181a72959098b
3d20: 33 65 66 38 63 31 32 32 64 39 36 33 35 35 31 34  3ef8c122d9635514
3d30: 63 65 64 35 36 35 66 65 2c 2c 2c 0a 52 46 43 34  ced565fe,,,.RFC4
3d40: 32 33 31 20 54 43 33 2c 73 68 61 33 38 34 2c 2c  231 TC3,sha384,,
3d50: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
3d60: 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65 79  gest sha384 -key
3d70: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
3d80: 61 2c 2c 2c 38 38 30 36 32 36 30 38 64 33 65 36  a,,,88062608d3e6
3d90: 61 64 38 61 30 61 61 32 61 63 65 30 31 34 63 38  ad8a0aa2ace014c8
3da0: 61 38 36 66 30 61 61 36 33 35 64 39 34 37 61 63  a86f0aa635d947ac
3db0: 39 66 65 62 65 38 33 65 66 34 65 35 35 39 36 36  9febe83ef4e55966
3dc0: 31 34 34 62 32 61 35 61 62 33 39 64 63 31 33 38  144b2a5ab39dc138
3dd0: 31 34 62 39 34 65 33 61 62 36 65 31 30 31 61 33  14b94e3ab6e101a3
3de0: 34 66 32 37 2c 2c 2c 0a 52 46 43 34 32 33 31 20  4f27,,,.RFC4231 
3df0: 54 43 33 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74  TC3,sha512,,,::t
3e00: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
3e10: 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24 6b 65   sha512 -key $ke
3e20: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
3e30: 66 61 37 33 62 30 30 38 39 64 35 36 61 32 38 34  fa73b0089d56a284
3e40: 65 66 62 30 66 30 37 35 36 63 38 39 30 62 65 39  efb0f0756c890be9
3e50: 62 31 62 35 64 62 64 64 38 65 65 38 31 61 33 36  b1b5dbdd8ee81a36
3e60: 35 35 66 38 33 65 33 33 62 32 32 37 39 64 33 39  55f83e33b2279d39
3e70: 62 66 33 65 38 34 38 32 37 39 61 37 32 32 63 38  bf3e848279a722c8
3e80: 30 36 62 34 38 35 61 34 37 65 36 37 63 38 30 37  06b485a47e67c807
3e90: 62 39 34 36 61 33 33 37 62 65 65 38 39 34 32 36  b946a337bee89426
3ea0: 37 34 32 37 38 38 35 39 65 31 33 32 39 32 66 62  74278859e13292fb
3eb0: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
3ec0: 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34 32 33  ommand,# RFC 423
3ed0: 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65 73 20  1 HMAC Examples 
3ee0: 54 65 73 74 20 43 61 73 65 20 23 34 20 2d 20 54  Test Case #4 - T
3ef0: 65 73 74 20 77 69 74 68 20 61 20 63 6f 6d 62 69  est with a combi
3f00: 6e 65 64 20 6c 65 6e 67 74 68 20 6f 66 20 6b 65  ned length of ke
3f10: 79 20 61 6e 64 20 64 61 74 61 20 74 68 61 74 20  y and data that 
3f20: 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 36  is larger than 6
3f30: 34 20 62 79 74 65 73 20 28 3d 20 62 6c 6f 63 6b  4 bytes (= block
3f40: 2d 73 69 7a 65 20 6f 66 20 53 48 41 2d 32 32 34  -size of SHA-224
3f50: 20 61 6e 64 20 53 48 41 2d 32 35 36 29 2e 2c 2c   and SHA-256).,,
3f60: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
3f70: 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79  "set key [binary
3f80: 20 64 65 63 6f 64 65 20 68 65 78 20 22 22 30 31   decode hex ""01
3f90: 30 32 30 33 30 34 30 35 30 36 30 37 30 38 30 39  0203040506070809
3fa0: 30 61 30 62 30 63 30 64 30 65 30 66 31 30 31 31  0a0b0c0d0e0f1011
3fb0: 31 32 31 33 31 34 31 35 31 36 31 37 31 38 31 39  1213141516171819
3fc0: 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ""]",,,,,,,,,.co
3fd0: 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20  mmand,"set data 
3fe0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
3ff0: 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61  ex [string repea
4000: 74 20 22 22 63 64 22 22 20 35 30 5d 5d 22 2c 2c  t ""cd"" 50]]",,
4010: 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 20  ,,,,,,,.RFC4231 
4020: 54 43 34 2c 73 68 61 32 32 34 2c 2c 2c 3a 3a 74  TC4,sha224,,,::t
4030: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
4040: 20 73 68 61 32 32 34 20 2d 6b 65 79 20 24 6b 65   sha224 -key $ke
4050: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
4060: 36 63 31 31 35 30 36 38 37 34 30 31 33 63 61 63  6c11506874013cac
4070: 36 61 32 61 62 63 31 62 62 33 38 32 36 32 37 63  6a2abc1bb382627c
4080: 65 63 36 61 39 30 64 38 36 65 66 63 30 31 32 64  ec6a90d86efc012d
4090: 65 37 61 66 65 63 35 61 2c 2c 2c 0a 52 46 43 34  e7afec5a,,,.RFC4
40a0: 32 33 31 20 54 43 34 2c 73 68 61 32 35 36 2c 2c  231 TC4,sha256,,
40b0: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
40c0: 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79  gest sha256 -key
40d0: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
40e0: 61 2c 2c 2c 38 32 35 35 38 61 33 38 39 61 34 34  a,,,82558a389a44
40f0: 33 63 30 65 61 34 63 63 38 31 39 38 39 39 66 32  3c0ea4cc819899f2
4100: 30 38 33 61 38 35 66 30 66 61 61 33 65 35 37 38  083a85f0faa3e578
4110: 66 38 30 37 37 61 32 65 33 66 66 34 36 37 32 39  f8077a2e3ff46729
4120: 36 36 35 62 2c 2c 2c 0a 52 46 43 34 32 33 31 20  665b,,,.RFC4231 
4130: 54 43 34 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a 74  TC4,sha384,,,::t
4140: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
4150: 20 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b 65   sha384 -key $ke
4160: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
4170: 33 65 38 61 36 39 62 37 37 38 33 63 32 35 38 35  3e8a69b7783c2585
4180: 31 39 33 33 61 62 36 32 39 30 61 66 36 63 61 37  1933ab6290af6ca7
4190: 37 61 39 39 38 31 34 38 30 38 35 30 30 30 39 63  7a9981480850009c
41a0: 63 35 35 37 37 63 36 65 31 66 35 37 33 62 34 65  c5577c6e1f573b4e
41b0: 36 38 30 31 64 64 32 33 63 34 61 37 64 36 37 39  6801dd23c4a7d679
41c0: 63 63 66 38 61 33 38 36 63 36 37 34 63 66 66 62  ccf8a386c674cffb
41d0: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 34 2c  ,,,.RFC4231 TC4,
41e0: 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha512,,,::tls::
41f0: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61  hmac -digest sha
4200: 35 31 32 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  512 -key $key -d
4210: 61 74 61 20 24 64 61 74 61 2c 2c 2c 62 30 62 61  ata $data,,,b0ba
4220: 34 36 35 36 33 37 34 35 38 63 36 39 39 30 65 35  465637458c6990e5
4230: 61 38 63 35 66 36 31 64 34 61 66 37 65 35 37 36  a8c5f61d4af7e576
4240: 64 39 37 66 66 39 34 62 38 37 32 64 65 37 36 66  d97ff94b872de76f
4250: 38 30 35 30 33 36 31 65 65 33 64 62 61 39 31 63  8050361ee3dba91c
4260: 61 35 63 31 31 61 61 32 35 65 62 34 64 36 37 39  a5c11aa25eb4d679
4270: 32 37 35 63 63 35 37 38 38 30 36 33 61 35 66 31  275cc5788063a5f1
4280: 39 37 34 31 31 32 30 63 34 66 32 64 65 32 61 64  9741120c4f2de2ad
4290: 65 62 65 62 31 30 61 32 39 38 64 64 2c 2c 2c 0a  ebeb10a298dd,,,.
42a0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ,,,,,,,,,,.comma
42b0: 6e 64 2c 23 20 52 46 43 20 34 32 33 31 20 48 4d  nd,# RFC 4231 HM
42c0: 41 43 20 45 78 61 6d 70 6c 65 73 20 54 65 73 74  AC Examples Test
42d0: 20 43 61 73 65 20 23 35 20 2d 20 54 65 73 74 20   Case #5 - Test 
42e0: 77 69 74 68 20 61 20 74 72 75 6e 63 61 74 69 6f  with a truncatio
42f0: 6e 20 6f 66 20 6f 75 74 70 75 74 20 74 6f 20 31  n of output to 1
4300: 32 38 20 62 69 74 73 2e 2c 2c 2c 2c 2c 2c 2c 2c  28 bits.,,,,,,,,
4310: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b  ,.command,"set k
4320: 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ey [binary decod
4330: 65 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65  e hex [string re
4340: 70 65 61 74 20 22 22 30 63 22 22 20 32 30 5d 5d  peat ""0c"" 20]]
4350: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ",,,,,,,,,.comma
4360: 6e 64 2c 22 73 65 74 20 64 61 74 61 20 22 22 54  nd,"set data ""T
4370: 65 73 74 20 57 69 74 68 20 54 72 75 6e 63 61 74  est With Truncat
4380: 69 6f 6e 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  ion""",,,,,,,,,.
4390: 52 46 43 34 32 33 31 20 54 43 35 2c 73 68 61 32  RFC4231 TC5,sha2
43a0: 32 34 2c 2c 2c 73 74 72 69 6e 67 20 72 61 6e 67  24,,,string rang
43b0: 65 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  e [::tls::hmac -
43c0: 64 69 67 65 73 74 20 73 68 61 32 32 34 20 2d 6b  digest sha224 -k
43d0: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
43e0: 61 74 61 5d 20 30 20 33 31 2c 2c 2c 30 65 32 61  ata] 0 31,,,0e2a
43f0: 65 61 36 38 61 39 30 63 38 64 33 37 63 39 38 38  ea68a90c8d37c988
4400: 62 63 64 62 39 66 63 61 36 66 61 38 2c 2c 2c 0a  bcdb9fca6fa8,,,.
4410: 52 46 43 34 32 33 31 20 54 43 35 2c 73 68 61 32  RFC4231 TC5,sha2
4420: 35 36 2c 2c 2c 73 74 72 69 6e 67 20 72 61 6e 67  56,,,string rang
4430: 65 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  e [::tls::hmac -
4440: 64 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b  digest sha256 -k
4450: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
4460: 61 74 61 5d 20 30 20 33 31 2c 2c 2c 61 33 62 36  ata] 0 31,,,a3b6
4470: 31 36 37 34 37 33 31 30 30 65 65 30 36 65 30 63  167473100ee06e0c
4480: 37 39 36 63 32 39 35 35 35 35 32 62 2c 2c 2c 0a  796c2955552b,,,.
4490: 52 46 43 34 32 33 31 20 54 43 35 2c 73 68 61 33  RFC4231 TC5,sha3
44a0: 38 34 2c 2c 2c 73 74 72 69 6e 67 20 72 61 6e 67  84,,,string rang
44b0: 65 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  e [::tls::hmac -
44c0: 64 69 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b  digest sha384 -k
44d0: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
44e0: 61 74 61 5d 20 30 20 33 31 2c 2c 2c 33 61 62 66  ata] 0 31,,,3abf
44f0: 33 34 63 33 35 30 33 62 32 61 32 33 61 34 36 65  34c3503b2a23a46e
4500: 66 63 36 31 39 62 61 65 66 38 39 37 2c 2c 2c 0a  fc619baef897,,,.
4510: 52 46 43 34 32 33 31 20 54 43 35 2c 73 68 61 35  RFC4231 TC5,sha5
4520: 31 32 2c 2c 2c 73 74 72 69 6e 67 20 72 61 6e 67  12,,,string rang
4530: 65 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  e [::tls::hmac -
4540: 64 69 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b  digest sha512 -k
4550: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
4560: 61 74 61 5d 20 30 20 33 31 2c 2c 2c 34 31 35 66  ata] 0 31,,,415f
4570: 61 64 36 32 37 31 35 38 30 61 35 33 31 64 34 31  ad6271580a531d41
4580: 37 39 62 63 38 39 31 64 38 37 61 36 2c 2c 2c 0a  79bc891d87a6,,,.
4590: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ,,,,,,,,,,.comma
45a0: 6e 64 2c 23 20 52 46 43 20 34 32 33 31 20 48 4d  nd,# RFC 4231 HM
45b0: 41 43 20 45 78 61 6d 70 6c 65 73 20 54 65 73 74  AC Examples Test
45c0: 20 43 61 73 65 20 23 36 20 2d 20 54 65 73 74 20   Case #6 - Test 
45d0: 77 69 74 68 20 61 20 6b 65 79 20 6c 61 72 67 65  with a key large
45e0: 72 20 74 68 61 6e 20 31 32 38 20 62 79 74 65 73  r than 128 bytes
45f0: 20 28 3d 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f   (= block-size o
4600: 66 20 53 48 41 2d 33 38 34 20 61 6e 64 20 53 48  f SHA-384 and SH
4610: 41 2d 35 31 32 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c  A-512).,,,,,,,,,
4620: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65  .command,"set ke
4630: 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  y [binary decode
4640: 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70   hex [string rep
4650: 65 61 74 20 22 22 61 61 22 22 20 31 33 31 5d 5d  eat ""aa"" 131]]
4660: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ",,,,,,,,,.comma
4670: 6e 64 2c 22 73 65 74 20 64 61 74 61 20 22 22 54  nd,"set data ""T
4680: 65 73 74 20 55 73 69 6e 67 20 4c 61 72 67 65 72  est Using Larger
4690: 20 54 68 61 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65   Than Block-Size
46a0: 20 4b 65 79 20 2d 20 48 61 73 68 20 4b 65 79 20   Key - Hash Key 
46b0: 46 69 72 73 74 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c  First""",,,,,,,,
46c0: 2c 0a 52 46 43 34 32 33 31 20 54 43 36 2c 73 68  ,.RFC4231 TC6,sh
46d0: 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d  a224,,,::tls::hm
46e0: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32  ac -digest sha22
46f0: 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  4 -key $key -dat
4700: 61 20 24 64 61 74 61 2c 2c 2c 39 35 65 39 61 30  a $data,,,95e9a0
4710: 64 62 39 36 32 30 39 35 61 64 61 65 62 65 39 62  db962095adaebe9b
4720: 32 64 36 66 30 64 62 63 65 32 64 34 39 39 66 31  2d6f0dbce2d499f1
4730: 31 32 66 32 64 32 62 37 32 37 33 66 61 36 38 37  12f2d2b7273fa687
4740: 30 65 2c 2c 2c 0a 52 46 43 34 32 33 31 20 54 43  0e,,,.RFC4231 TC
4750: 36 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73  6,sha256,,,::tls
4760: 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73  ::hmac -digest s
4770: 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65 79 20  ha256 -key $key 
4780: 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 36 30  -data $data,,,60
4790: 65 34 33 31 35 39 31 65 65 30 62 36 37 66 30 64  e431591ee0b67f0d
47a0: 38 61 32 36 61 61 63 62 66 35 62 37 37 66 38 65  8a26aacbf5b77f8e
47b0: 30 62 63 36 32 31 33 37 32 38 63 35 31 34 30 35  0bc6213728c51405
47c0: 34 36 30 34 30 66 30 65 65 33 37 66 35 34 2c 2c  46040f0ee37f54,,
47d0: 2c 0a 52 46 43 34 32 33 31 20 54 43 36 2c 73 68  ,.RFC4231 TC6,sh
47e0: 61 33 38 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d  a384,,,::tls::hm
47f0: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 33 38  ac -digest sha38
4800: 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  4 -key $key -dat
4810: 61 20 24 64 61 74 61 2c 2c 2c 34 65 63 65 30 38  a $data,,,4ece08
4820: 34 34 38 35 38 31 33 65 39 30 38 38 64 32 63 36  4485813e9088d2c6
4830: 33 61 30 34 31 62 63 35 62 34 34 66 39 65 66 31  3a041bc5b44f9ef1
4840: 30 31 32 61 32 62 35 38 38 66 33 63 64 31 31 66  012a2b588f3cd11f
4850: 30 35 30 33 33 61 63 34 63 36 30 63 32 65 66 36  05033ac4c60c2ef6
4860: 61 62 34 30 33 30 66 65 38 32 39 36 32 34 38 64  ab4030fe8296248d
4870: 66 31 36 33 66 34 34 39 35 32 2c 2c 2c 0a 52 46  f163f44952,,,.RF
4880: 43 34 32 33 31 20 54 43 36 2c 73 68 61 35 31 32  C4231 TC6,sha512
4890: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
48a0: 64 69 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b  digest sha512 -k
48b0: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
48c0: 61 74 61 2c 2c 2c 38 30 62 32 34 32 36 33 63 37  ata,,,80b24263c7
48d0: 63 31 61 33 65 62 62 37 31 34 39 33 63 31 64 64  c1a3ebb71493c1dd
48e0: 37 62 65 38 62 34 39 62 34 36 64 31 66 34 31 62  7be8b49b46d1f41b
48f0: 34 61 65 65 63 31 31 32 31 62 30 31 33 37 38 33  4aeec1121b013783
4900: 66 38 66 33 35 32 36 62 35 36 64 30 33 37 65 30  f8f3526b56d037e0
4910: 35 66 32 35 39 38 62 64 30 66 64 32 32 31 35 64  5f2598bd0fd2215d
4920: 36 61 31 65 35 32 39 35 65 36 34 66 37 33 66 36  6a1e5295e64f73f6
4930: 33 66 30 61 65 63 38 62 39 31 35 61 39 38 35 64  3f0aec8b915a985d
4940: 37 38 36 35 39 38 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  786598,,,.,,,,,,
4950: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52  ,,,,.command,# R
4960: 46 43 20 34 32 33 31 20 48 4d 41 43 20 45 78 61  FC 4231 HMAC Exa
4970: 6d 70 6c 65 73 20 54 65 73 74 20 43 61 73 65 20  mples Test Case 
4980: 23 37 20 2d 20 54 65 73 74 20 77 69 74 68 20 61  #7 - Test with a
4990: 20 6b 65 79 20 61 6e 64 20 64 61 74 61 20 74 68   key and data th
49a0: 61 74 20 69 73 20 6c 61 72 67 65 72 20 74 68 61  at is larger tha
49b0: 6e 20 31 32 38 20 62 79 74 65 73 20 28 3d 20 62  n 128 bytes (= b
49c0: 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20 53 48 41  lock-size of SHA
49d0: 2d 33 38 34 20 61 6e 64 20 53 48 41 2d 35 31 32  -384 and SHA-512
49e0: 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  ).,,,,,,,,,.comm
49f0: 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 69  and,"set key [bi
4a00: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
4a10: 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22  [string repeat "
4a20: 22 61 61 22 22 20 31 33 31 5d 5d 22 2c 2c 2c 2c  "aa"" 131]]",,,,
4a30: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
4a40: 65 74 20 64 61 74 61 20 22 22 54 68 69 73 20 69  et data ""This i
4a50: 73 20 61 20 74 65 73 74 20 75 73 69 6e 67 20 61  s a test using a
4a60: 20 6c 61 72 67 65 72 20 74 68 61 6e 20 62 6c 6f   larger than blo
4a70: 63 6b 2d 73 69 7a 65 20 6b 65 79 20 61 6e 64 20  ck-size key and 
4a80: 61 20 6c 61 72 67 65 72 20 74 68 61 6e 20 62 6c  a larger than bl
4a90: 6f 63 6b 2d 73 69 7a 65 20 64 61 74 61 2e 20 54  ock-size data. T
4aa0: 68 65 20 6b 65 79 20 6e 65 65 64 73 20 74 6f 20  he key needs to 
4ab0: 62 65 20 68 61 73 68 65 64 20 62 65 66 6f 72 65  be hashed before
4ac0: 20 62 65 69 6e 67 20 75 73 65 64 20 62 79 20 74   being used by t
4ad0: 68 65 20 48 4d 41 43 20 61 6c 67 6f 72 69 74 68  he HMAC algorith
4ae0: 6d 2e 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52  m.""",,,,,,,,,.R
4af0: 46 43 34 32 33 31 20 54 43 37 2c 73 68 61 32 32  FC4231 TC7,sha22
4b00: 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  4,,,::tls::hmac 
4b10: 2d 64 69 67 65 73 74 20 73 68 61 32 32 34 20 2d  -digest sha224 -
4b20: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
4b30: 64 61 74 61 2c 2c 2c 33 61 38 35 34 31 36 36 61  data,,,3a854166a
4b40: 63 35 64 39 66 30 32 33 66 35 34 64 35 31 37 64  c5d9f023f54d517d
4b50: 30 62 33 39 64 62 64 39 34 36 37 37 30 64 62 39  0b39dbd946770db9
4b60: 63 32 62 39 35 63 39 66 36 66 35 36 35 64 31 2c  c2b95c9f6f565d1,
4b70: 2c 2c 0a 52 46 43 34 32 33 31 20 54 43 37 2c 73  ,,.RFC4231 TC7,s
4b80: 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68  ha256,,,::tls::h
4b90: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32  mac -digest sha2
4ba0: 35 36 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  56 -key $key -da
4bb0: 74 61 20 24 64 61 74 61 2c 2c 2c 39 62 30 39 66  ta $data,,,9b09f
4bc0: 66 61 37 31 62 39 34 32 66 63 62 32 37 36 33 35  fa71b942fcb27635
4bd0: 66 62 63 64 35 62 30 65 39 34 34 62 66 64 63 36  fbcd5b0e944bfdc6
4be0: 33 36 34 34 66 30 37 31 33 39 33 38 61 37 66 35  3644f0713938a7f5
4bf0: 31 35 33 35 63 33 61 33 35 65 32 2c 2c 2c 0a 52  1535c3a35e2,,,.R
4c00: 46 43 34 32 33 31 20 54 43 37 2c 73 68 61 33 38  FC4231 TC7,sha38
4c10: 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  4,,,::tls::hmac 
4c20: 2d 64 69 67 65 73 74 20 73 68 61 33 38 34 20 2d  -digest sha384 -
4c30: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
4c40: 64 61 74 61 2c 2c 2c 36 36 31 37 31 37 38 65 39  data,,,6617178e9
4c50: 34 31 66 30 32 30 64 33 35 31 65 32 66 32 35 34  41f020d351e2f254
4c60: 65 38 66 64 33 32 63 36 30 32 34 32 30 66 65 62  e8fd32c602420feb
4c70: 30 62 38 66 62 39 61 64 63 63 65 62 62 38 32 34  0b8fb9adccebb824
4c80: 36 31 65 39 39 63 35 61 36 37 38 63 63 33 31 65  61e99c5a678cc31e
4c90: 37 39 39 31 37 36 64 33 38 36 30 65 36 31 31 30  799176d3860e6110
4ca0: 63 34 36 35 32 33 65 2c 2c 2c 0a 52 46 43 34 32  c46523e,,,.RFC42
4cb0: 33 31 20 54 43 37 2c 73 68 61 35 31 32 2c 2c 2c  31 TC7,sha512,,,
4cc0: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
4cd0: 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79 20  est sha512 -key 
4ce0: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
4cf0: 2c 2c 2c 65 33 37 62 36 61 37 37 35 64 63 38 37  ,,,e37b6a775dc87
4d00: 64 62 61 61 34 64 66 61 39 66 39 36 65 35 65 33  dbaa4dfa9f96e5e3
4d10: 66 66 64 64 65 62 64 37 31 66 38 38 36 37 32 38  ffddebd71f886728
4d20: 39 38 36 35 64 66 35 61 33 32 64 32 30 63 64 63  9865df5a32d20cdc
4d30: 39 34 34 62 36 30 32 32 63 61 63 33 63 34 39 38  944b6022cac3c498
4d40: 32 62 31 30 64 35 65 65 62 35 35 63 33 65 34 64  2b10d5eeb55c3e4d
4d50: 65 31 35 31 33 34 36 37 36 66 62 36 64 65 30 34  e15134676fb6de04
4d60: 34 36 30 36 35 63 39 37 34 34 30 66 61 38 63 36  46065c97440fa8c6
4d70: 61 35 38 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c  a58,,,.,,,,,,,,,
4d80: 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 4e 49 53 54  ,.command,# NIST
4d90: 20 38 30 30 2d 33 38 62 20 52 65 63 6f 6d 6d 65   800-38b Recomme
4da0: 6e 64 61 74 69 6f 6e 20 66 6f 72 20 42 6c 6f 63  ndation for Bloc
4db0: 6b 20 43 69 70 68 65 72 20 4d 6f 64 65 73 20 6f  k Cipher Modes o
4dc0: 66 20 4f 70 65 72 61 74 69 6f 6e 3a 20 54 68 65  f Operation: The
4dd0: 20 43 4d 41 43 20 4d 6f 64 65 20 66 6f 72 20 41   CMAC Mode for A
4de0: 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2c 2c 2c  uthentication,,,
4df0: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
4e00: 20 41 45 53 2d 31 32 38 2c 2c 2c 2c 2c 2c 2c 2c   AES-128,,,,,,,,
4e10: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b  ,.command,"set k
4e20: 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ey [binary decod
4e30: 65 20 68 65 78 20 22 22 32 62 37 65 31 35 31 36  e hex ""2b7e1516
4e40: 32 38 61 65 64 32 61 36 61 62 66 37 31 35 38 38  28aed2a6abf71588
4e50: 30 39 63 66 34 66 33 63 22 22 5d 22 2c 2c 2c 2c  09cf4f3c""]",,,,
4e60: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
4e70: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
4e80: 64 65 63 6f 64 65 20 68 65 78 20 22 22 36 62 63  decode hex ""6bc
4e90: 31 62 65 65 32 32 65 34 30 39 66 39 36 65 39 33  1bee22e409f96e93
4ea0: 64 37 65 31 31 37 33 39 33 31 37 32 61 22 22 5d  d7e117393172a""]
4eb0: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38  ",,,,,,,,,.NIST8
4ec0: 30 30 2d 33 38 62 2d 41 45 53 31 32 38 2c 6c 65  00-38b-AES128,le
4ed0: 6e 3d 31 32 38 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63  n=128,,,::tls::c
4ee0: 6d 61 63 20 2d 63 69 70 68 65 72 20 61 65 73 2d  mac -cipher aes-
4ef0: 31 32 38 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65  128-cbc -key $ke
4f00: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
4f10: 30 37 30 61 31 36 62 34 36 62 34 64 34 31 34 34  070a16b46b4d4144
4f20: 66 37 39 62 64 64 39 64 64 30 34 61 32 38 37 63  f79bdd9dd04a287c
4f30: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
4f40: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
4f50: 63 6f 64 65 20 68 65 78 20 22 22 36 62 63 31 62  code hex ""6bc1b
4f60: 65 65 32 32 65 34 30 39 66 39 36 65 39 33 64 37  ee22e409f96e93d7
4f70: 65 31 31 37 33 39 33 31 37 32 61 61 65 32 64 38  e117393172aae2d8
4f80: 61 35 37 31 65 30 33 61 63 39 63 39 65 62 37 36  a571e03ac9c9eb76
4f90: 66 61 63 34 35 61 66 38 65 35 31 33 30 63 38 31  fac45af8e5130c81
4fa0: 63 34 36 61 33 35 63 65 34 31 31 22 22 5d 22 2c  c46a35ce411""]",
4fb0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30  ,,,,,,,,.NIST800
4fc0: 2d 33 38 62 2d 41 45 53 31 32 38 2c 6c 65 6e 3d  -38b-AES128,len=
4fd0: 33 32 30 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61  320,,,::tls::cma
4fe0: 63 20 2d 63 69 70 68 65 72 20 61 65 73 2d 31 32  c -cipher aes-12
4ff0: 38 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20  8-cbc -key $key 
5000: 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 64 66  -data $data,,,df
5010: 61 36 36 37 34 37 64 65 39 61 65 36 33 30 33 30  a66747de9ae63030
5020: 63 61 33 32 36 31 31 34 39 37 63 38 32 37 2c 2c  ca32611497c827,,
5030: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64  ,.command,"set d
5040: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
5050: 64 65 20 68 65 78 20 22 22 36 62 63 31 62 65 65  de hex ""6bc1bee
5060: 32 32 65 34 30 39 66 39 36 65 39 33 64 37 65 31  22e409f96e93d7e1
5070: 31 37 33 39 33 31 37 32 61 61 65 32 64 38 61 35  17393172aae2d8a5
5080: 37 31 65 30 33 61 63 39 63 39 65 62 37 36 66 61  71e03ac9c9eb76fa
5090: 63 34 35 61 66 38 65 35 31 33 30 63 38 31 63 34  c45af8e5130c81c4
50a0: 36 61 33 35 63 65 34 31 31 65 35 66 62 63 31 31  6a35ce411e5fbc11
50b0: 39 31 61 30 61 35 32 65 66 66 36 39 66 32 34 34  91a0a52eff69f244
50c0: 35 64 66 34 66 39 62 31 37 61 64 32 62 34 31 37  5df4f9b17ad2b417
50d0: 62 65 36 36 63 33 37 31 30 22 22 5d 22 2c 2c 2c  be66c3710""]",,,
50e0: 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33  ,,,,,,.NIST800-3
50f0: 38 62 2d 41 45 53 31 32 38 2c 6c 65 6e 3d 35 31  8b-AES128,len=51
5100: 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  2,,,::tls::cmac 
5110: 2d 63 69 70 68 65 72 20 61 65 73 2d 31 32 38 2d  -cipher aes-128-
5120: 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  cbc -key $key -d
5130: 61 74 61 20 24 64 61 74 61 2c 2c 2c 35 31 66 30  ata $data,,,51f0
5140: 62 65 62 66 37 65 33 62 39 64 39 32 66 63 34 39  bebf7e3b9d92fc49
5150: 37 34 31 37 37 39 33 36 33 63 66 65 2c 2c 2c 0a  741779363cfe,,,.
5160: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ,,,,,,,,,,.comma
5170: 6e 64 2c 23 20 41 45 53 2d 31 39 32 2c 2c 2c 2c  nd,# AES-192,,,,
5180: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
5190: 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 64  et key [binary d
51a0: 65 63 6f 64 65 20 68 65 78 20 22 22 38 65 37 33  ecode hex ""8e73
51b0: 62 30 66 37 64 61 30 65 36 34 35 32 63 38 31 30  b0f7da0e6452c810
51c0: 66 33 32 62 38 30 39 30 37 39 65 35 36 32 66 38  f32b809079e562f8
51d0: 65 61 64 32 35 32 32 63 36 62 37 62 22 22 5d 22  ead2522c6b7b""]"
51e0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
51f0: 64 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69 6e  d,"set data [bin
5200: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 22  ary decode hex "
5210: 22 36 62 63 31 62 65 65 32 32 65 34 30 39 66 39  "6bc1bee22e409f9
5220: 36 65 39 33 64 37 65 31 31 37 33 39 33 31 37 32  6e93d7e117393172
5230: 61 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e  a""]",,,,,,,,,.N
5240: 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53 2d 31  IST800-38b-AES-1
5250: 39 32 2c 6c 65 6e 3d 31 32 38 2c 2c 2c 3a 3a 74  92,len=128,,,::t
5260: 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72  ls::cmac -cipher
5270: 20 61 65 73 2d 31 39 32 2d 63 62 63 20 2d 6b 65   aes-192-cbc -ke
5280: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
5290: 74 61 2c 2c 2c 39 65 39 39 61 37 62 66 33 31 65  ta,,,9e99a7bf31e
52a0: 37 31 30 39 30 30 36 36 32 66 36 35 65 36 31 37  710900662f65e617
52b0: 63 35 31 38 34 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  c5184,,,.command
52c0: 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61  ,"set data [bina
52d0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 22 22  ry decode hex ""
52e0: 36 62 63 31 62 65 65 32 32 65 34 30 39 66 39 36  6bc1bee22e409f96
52f0: 65 39 33 64 37 65 31 31 37 33 39 33 31 37 32 61  e93d7e117393172a
5300: 61 65 32 64 38 61 35 37 31 65 30 33 61 63 39 63  ae2d8a571e03ac9c
5310: 39 65 62 37 36 66 61 63 34 35 61 66 38 65 35 31  9eb76fac45af8e51
5320: 33 30 63 38 31 63 34 36 61 33 35 63 65 34 31 31  30c81c46a35ce411
5330: 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49  ""]",,,,,,,,,.NI
5340: 53 54 38 30 30 2d 33 38 62 2d 41 45 53 2d 31 39  ST800-38b-AES-19
5350: 32 2c 6c 65 6e 3d 33 32 30 2c 2c 2c 3a 3a 74 6c  2,len=320,,,::tl
5360: 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20  s::cmac -cipher 
5370: 61 65 73 2d 31 39 32 2d 63 62 63 20 2d 6b 65 79  aes-192-cbc -key
5380: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
5390: 61 2c 2c 2c 38 61 31 64 65 35 62 65 32 65 62 33  a,,,8a1de5be2eb3
53a0: 31 61 61 64 30 38 39 61 38 32 65 36 65 65 39 30  1aad089a82e6ee90
53b0: 38 62 30 65 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  8b0e,,,.command,
53c0: 22 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  "set data [binar
53d0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 22 22 36  y decode hex ""6
53e0: 62 63 31 62 65 65 32 32 65 34 30 39 66 39 36 65  bc1bee22e409f96e
53f0: 39 33 64 37 65 31 31 37 33 39 33 31 37 32 61 61  93d7e117393172aa
5400: 65 32 64 38 61 35 37 31 65 30 33 61 63 39 63 39  e2d8a571e03ac9c9
5410: 65 62 37 36 66 61 63 34 35 61 66 38 65 35 31 33  eb76fac45af8e513
5420: 30 63 38 31 63 34 36 61 33 35 63 65 34 31 31 65  0c81c46a35ce411e
5430: 35 66 62 63 31 31 39 31 61 30 61 35 32 65 66 66  5fbc1191a0a52eff
5440: 36 39 66 32 34 34 35 64 66 34 66 39 62 31 37 61  69f2445df4f9b17a
5450: 64 32 62 34 31 37 62 65 36 36 63 33 37 31 30 22  d2b417be66c3710"
5460: 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53  "]",,,,,,,,,.NIS
5470: 54 38 30 30 2d 33 38 62 2d 41 45 53 2d 31 39 32  T800-38b-AES-192
5480: 2c 6c 65 6e 3d 35 31 32 2c 2c 2c 3a 3a 74 6c 73  ,len=512,,,::tls
5490: 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20 61  ::cmac -cipher a
54a0: 65 73 2d 31 39 32 2d 63 62 63 20 2d 6b 65 79 20  es-192-cbc -key 
54b0: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
54c0: 2c 2c 2c 61 31 64 35 64 66 30 65 65 64 37 39 30  ,,,a1d5df0eed790
54d0: 66 37 39 34 64 37 37 35 38 39 36 35 39 66 33 39  f794d77589659f39
54e0: 61 31 31 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c  a11,,,.,,,,,,,,,
54f0: 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 41 45 53 2d  ,.command,# AES-
5500: 32 35 36 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  256,,,,,,,,,.com
5510: 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62  mand,"set key [b
5520: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
5530: 20 22 22 36 30 33 64 65 62 31 30 31 35 63 61 37   ""603deb1015ca7
5540: 31 62 65 32 62 37 33 61 65 66 30 38 35 37 64 37  1be2b73aef0857d7
5550: 37 38 31 31 66 33 35 32 63 30 37 33 62 36 31 30  7811f352c073b610
5560: 38 64 37 32 64 39 38 31 30 61 33 30 39 31 34 64  8d72d9810a30914d
5570: 66 66 34 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c  ff4""]",,,,,,,,,
5580: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61  .command,"set da
5590: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
55a0: 65 20 68 65 78 20 22 22 36 62 63 31 62 65 65 32  e hex ""6bc1bee2
55b0: 32 65 34 30 39 66 39 36 65 39 33 64 37 65 31 31  2e409f96e93d7e11
55c0: 37 33 39 33 31 37 32 61 22 22 5d 22 2c 2c 2c 2c  7393172a""]",,,,
55d0: 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38  ,,,,,.NIST800-38
55e0: 62 2d 41 45 53 2d 32 35 36 2c 6c 65 6e 3d 31 32  b-AES-256,len=12
55f0: 38 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  8,,,::tls::cmac 
5600: 2d 63 69 70 68 65 72 20 61 65 73 2d 32 35 36 2d  -cipher aes-256-
5610: 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  cbc -key $key -d
5620: 61 74 61 20 24 64 61 74 61 2c 2c 2c 32 38 61 37  ata $data,,,28a7
5630: 30 32 33 66 34 35 32 65 38 66 38 32 62 64 34 62  023f452e8f82bd4b
5640: 66 32 38 64 38 63 33 37 63 33 35 63 2c 2c 2c 0a  f28d8c37c35c,,,.
5650: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74  command,"set dat
5660: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
5670: 20 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32   hex ""6bc1bee22
5680: 65 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37  e409f96e93d7e117
5690: 33 39 33 31 37 32 61 61 65 32 64 38 61 35 37 31  393172aae2d8a571
56a0: 65 30 33 61 63 39 63 39 65 62 37 36 66 61 63 34  e03ac9c9eb76fac4
56b0: 35 61 66 38 65 35 31 33 30 63 38 31 63 34 36 61  5af8e5130c81c46a
56c0: 33 35 63 65 34 31 31 22 22 5d 22 2c 2c 2c 2c 2c  35ce411""]",,,,,
56d0: 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62  ,,,,.NIST800-38b
56e0: 2d 41 45 53 2d 32 35 36 2c 6c 65 6e 3d 33 32 30  -AES-256,len=320
56f0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d  ,,,::tls::cmac -
5700: 63 69 70 68 65 72 20 61 65 73 2d 32 35 36 2d 63  cipher aes-256-c
5710: 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  bc -key $key -da
5720: 74 61 20 24 64 61 74 61 2c 2c 2c 61 61 66 33 64  ta $data,,,aaf3d
5730: 38 66 31 64 65 35 36 34 30 63 32 33 32 66 35 62  8f1de5640c232f5b
5740: 31 36 39 62 39 63 39 31 31 65 36 2c 2c 2c 0a 63  169b9c911e6,,,.c
5750: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61  ommand,"set data
5760: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
5770: 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65  hex ""6bc1bee22e
5780: 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33  409f96e93d7e1173
5790: 39 33 31 37 32 61 61 65 32 64 38 61 35 37 31 65  93172aae2d8a571e
57a0: 30 33 61 63 39 63 39 65 62 37 36 66 61 63 34 35  03ac9c9eb76fac45
57b0: 61 66 38 65 35 31 33 30 63 38 31 63 34 36 61 33  af8e5130c81c46a3
57c0: 35 63 65 34 31 31 65 35 66 62 63 31 31 39 31 61  5ce411e5fbc1191a
57d0: 30 61 35 32 65 66 66 36 39 66 32 34 34 35 64 66  0a52eff69f2445df
57e0: 34 66 39 62 31 37 61 64 32 62 34 31 37 62 65 36  4f9b17ad2b417be6
57f0: 36 63 33 37 31 30 22 22 5d 22 2c 2c 2c 2c 2c 2c  6c3710""]",,,,,,
5800: 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d  ,,,.NIST800-38b-
5810: 41 45 53 2d 32 35 36 2c 6c 65 6e 3d 35 31 32 2c  AES-256,len=512,
5820: 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63  ,,::tls::cmac -c
5830: 69 70 68 65 72 20 61 65 73 2d 32 35 36 2d 63 62  ipher aes-256-cb
5840: 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  c -key $key -dat
5850: 61 20 24 64 61 74 61 2c 2c 2c 65 31 39 39 32 31  a $data,,,e19921
5860: 39 30 35 34 39 66 36 65 64 35 36 39 36 61 32 63  90549f6ed5696a2c
5870: 30 35 36 63 33 31 35 34 31 30 2c 2c 2c 0a 2c 2c  056c315410,,,.,,
5880: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
5890: 2c 23 20 43 6c 65 61 6e 75 70 2c 2c 2c 2c 2c 2c  ,# Cleanup,,,,,,
58a0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 3a 3a 74 63  ,,,.command,::tc
58b0: 6c 74 65 73 74 3a 3a 72 65 6d 6f 76 65 46 69 6c  ltest::removeFil
58c0: 65 20 24 74 65 73 74 5f 66 69 6c 65 20 24 74 65  e $test_file $te
58d0: 73 74 5f 61 6c 74 5f 66 69 6c 65 2c 2c 2c 2c 2c  st_alt_file,,,,,
58e0: 2c 2c 2c 2c 0a                                   ,,,,.