Hex Artifact Content

Artifact f2a8b06d9de18d01fea6df84858e9b1b2fbfaae5e38736dbaeab7d48615cdfad:


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 73  command,# Test s
0560: 68 6f 72 74 2d 63 75 74 20 63 6f 6d 6d 61 6e 64  hort-cut command
0570: 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 53 68 6f 72 74  s,,,,,,,,,.Short
0580: 63 75 74 20 43 6d 64 73 2c 6d 64 34 20 63 6d 64  cut Cmds,md4 cmd
0590: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 34 20 24 74  ,,,::tls::md4 $t
05a0: 65 73 74 5f 64 61 74 61 2c 2c 2c 37 39 33 33 39  est_data,,,79339
05b0: 39 66 37 39 32 65 63 61 32 37 35 32 63 36 61 66  9f792eca2752c6af
05c0: 33 32 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a 53  3234ba70858,,,.S
05d0: 68 6f 72 74 63 75 74 20 43 6d 64 73 2c 6d 64 35  hortcut Cmds,md5
05e0: 20 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64   cmd,,,::tls::md
05f0: 35 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 39  5 $test_data,,,9
0600: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
0610: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
0620: 2c 2c 0a 53 68 6f 72 74 63 75 74 20 43 6d 64 73  ,,.Shortcut Cmds
0630: 2c 73 68 61 31 20 63 6d 64 2c 2c 2c 3a 3a 74 6c  ,sha1 cmd,,,::tl
0640: 73 3a 3a 73 68 61 31 20 24 74 65 73 74 5f 64 61  s::sha1 $test_da
0650: 74 61 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 36  ta,,,4fe03b7f256
0660: 38 35 35 31 64 66 61 66 62 39 38 63 61 36 30 30  8551dfafb98ca600
0670: 34 65 36 35 63 34 62 37 31 61 61 37 64 2c 2c 2c  4e65c4b71aa7d,,,
0680: 0a 53 68 6f 72 74 63 75 74 20 43 6d 64 73 2c 73  .Shortcut Cmds,s
0690: 68 61 32 35 36 20 63 6d 64 2c 2c 2c 3a 3a 74 6c  ha256 cmd,,,::tl
06a0: 73 3a 3a 73 68 61 32 35 36 20 24 74 65 73 74 5f  s::sha256 $test_
06b0: 64 61 74 61 2c 2c 2c 39 64 33 35 37 38 66 63 31  data,,,9d3578fc1
06c0: 33 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66  38205cf0ee4b4cef
06d0: 33 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62  35fe101bb4ecac7b
06e0: 31 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63  1614c18e6fa48b5c
06f0: 37 66 39 35 65 31 39 2c 2c 2c 0a 53 68 6f 72 74  7f95e19,,,.Short
0700: 63 75 74 20 43 6d 64 73 2c 73 68 61 35 31 32 20  cut Cmds,sha512 
0710: 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 73 68 61  cmd,,,::tls::sha
0720: 35 31 32 20 24 74 65 73 74 5f 64 61 74 61 2c 2c  512 $test_data,,
0730: 2c 64 31 37 38 65 37 35 39 64 63 35 39 31 32 37  ,d178e759dc59127
0740: 30 37 31 35 38 38 64 32 66 61 64 31 37 33 63 30  071588d2fad173c0
0750: 36 32 33 38 64 38 37 65 38 30 30 61 36 34 30 33  6238d87e800a6403
0760: 63 30 61 33 30 64 61 61 34 66 61 61 66 30 35 64  c0a30daa4faaf05d
0770: 30 65 37 63 65 30 34 39 31 36 61 66 61 61 36 61  0e7ce04916afaa6a
0780: 35 38 61 33 30 63 62 65 62 35 39 37 64 61 63 62  58a30cbeb597dacb
0790: 30 31 63 36 32 66 39 66 62 39 64 38 39 62 61 62  01c62f9fb9d89bab
07a0: 39 64 61 36 33 30 63 36 39 39 65 34 38 31 36 66  9da630c699e4816f
07b0: 31 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  1,,,.,,,,,,,,,,.
07c0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ,,,,,,,,,,.comma
07d0: 6e 64 2c 23 20 54 65 73 74 20 4d 44 20 63 6f 6d  nd,# Test MD com
07e0: 6d 61 6e 64 20 66 6f 72 20 72 65 61 64 20 63 68  mand for read ch
07f0: 61 6e 6e 65 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d  annel,,,,,,,,,.M
0800: 44 20 43 68 61 6e 20 52 65 61 64 2c 6d 64 34 2c  D Chan Read,md4,
0810: 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68  ,,digest_read_ch
0820: 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65  an ::tls::md $te
0830: 73 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20  st_file -digest 
0840: 6d 64 34 2c 2c 2c 37 39 33 33 39 39 66 37 39 32  md4,,,793399f792
0850: 65 63 61 32 37 35 32 63 36 61 66 33 32 33 34 62  eca2752c6af3234b
0860: 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 43 68 61  a70858,,,.MD Cha
0870: 6e 20 52 65 61 64 2c 6d 64 35 2c 2c 2c 64 69 67  n Read,md5,,,dig
0880: 65 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a  est_read_chan ::
0890: 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69  tls::md $test_fi
08a0: 6c 65 20 2d 64 69 67 65 73 74 20 6d 64 35 2c 2c  le -digest md5,,
08b0: 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65  ,962bf0803b4232e
08c0: 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30  c23bd8427bb94ea0
08d0: 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 52 65 61  9,,,.MD Chan Rea
08e0: 64 2c 73 68 61 31 2c 2c 2c 64 69 67 65 73 74 5f  d,sha1,,,digest_
08f0: 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a  read_chan ::tls:
0900: 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65 20 2d  :md $test_file -
0910: 64 69 67 65 73 74 20 73 68 61 31 2c 2c 2c 34 66  digest sha1,,,4f
0920: 65 30 33 62 37 66 32 35 36 38 35 35 31 64 66 61  e03b7f2568551dfa
0930: 66 62 39 38 63 61 36 30 30 34 65 36 35 63 34 62  fb98ca6004e65c4b
0940: 37 31 61 61 37 64 2c 2c 2c 0a 4d 44 20 43 68 61  71aa7d,,,.MD Cha
0950: 6e 20 52 65 61 64 2c 73 68 61 32 35 36 2c 2c 2c  n Read,sha256,,,
0960: 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e  digest_read_chan
0970: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74   ::tls::md $test
0980: 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 73 68  _file -digest sh
0990: 61 32 35 36 2c 2c 2c 39 64 33 35 37 38 66 63 31  a256,,,9d3578fc1
09a0: 33 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66  38205cf0ee4b4cef
09b0: 33 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62  35fe101bb4ecac7b
09c0: 31 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63  1614c18e6fa48b5c
09d0: 37 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 43 68  7f95e19,,,.MD Ch
09e0: 61 6e 20 52 65 61 64 2c 73 68 61 35 31 32 2c 2c  an Read,sha512,,
09f0: 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61  ,digest_read_cha
0a00: 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73  n ::tls::md $tes
0a10: 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 73  t_file -digest s
0a20: 68 61 35 31 32 2c 2c 2c 64 31 37 38 65 37 35 39  ha512,,,d178e759
0a30: 64 63 35 39 31 32 37 30 37 31 35 38 38 64 32 66  dc59127071588d2f
0a40: 61 64 31 37 33 63 30 36 32 33 38 64 38 37 65 38  ad173c06238d87e8
0a50: 30 30 61 36 34 30 33 63 30 61 33 30 64 61 61 34  00a6403c0a30daa4
0a60: 66 61 61 66 30 35 64 30 65 37 63 65 30 34 39 31  faaf05d0e7ce0491
0a70: 36 61 66 61 61 36 61 35 38 61 33 30 63 62 65 62  6afaa6a58a30cbeb
0a80: 35 39 37 64 61 63 62 30 31 63 36 32 66 39 66 62  597dacb01c62f9fb
0a90: 39 64 38 39 62 61 62 39 64 61 36 33 30 63 36 39  9d89bab9da630c69
0aa0: 39 65 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 43  9e4816f1,,,.MD C
0ab0: 68 61 6e 20 52 65 61 64 2c 6d 64 35 20 62 69 6e  han Read,md5 bin
0ac0: 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65  ,,,binary encode
0ad0: 20 68 65 78 20 5b 64 69 67 65 73 74 5f 72 65 61   hex [digest_rea
0ae0: 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64  d_chan ::tls::md
0af0: 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 62 69 6e   $test_file -bin
0b00: 20 2d 64 69 67 65 73 74 20 6d 64 35 5d 2c 2c 2c   -digest md5],,,
0b10: 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63  962bf0803b4232ec
0b20: 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39  23bd8427bb94ea09
0b30: 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 52 65 61 64  ,,,.MD Chan Read
0b40: 2c 6d 64 35 20 68 65 78 2c 2c 2c 64 69 67 65 73  ,md5 hex,,,diges
0b50: 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c  t_read_chan ::tl
0b60: 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65  s::md $test_file
0b70: 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 6d 64   -hex -digest md
0b80: 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  5,,,962bf0803b42
0b90: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
0ba0: 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  ea09,,,.,,,,,,,,
0bb0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73  ,,.command,# Tes
0bc0: 74 20 4d 44 20 63 6f 6d 6d 61 6e 64 20 66 6f 72  t MD command for
0bd0: 20 77 72 69 74 65 20 63 68 61 6e 6e 65 6c 2c 2c   write channel,,
0be0: 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20  ,,,,,,,.MD Chan 
0bf0: 57 72 69 74 65 2c 6d 64 34 2c 2c 2c 64 69 67 65  Write,md4,,,dige
0c00: 73 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a 3a  st_write_chan ::
0c10: 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61 6c  tls::md $test_al
0c20: 74 5f 66 69 6c 65 20 24 74 65 73 74 5f 64 61 74  t_file $test_dat
0c30: 61 20 2d 64 69 67 65 73 74 20 6d 64 34 2c 2c 2c  a -digest md4,,,
0c40: 37 39 33 33 39 39 66 37 39 32 65 63 61 32 37 35  793399f792eca275
0c50: 32 63 36 61 66 33 32 33 34 62 61 37 30 38 35 38  2c6af3234ba70858
0c60: 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 57 72 69 74  ,,,.MD Chan Writ
0c70: 65 2c 6d 64 35 2c 2c 2c 64 69 67 65 73 74 5f 77  e,md5,,,digest_w
0c80: 72 69 74 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a  rite_chan ::tls:
0c90: 3a 6d 64 20 24 74 65 73 74 5f 61 6c 74 5f 66 69  :md $test_alt_fi
0ca0: 6c 65 20 24 74 65 73 74 5f 64 61 74 61 20 2d 64  le $test_data -d
0cb0: 69 67 65 73 74 20 6d 64 35 2c 2c 2c 39 36 32 62  igest md5,,,962b
0cc0: 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62 64  f0803b4232ec23bd
0cd0: 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a  8427bb94ea09,,,.
0ce0: 4d 44 20 43 68 61 6e 20 57 72 69 74 65 2c 73 68  MD Chan Write,sh
0cf0: 61 31 2c 2c 2c 64 69 67 65 73 74 5f 77 72 69 74  a1,,,digest_writ
0d00: 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64  e_chan ::tls::md
0d10: 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20   $test_alt_file 
0d20: 24 74 65 73 74 5f 64 61 74 61 20 2d 64 69 67 65  $test_data -dige
0d30: 73 74 20 73 68 61 31 2c 2c 2c 34 66 65 30 33 62  st sha1,,,4fe03b
0d40: 37 66 32 35 36 38 35 35 31 64 66 61 66 62 39 38  7f2568551dfafb98
0d50: 63 61 36 30 30 34 65 36 35 63 34 62 37 31 61 61  ca6004e65c4b71aa
0d60: 37 64 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 57 72  7d,,,.MD Chan Wr
0d70: 69 74 65 2c 73 68 61 32 35 36 2c 2c 2c 64 69 67  ite,sha256,,,dig
0d80: 65 73 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a  est_write_chan :
0d90: 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61  :tls::md $test_a
0da0: 6c 74 5f 66 69 6c 65 20 24 74 65 73 74 5f 64 61  lt_file $test_da
0db0: 74 61 20 2d 64 69 67 65 73 74 20 73 68 61 32 35  ta -digest sha25
0dc0: 36 2c 2c 2c 39 64 33 35 37 38 66 63 31 33 38 32  6,,,9d3578fc1382
0dd0: 30 35 63 66 30 65 65 34 62 34 63 65 66 33 35 66  05cf0ee4b4cef35f
0de0: 65 31 30 31 62 62 34 65 63 61 63 37 62 31 36 31  e101bb4ecac7b161
0df0: 34 63 31 38 65 36 66 61 34 38 62 35 63 37 66 39  4c18e6fa48b5c7f9
0e00: 35 65 31 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20  5e19,,,.MD Chan 
0e10: 57 72 69 74 65 2c 73 68 61 35 31 32 2c 2c 2c 64  Write,sha512,,,d
0e20: 69 67 65 73 74 5f 77 72 69 74 65 5f 63 68 61 6e  igest_write_chan
0e30: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74   ::tls::md $test
0e40: 5f 61 6c 74 5f 66 69 6c 65 20 24 74 65 73 74 5f  _alt_file $test_
0e50: 64 61 74 61 20 2d 64 69 67 65 73 74 20 73 68 61  data -digest sha
0e60: 35 31 32 2c 2c 2c 64 31 37 38 65 37 35 39 64 63  512,,,d178e759dc
0e70: 35 39 31 32 37 30 37 31 35 38 38 64 32 66 61 64  59127071588d2fad
0e80: 31 37 33 63 30 36 32 33 38 64 38 37 65 38 30 30  173c06238d87e800
0e90: 61 36 34 30 33 63 30 61 33 30 64 61 61 34 66 61  a6403c0a30daa4fa
0ea0: 61 66 30 35 64 30 65 37 63 65 30 34 39 31 36 61  af05d0e7ce04916a
0eb0: 66 61 61 36 61 35 38 61 33 30 63 62 65 62 35 39  faa6a58a30cbeb59
0ec0: 37 64 61 63 62 30 31 63 36 32 66 39 66 62 39 64  7dacb01c62f9fb9d
0ed0: 38 39 62 61 62 39 64 61 36 33 30 63 36 39 39 65  89bab9da630c699e
0ee0: 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 43 68 61  4816f1,,,.MD Cha
0ef0: 6e 20 57 72 69 74 65 2c 6d 64 35 20 62 69 6e 2c  n Write,md5 bin,
0f00: 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20  ,,binary encode 
0f10: 68 65 78 20 5b 64 69 67 65 73 74 5f 77 72 69 74  hex [digest_writ
0f20: 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64  e_chan ::tls::md
0f30: 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20   $test_alt_file 
0f40: 24 74 65 73 74 5f 64 61 74 61 20 2d 62 69 6e 20  $test_data -bin 
0f50: 2d 64 69 67 65 73 74 20 6d 64 35 5d 2c 2c 2c 39  -digest md5],,,9
0f60: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
0f70: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
0f80: 2c 2c 0a 4d 44 20 43 68 61 6e 20 57 72 69 74 65  ,,.MD Chan Write
0f90: 2c 6d 64 35 20 68 65 78 2c 2c 2c 64 69 67 65 73  ,md5 hex,,,diges
0fa0: 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a 3a 74  t_write_chan ::t
0fb0: 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61 6c 74  ls::md $test_alt
0fc0: 5f 66 69 6c 65 20 24 74 65 73 74 5f 64 61 74 61  _file $test_data
0fd0: 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 6d 64   -hex -digest md
0fe0: 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  5,,,962bf0803b42
0ff0: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
1000: 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  ea09,,,.,,,,,,,,
1010: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73  ,,.command,# Tes
1020: 74 20 4d 44 20 63 6f 6d 6d 61 6e 64 20 66 6f 72  t MD command for
1030: 20 6f 62 6a 65 63 74 20 63 6f 6d 6d 61 6e 64 2c   object command,
1040: 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 43 6f 6d 6d  ,,,,,,,,.MD Comm
1050: 61 6e 64 2c 6d 64 34 2c 2c 2c 64 69 67 65 73 74  and,md4,,,digest
1060: 5f 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73  _accumulate $tes
1070: 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64  t_data ::tls::md
1080: 20 2d 64 69 67 65 73 74 20 6d 64 34 2c 2c 2c 37   -digest md4,,,7
1090: 39 33 33 39 39 66 37 39 32 65 63 61 32 37 35 32  93399f792eca2752
10a0: 63 36 61 66 33 32 33 34 62 61 37 30 38 35 38 2c  c6af3234ba70858,
10b0: 2c 2c 0a 4d 44 20 43 6f 6d 6d 61 6e 64 2c 6d 64  ,,.MD Command,md
10c0: 35 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63 75 6d  5,,,digest_accum
10d0: 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74 61  ulate $test_data
10e0: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65   ::tls::md -dige
10f0: 73 74 20 6d 64 35 2c 2c 2c 39 36 32 62 66 30 38  st md5,,,962bf08
1100: 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32  03b4232ec23bd842
1110: 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 4d 44 20  7bb94ea09,,,.MD 
1120: 43 6f 6d 6d 61 6e 64 2c 73 68 61 31 2c 2c 2c 64  Command,sha1,,,d
1130: 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65  igest_accumulate
1140: 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c   $test_data ::tl
1150: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68  s::md -digest sh
1160: 61 31 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 36  a1,,,4fe03b7f256
1170: 38 35 35 31 64 66 61 66 62 39 38 63 61 36 30 30  8551dfafb98ca600
1180: 34 65 36 35 63 34 62 37 31 61 61 37 64 2c 2c 2c  4e65c4b71aa7d,,,
1190: 0a 4d 44 20 43 6f 6d 6d 61 6e 64 2c 73 68 61 32  .MD Command,sha2
11a0: 35 36 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63 75  56,,,digest_accu
11b0: 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74  mulate $test_dat
11c0: 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  a ::tls::md -dig
11d0: 65 73 74 20 73 68 61 32 35 36 2c 2c 2c 39 64 33  est sha256,,,9d3
11e0: 35 37 38 66 63 31 33 38 32 30 35 63 66 30 65 65  578fc138205cf0ee
11f0: 34 62 34 63 65 66 33 35 66 65 31 30 31 62 62 34  4b4cef35fe101bb4
1200: 65 63 61 63 37 62 31 36 31 34 63 31 38 65 36 66  ecac7b1614c18e6f
1210: 61 34 38 62 35 63 37 66 39 35 65 31 39 2c 2c 2c  a48b5c7f95e19,,,
1220: 0a 4d 44 20 43 6f 6d 6d 61 6e 64 2c 73 68 61 35  .MD Command,sha5
1230: 31 32 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63 75  12,,,digest_accu
1240: 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74  mulate $test_dat
1250: 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  a ::tls::md -dig
1260: 65 73 74 20 73 68 61 35 31 32 2c 2c 2c 64 31 37  est sha512,,,d17
1270: 38 65 37 35 39 64 63 35 39 31 32 37 30 37 31 35  8e759dc591270715
1280: 38 38 64 32 66 61 64 31 37 33 63 30 36 32 33 38  88d2fad173c06238
1290: 64 38 37 65 38 30 30 61 36 34 30 33 63 30 61 33  d87e800a6403c0a3
12a0: 30 64 61 61 34 66 61 61 66 30 35 64 30 65 37 63  0daa4faaf05d0e7c
12b0: 65 30 34 39 31 36 61 66 61 61 36 61 35 38 61 33  e04916afaa6a58a3
12c0: 30 63 62 65 62 35 39 37 64 61 63 62 30 31 63 36  0cbeb597dacb01c6
12d0: 32 66 39 66 62 39 64 38 39 62 61 62 39 64 61 36  2f9fb9d89bab9da6
12e0: 33 30 63 36 39 39 65 34 38 31 36 66 31 2c 2c 2c  30c699e4816f1,,,
12f0: 0a 4d 44 20 43 6f 6d 6d 61 6e 64 2c 6d 64 35 20  .MD Command,md5 
1300: 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63  bin,,,binary enc
1310: 6f 64 65 20 68 65 78 20 5b 64 69 67 65 73 74 5f  ode hex [digest_
1320: 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74  accumulate $test
1330: 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20  _data ::tls::md 
1340: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 62 69 6e  -digest md5 -bin
1350: 5d 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  ],,,962bf0803b42
1360: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
1370: 65 61 30 39 2c 2c 2c 0a 4d 44 20 43 6f 6d 6d 61  ea09,,,.MD Comma
1380: 6e 64 2c 6d 64 35 20 68 65 78 2c 2c 2c 64 69 67  nd,md5 hex,,,dig
1390: 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20 24  est_accumulate $
13a0: 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a  test_data ::tls:
13b0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20  :md -digest md5 
13c0: 2d 68 65 78 2c 2c 2c 39 36 32 62 66 30 38 30 33  -hex,,,962bf0803
13d0: 62 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62  b4232ec23bd8427b
13e0: 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c  b94ea09,,,.,,,,,
13f0: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
1400: 54 65 73 74 20 4d 44 20 63 6f 6d 6d 61 6e 64 20  Test MD command 
1410: 66 6f 72 20 64 61 74 61 20 73 68 6f 72 74 63 75  for data shortcu
1420: 74 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 53 68  t,,,,,,,,,.MD Sh
1430: 6f 72 74 63 75 74 2c 6d 64 34 2c 2c 2c 3a 3a 74  ortcut,md4,,,::t
1440: 6c 73 3a 3a 6d 64 20 6d 64 34 20 24 74 65 73 74  ls::md md4 $test
1450: 5f 64 61 74 61 2c 2c 2c 37 39 33 33 39 39 66 37  _data,,,793399f7
1460: 39 32 65 63 61 32 37 35 32 63 36 61 66 33 32 33  92eca2752c6af323
1470: 34 62 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 53  4ba70858,,,.MD S
1480: 68 6f 72 74 63 75 74 2c 6d 64 35 2c 2c 2c 3a 3a  hortcut,md5,,,::
1490: 74 6c 73 3a 3a 6d 64 20 6d 64 35 20 24 74 65 73  tls::md md5 $tes
14a0: 74 5f 64 61 74 61 2c 2c 2c 39 36 32 62 66 30 38  t_data,,,962bf08
14b0: 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32  03b4232ec23bd842
14c0: 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 4d 44 20  7bb94ea09,,,.MD 
14d0: 53 68 6f 72 74 63 75 74 2c 73 68 61 31 2c 2c 2c  Shortcut,sha1,,,
14e0: 3a 3a 74 6c 73 3a 3a 6d 64 20 73 68 61 31 20 24  ::tls::md sha1 $
14f0: 74 65 73 74 5f 64 61 74 61 2c 2c 2c 34 66 65 30  test_data,,,4fe0
1500: 33 62 37 66 32 35 36 38 35 35 31 64 66 61 66 62  3b7f2568551dfafb
1510: 39 38 63 61 36 30 30 34 65 36 35 63 34 62 37 31  98ca6004e65c4b71
1520: 61 61 37 64 2c 2c 2c 0a 4d 44 20 53 68 6f 72 74  aa7d,,,.MD Short
1530: 63 75 74 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74  cut,sha256,,,::t
1540: 6c 73 3a 3a 6d 64 20 73 68 61 32 35 36 20 24 74  ls::md sha256 $t
1550: 65 73 74 5f 64 61 74 61 2c 2c 2c 39 64 33 35 37  est_data,,,9d357
1560: 38 66 63 31 33 38 32 30 35 63 66 30 65 65 34 62  8fc138205cf0ee4b
1570: 34 63 65 66 33 35 66 65 31 30 31 62 62 34 65 63  4cef35fe101bb4ec
1580: 61 63 37 62 31 36 31 34 63 31 38 65 36 66 61 34  ac7b1614c18e6fa4
1590: 38 62 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 4d  8b5c7f95e19,,,.M
15a0: 44 20 53 68 6f 72 74 63 75 74 2c 73 68 61 35 31  D Shortcut,sha51
15b0: 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 73 68  2,,,::tls::md sh
15c0: 61 35 31 32 20 24 74 65 73 74 5f 64 61 74 61 2c  a512 $test_data,
15d0: 2c 2c 64 31 37 38 65 37 35 39 64 63 35 39 31 32  ,,d178e759dc5912
15e0: 37 30 37 31 35 38 38 64 32 66 61 64 31 37 33 63  7071588d2fad173c
15f0: 30 36 32 33 38 64 38 37 65 38 30 30 61 36 34 30  06238d87e800a640
1600: 33 63 30 61 33 30 64 61 61 34 66 61 61 66 30 35  3c0a30daa4faaf05
1610: 64 30 65 37 63 65 30 34 39 31 36 61 66 61 61 36  d0e7ce04916afaa6
1620: 61 35 38 61 33 30 63 62 65 62 35 39 37 64 61 63  a58a30cbeb597dac
1630: 62 30 31 63 36 32 66 39 66 62 39 64 38 39 62 61  b01c62f9fb9d89ba
1640: 62 39 64 61 36 33 30 63 36 39 39 65 34 38 31 36  b9da630c699e4816
1650: 66 31 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  f1,,,.,,,,,,,,,,
1660: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20  .command,# Test 
1670: 4d 44 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 64  MD command for d
1680: 61 74 61 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20  ata,,,,,,,,,.MD 
1690: 44 61 74 61 2c 6d 64 34 2c 2c 2c 3a 3a 74 6c 73  Data,md4,,,::tls
16a0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 34  ::md -digest md4
16b0: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74   -data $test_dat
16c0: 61 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63  a,,,793399f792ec
16d0: 61 32 37 35 32 63 36 61 66 33 32 33 34 62 61 37  a2752c6af3234ba7
16e0: 30 38 35 38 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c  0858,,,.MD Data,
16f0: 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  md5,,,::tls::md 
1700: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74  -digest md5 -dat
1710: 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 39  a $test_data,,,9
1720: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
1730: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
1740: 2c 2c 0a 4d 44 20 44 61 74 61 2c 73 68 61 31 2c  ,,.MD Data,sha1,
1750: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,,::tls::md -dig
1760: 65 73 74 20 73 68 61 31 20 2d 64 61 74 61 20 24  est sha1 -data $
1770: 74 65 73 74 5f 64 61 74 61 2c 2c 2c 34 66 65 30  test_data,,,4fe0
1780: 33 62 37 66 32 35 36 38 35 35 31 64 66 61 66 62  3b7f2568551dfafb
1790: 39 38 63 61 36 30 30 34 65 36 35 63 34 62 37 31  98ca6004e65c4b71
17a0: 61 61 37 64 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c  aa7d,,,.MD Data,
17b0: 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha256,,,::tls::
17c0: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35  md -digest sha25
17d0: 36 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  6 -data $test_da
17e0: 74 61 2c 2c 2c 39 64 33 35 37 38 66 63 31 33 38  ta,,,9d3578fc138
17f0: 32 30 35 63 66 30 65 65 34 62 34 63 65 66 33 35  205cf0ee4b4cef35
1800: 66 65 31 30 31 62 62 34 65 63 61 63 37 62 31 36  fe101bb4ecac7b16
1810: 31 34 63 31 38 65 36 66 61 34 38 62 35 63 37 66  14c18e6fa48b5c7f
1820: 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 44 61 74 61  95e19,,,.MD Data
1830: 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha512,,,::tls:
1840: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 35  :md -digest sha5
1850: 31 32 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64  12 -data $test_d
1860: 61 74 61 2c 2c 2c 64 31 37 38 65 37 35 39 64 63  ata,,,d178e759dc
1870: 35 39 31 32 37 30 37 31 35 38 38 64 32 66 61 64  59127071588d2fad
1880: 31 37 33 63 30 36 32 33 38 64 38 37 65 38 30 30  173c06238d87e800
1890: 61 36 34 30 33 63 30 61 33 30 64 61 61 34 66 61  a6403c0a30daa4fa
18a0: 61 66 30 35 64 30 65 37 63 65 30 34 39 31 36 61  af05d0e7ce04916a
18b0: 66 61 61 36 61 35 38 61 33 30 63 62 65 62 35 39  faa6a58a30cbeb59
18c0: 37 64 61 63 62 30 31 63 36 32 66 39 66 62 39 64  7dacb01c62f9fb9d
18d0: 38 39 62 61 62 39 64 61 36 33 30 63 36 39 39 65  89bab9da630c699e
18e0: 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 44 61 74  4816f1,,,.MD Dat
18f0: 61 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62 69 6e 61  a,md5 bin,,,bina
1900: 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a  ry encode hex [:
1910: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
1920: 20 6d 64 35 20 2d 64 61 74 61 20 24 74 65 73 74   md5 -data $test
1930: 5f 64 61 74 61 20 2d 62 69 6e 5d 2c 2c 2c 39 36  _data -bin],,,96
1940: 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33  2bf0803b4232ec23
1950: 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c  bd8427bb94ea09,,
1960: 2c 0a 4d 44 20 44 61 74 61 2c 6d 64 35 20 68 65  ,.MD Data,md5 he
1970: 78 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  x,,,::tls::md -d
1980: 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20  igest md5 -data 
1990: 24 74 65 73 74 5f 64 61 74 61 20 2d 68 65 78 2c  $test_data -hex,
19a0: 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32  ,,962bf0803b4232
19b0: 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61  ec23bd8427bb94ea
19c0: 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  09,,,.,,,,,,,,,,
19d0: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20  .command,# Test 
19e0: 4d 44 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 66  MD command for f
19f0: 69 6c 65 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20  ile,,,,,,,,,.MD 
1a00: 46 69 6c 65 2c 6d 64 34 2c 2c 2c 3a 3a 74 6c 73  File,md4,,,::tls
1a10: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 34  ::md -digest md4
1a20: 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c   -file $test_fil
1a30: 65 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63  e,,,793399f792ec
1a40: 61 32 37 35 32 63 36 61 66 33 32 33 34 62 61 37  a2752c6af3234ba7
1a50: 30 38 35 38 2c 2c 2c 0a 4d 44 20 46 69 6c 65 2c  0858,,,.MD File,
1a60: 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  md5,,,::tls::md 
1a70: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 66 69 6c  -digest md5 -fil
1a80: 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 39  e $test_file,,,9
1a90: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
1aa0: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
1ab0: 2c 2c 0a 4d 44 20 46 69 6c 65 2c 73 68 61 31 2c  ,,.MD File,sha1,
1ac0: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,,::tls::md -dig
1ad0: 65 73 74 20 73 68 61 31 20 2d 66 69 6c 65 20 24  est sha1 -file $
1ae0: 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 34 66 65 30  test_file,,,4fe0
1af0: 33 62 37 66 32 35 36 38 35 35 31 64 66 61 66 62  3b7f2568551dfafb
1b00: 39 38 63 61 36 30 30 34 65 36 35 63 34 62 37 31  98ca6004e65c4b71
1b10: 61 61 37 64 2c 2c 2c 0a 4d 44 20 46 69 6c 65 2c  aa7d,,,.MD File,
1b20: 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha256,,,::tls::
1b30: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35  md -digest sha25
1b40: 36 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69  6 -file $test_fi
1b50: 6c 65 2c 2c 2c 39 64 33 35 37 38 66 63 31 33 38  le,,,9d3578fc138
1b60: 32 30 35 63 66 30 65 65 34 62 34 63 65 66 33 35  205cf0ee4b4cef35
1b70: 66 65 31 30 31 62 62 34 65 63 61 63 37 62 31 36  fe101bb4ecac7b16
1b80: 31 34 63 31 38 65 36 66 61 34 38 62 35 63 37 66  14c18e6fa48b5c7f
1b90: 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 46 69 6c 65  95e19,,,.MD File
1ba0: 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha512,,,::tls:
1bb0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 35  :md -digest sha5
1bc0: 31 32 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66  12 -file $test_f
1bd0: 69 6c 65 2c 2c 2c 64 31 37 38 65 37 35 39 64 63  ile,,,d178e759dc
1be0: 35 39 31 32 37 30 37 31 35 38 38 64 32 66 61 64  59127071588d2fad
1bf0: 31 37 33 63 30 36 32 33 38 64 38 37 65 38 30 30  173c06238d87e800
1c00: 61 36 34 30 33 63 30 61 33 30 64 61 61 34 66 61  a6403c0a30daa4fa
1c10: 61 66 30 35 64 30 65 37 63 65 30 34 39 31 36 61  af05d0e7ce04916a
1c20: 66 61 61 36 61 35 38 61 33 30 63 62 65 62 35 39  faa6a58a30cbeb59
1c30: 37 64 61 63 62 30 31 63 36 32 66 39 66 62 39 64  7dacb01c62f9fb9d
1c40: 38 39 62 61 62 39 64 61 36 33 30 63 36 39 39 65  89bab9da630c699e
1c50: 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 46 69 6c  4816f1,,,.MD Fil
1c60: 65 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62 69 6e 61  e,md5 bin,,,bina
1c70: 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a  ry encode hex [:
1c80: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
1c90: 20 6d 64 35 20 2d 66 69 6c 65 20 24 74 65 73 74   md5 -file $test
1ca0: 5f 66 69 6c 65 20 2d 62 69 6e 5d 2c 2c 2c 39 36  _file -bin],,,96
1cb0: 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33  2bf0803b4232ec23
1cc0: 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c  bd8427bb94ea09,,
1cd0: 2c 0a 4d 44 20 46 69 6c 65 2c 6d 64 35 20 68 65  ,.MD File,md5 he
1ce0: 78 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  x,,,::tls::md -d
1cf0: 69 67 65 73 74 20 6d 64 35 20 2d 66 69 6c 65 20  igest md5 -file 
1d00: 24 74 65 73 74 5f 66 69 6c 65 20 2d 68 65 78 2c  $test_file -hex,
1d10: 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32  ,,962bf0803b4232
1d20: 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61  ec23bd8427bb94ea
1d30: 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  09,,,.,,,,,,,,,,
1d40: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 4d 44 20 45 72  .command,# MD Er
1d50: 72 6f 72 20 43 61 73 65 73 2c 2c 2c 2c 2c 2c 2c  ror Cases,,,,,,,
1d60: 2c 2c 0a 4d 44 20 45 72 72 6f 72 73 2c 54 6f 6f  ,,.MD Errors,Too
1d70: 20 66 65 77 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c   few args,,,::tl
1d80: 73 3a 3a 6d 64 2c 2c 2c 22 77 72 6f 6e 67 20 23  s::md,,,"wrong #
1d90: 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65   args: should be
1da0: 20 22 22 3a 3a 74 6c 73 3a 3a 6d 64 20 3f 2d 62   ""::tls::md ?-b
1db0: 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65  in|-hex? ?-ciphe
1dc0: 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74  r name? ?-digest
1dd0: 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79   name? ?-key key
1de0: 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d  ? ?-mac name? [-
1df0: 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d  channel chan | -
1e00: 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20  command cmdName 
1e10: 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65  | -file filename
1e20: 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d   | ?-data? data]
1e30: 22 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72  """,,,1.MD Error
1e40: 73 2c 54 6f 6f 20 6d 61 6e 79 20 61 72 67 73 2c  s,Too many args,
1e50: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 74 6f 6f 20  ,,::tls::md too 
1e60: 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e  many command lin
1e70: 65 20 61 72 67 73 20 74 6f 20 70 61 73 73 20 74  e args to pass t
1e80: 68 65 20 74 65 73 74 20 77 69 74 68 6f 75 74 20  he test without 
1e90: 61 6e 20 65 72 72 6f 72 20 6f 72 20 66 61 69 6c  an error or fail
1ea0: 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61  ing,,,"wrong # a
1eb0: 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22  rgs: should be "
1ec0: 22 3a 3a 74 6c 73 3a 3a 6d 64 20 3f 2d 62 69 6e  "::tls::md ?-bin
1ed0: 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65 72 20  |-hex? ?-cipher 
1ee0: 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e  name? ?-digest n
1ef0: 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20  ame? ?-key key? 
1f00: 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68  ?-mac name? [-ch
1f10: 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f  annel chan | -co
1f20: 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20  mmand cmdName | 
1f30: 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c  -file filename |
1f40: 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d 22 22   ?-data? data]""
1f50: 22 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72 73 2c  ",,,1.MD Errors,
1f60: 49 6e 76 61 6c 69 64 20 64 69 67 65 73 74 2c 2c  Invalid digest,,
1f70: 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 62 6f 67 75 73  ,::tls::md bogus
1f80: 20 64 61 74 61 2c 2c 2c 22 49 6e 76 61 6c 69 64   data,,,"Invalid
1f90: 20 64 69 67 65 73 74 20 22 22 62 6f 67 75 73 22   digest ""bogus"
1fa0: 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72 73  "",,,1.MD Errors
1fb0: 2c 49 6e 76 61 6c 69 64 20 64 69 67 65 73 74 20  ,Invalid digest 
1fc0: 41 72 67 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  Arg,,,::tls::md 
1fd0: 2d 64 69 67 65 73 74 20 62 6f 67 75 73 20 2d 64  -digest bogus -d
1fe0: 61 74 61 20 64 61 74 61 2c 2c 2c 22 49 6e 76 61  ata data,,,"Inva
1ff0: 6c 69 64 20 64 69 67 65 73 74 20 22 22 62 6f 67  lid digest ""bog
2000: 75 73 22 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72  us""",,,1.MD Err
2010: 6f 72 73 2c 4e 6f 20 64 69 67 65 73 74 2c 2c 2c  ors,No digest,,,
2020: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 68 65 78 20 2d  ::tls::md -hex -
2030: 64 61 74 61 20 76 61 6c 75 65 2c 2c 2c 4e 6f 20  data value,,,No 
2040: 64 69 67 65 73 74 20 73 70 65 63 69 66 69 65 64  digest specified
2050: 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72 73 2c 49  ,,,1.MD Errors,I
2060: 6e 76 61 6c 69 64 20 6f 70 74 69 6f 6e 2c 2c 2c  nvalid option,,,
2070: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
2080: 74 20 73 68 61 32 35 36 20 2d 62 6f 67 75 73 20  t sha256 -bogus 
2090: 76 61 6c 75 65 2c 2c 2c 22 62 61 64 20 6f 70 74  value,,,"bad opt
20a0: 69 6f 6e 20 22 22 2d 62 6f 67 75 73 22 22 3a 20  ion ""-bogus"": 
20b0: 6d 75 73 74 20 62 65 20 2d 62 69 6e 2c 20 2d 63  must be -bin, -c
20c0: 68 61 6e 6e 65 6c 2c 20 2d 63 69 70 68 65 72 2c  hannel, -cipher,
20d0: 20 2d 63 6f 6d 6d 61 6e 64 2c 20 2d 64 61 74 61   -command, -data
20e0: 2c 20 2d 64 69 67 65 73 74 2c 20 2d 66 69 6c 65  , -digest, -file
20f0: 2c 20 2d 66 69 6c 65 6e 61 6d 65 2c 20 2d 68 65  , -filename, -he
2100: 78 2c 20 2d 6b 65 79 2c 20 6f 72 20 2d 6d 61 63  x, -key, or -mac
2110: 22 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72 73 2c  ",,,1.MD Errors,
2120: 49 6e 76 61 6c 69 64 20 66 69 6c 65 2c 2c 2c 3a  Invalid file,,,:
2130: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
2140: 20 73 68 61 32 35 36 20 2d 66 69 6c 65 20 62 6f   sha256 -file bo
2150: 67 75 73 2c 2c 2c 22 63 6f 75 6c 64 6e 27 74 20  gus,,,"couldn't 
2160: 6f 70 65 6e 20 22 22 62 6f 67 75 73 22 22 3a 20  open ""bogus"": 
2170: 6e 6f 20 73 75 63 68 20 66 69 6c 65 20 6f 72 20  no such file or 
2180: 64 69 72 65 63 74 6f 72 79 22 2c 2c 2c 31 0a 4d  directory",,,1.M
2190: 44 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64  D Errors,Invalid
21a0: 20 63 68 61 6e 6e 65 6c 2c 2c 2c 3a 3a 74 6c 73   channel,,,::tls
21b0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
21c0: 32 35 36 20 2d 63 68 61 6e 6e 65 6c 20 62 6f 67  256 -channel bog
21d0: 75 73 2c 2c 2c 22 63 61 6e 20 6e 6f 74 20 66 69  us,,,"can not fi
21e0: 6e 64 20 63 68 61 6e 6e 65 6c 20 6e 61 6d 65 64  nd channel named
21f0: 20 22 22 62 6f 67 75 73 22 22 22 2c 2c 2c 31 0a   ""bogus""",,,1.
2200: 4d 44 20 45 72 72 6f 72 73 2c 4e 6f 20 6f 70 65  MD Errors,No ope
2210: 72 61 74 69 6f 6e 2c 2c 2c 3a 3a 74 6c 73 3a 3a  ration,,,::tls::
2220: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35  md -digest sha25
2230: 36 20 2d 62 69 6e 2c 2c 2c 22 4e 6f 20 6f 70 65  6 -bin,,,"No ope
2240: 72 61 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64  ration specified
2250: 3a 20 55 73 65 20 2d 63 68 61 6e 6e 65 6c 2c 20  : Use -channel, 
2260: 2d 63 6f 6d 6d 61 6e 64 2c 20 2d 64 61 74 61 2c  -command, -data,
2270: 20 6f 72 20 2d 66 69 6c 65 20 6f 70 74 69 6f 6e   or -file option
2280: 22 2c 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  ",,,1.,,,,,,,,,,
2290: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  .,,,,,,,,,,.comm
22a0: 61 6e 64 2c 23 20 54 65 73 74 20 43 4d 41 43 20  and,# Test CMAC 
22b0: 63 6f 6d 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c  command,,,,,,,,,
22c0: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65  .command,"set te
22d0: 73 74 5f 63 69 70 68 65 72 20 22 22 61 65 73 2d  st_cipher ""aes-
22e0: 31 32 38 2d 63 62 63 22 22 22 2c 2c 2c 2c 2c 2c  128-cbc""",,,,,,
22f0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
2300: 20 74 65 73 74 5f 6b 65 79 20 22 22 45 78 61 6d   test_key ""Exam
2310: 70 6c 65 20 6b 65 79 20 31 32 33 34 22 22 22 2c  ple key 1234""",
2320: 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d 41 43 2c 64 61  ,,,,,,,,.CMAC,da
2330: 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63  ta,,,::tls::cmac
2340: 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63   -cipher $test_c
2350: 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74  ipher -key $test
2360: 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74  _key -data $test
2370: 5f 64 61 74 61 2c 2c 2c 62 61 66 35 63 32 30 66  _data,,,baf5c20f
2380: 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65  9973e2d606b14c7e
2390: 66 64 66 65 35 32 66 61 2c 2c 2c 0a 43 4d 41 43  fdfe52fa,,,.CMAC
23a0: 2c 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63  ,file,,,::tls::c
23b0: 6d 61 63 20 2d 63 69 70 68 65 72 20 24 74 65 73  mac -cipher $tes
23c0: 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74  t_cipher -key $t
23d0: 65 73 74 5f 6b 65 79 20 2d 66 69 6c 65 20 24 74  est_key -file $t
23e0: 65 73 74 5f 66 69 6c 65 2c 2c 2c 62 61 66 35 63  est_file,,,baf5c
23f0: 32 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34  20f9973e2d606b14
2400: 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 43  c7efdfe52fa,,,.C
2410: 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c 2c 2c 64 69  MAC,channel,,,di
2420: 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a  gest_read_chan :
2430: 3a 74 6c 73 3a 3a 63 6d 61 63 20 24 74 65 73 74  :tls::cmac $test
2440: 5f 66 69 6c 65 20 2d 63 69 70 68 65 72 20 24 74  _file -cipher $t
2450: 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20  est_cipher -key 
2460: 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 62 61 66 35  $test_key,,,baf5
2470: 63 32 30 66 39 39 37 33 65 32 64 36 30 36 62 31  c20f9973e2d606b1
2480: 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a  4c7efdfe52fa,,,.
2490: 43 4d 41 43 2c 63 6f 6d 6d 61 6e 64 2c 2c 2c 64  CMAC,command,,,d
24a0: 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65  igest_accumulate
24b0: 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c   $test_data ::tl
24c0: 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20  s::cmac -cipher 
24d0: 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65  $test_cipher -ke
24e0: 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 62 61  y $test_key,,,ba
24f0: 66 35 63 32 30 66 39 39 37 33 65 32 64 36 30 36  f5c20f9973e2d606
2500: 62 31 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c  b14c7efdfe52fa,,
2510: 2c 0a 43 4d 41 43 2c 64 61 74 61 20 62 69 6e 2c  ,.CMAC,data bin,
2520: 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20  ,,binary encode 
2530: 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 63 6d 61 63  hex [::tls::cmac
2540: 20 2d 62 69 6e 20 2d 63 69 70 68 65 72 20 24 74   -bin -cipher $t
2550: 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20  est_cipher -key 
2560: 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74 61 20  $test_key -data 
2570: 24 74 65 73 74 5f 64 61 74 61 5d 2c 2c 2c 62 61  $test_data],,,ba
2580: 66 35 63 32 30 66 39 39 37 33 65 32 64 36 30 36  f5c20f9973e2d606
2590: 62 31 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c  b14c7efdfe52fa,,
25a0: 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  ,.,,,,,,,,,,.com
25b0: 6d 61 6e 64 2c 23 20 54 65 73 74 20 4d 44 20 43  mand,# Test MD C
25c0: 4d 41 43 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20  MAC,,,,,,,,,.MD 
25d0: 43 4d 41 43 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c  CMAC,data,,,::tl
25e0: 73 3a 3a 6d 64 20 2d 63 69 70 68 65 72 20 24 74  s::md -cipher $t
25f0: 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20  est_cipher -key 
2600: 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74 61 20  $test_key -data 
2610: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 62 61 66  $test_data,,,baf
2620: 35 63 32 30 66 39 39 37 33 65 32 64 36 30 36 62  5c20f9973e2d606b
2630: 31 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c  14c7efdfe52fa,,,
2640: 0a 4d 44 20 43 4d 41 43 2c 66 69 6c 65 2c 2c 2c  .MD CMAC,file,,,
2650: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 63 69 70 68 65  ::tls::md -ciphe
2660: 72 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d  r $test_cipher -
2670: 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 66  key $test_key -f
2680: 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c  ile $test_file,,
2690: 2c 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64  ,baf5c20f9973e2d
26a0: 36 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66  606b14c7efdfe52f
26b0: 61 2c 2c 2c 0a 4d 44 20 43 4d 41 43 2c 63 68 61  a,,,.MD CMAC,cha
26c0: 6e 6e 65 6c 2c 2c 2c 64 69 67 65 73 74 5f 72 65  nnel,,,digest_re
26d0: 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d  ad_chan ::tls::m
26e0: 64 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 63 69  d $test_file -ci
26f0: 70 68 65 72 20 24 74 65 73 74 5f 63 69 70 68 65  pher $test_ciphe
2700: 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79  r -key $test_key
2710: 2c 2c 2c 62 61 66 35 63 32 30 66 39 39 37 33 65  ,,,baf5c20f9973e
2720: 32 64 36 30 36 62 31 34 63 37 65 66 64 66 65 35  2d606b14c7efdfe5
2730: 32 66 61 2c 2c 2c 0a 4d 44 20 43 4d 41 43 2c 63  2fa,,,.MD CMAC,c
2740: 6f 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74 5f  ommand,,,digest_
2750: 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74  accumulate $test
2760: 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20  _data ::tls::md 
2770: 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69  -cipher $test_ci
2780: 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f  pher -key $test_
2790: 6b 65 79 2c 2c 2c 62 61 66 35 63 32 30 66 39 39  key,,,baf5c20f99
27a0: 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66 64  73e2d606b14c7efd
27b0: 66 65 35 32 66 61 2c 2c 2c 0a 4d 44 20 43 4d 41  fe52fa,,,.MD CMA
27c0: 43 2c 64 61 74 61 20 62 69 6e 2c 2c 2c 62 69 6e  C,data bin,,,bin
27d0: 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b  ary encode hex [
27e0: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 62 69 6e 20 2d  ::tls::md -bin -
27f0: 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69 70  cipher $test_cip
2800: 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  her -key $test_k
2810: 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64  ey -data $test_d
2820: 61 74 61 5d 2c 2c 2c 62 61 66 35 63 32 30 66 39  ata],,,baf5c20f9
2830: 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66  973e2d606b14c7ef
2840: 64 66 65 35 32 66 61 2c 2c 2c 0a 2c 2c 2c 2c 2c  dfe52fa,,,.,,,,,
2850: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
2860: 54 65 73 74 20 43 4d 41 43 20 53 68 6f 72 74 63  Test CMAC Shortc
2870: 75 74 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d 41 43  ut,,,,,,,,,.CMAC
2880: 20 53 68 6f 72 74 63 75 74 2c 64 61 74 61 2c 2c   Shortcut,data,,
2890: 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 24 74 65  ,::tls::cmac $te
28a0: 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24  st_cipher -key $
28b0: 74 65 73 74 5f 6b 65 79 20 24 74 65 73 74 5f 64  test_key $test_d
28c0: 61 74 61 2c 2c 2c 62 61 66 35 63 32 30 66 39 39  ata,,,baf5c20f99
28d0: 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66 64  73e2d606b14c7efd
28e0: 66 65 35 32 66 61 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  fe52fa,,,.,,,,,,
28f0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 43  ,,,,.command,# C
2900: 4d 41 43 20 45 72 72 6f 72 20 43 61 73 65 73 2c  MAC Error Cases,
2910: 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d 41 43 20 45 72  ,,,,,,,,.CMAC Er
2920: 72 6f 72 73 2c 54 6f 6f 20 66 65 77 20 61 72 67  rors,Too few arg
2930: 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 2c  s,,,::tls::cmac,
2940: 2c 2c 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a  ,,"wrong # args:
2950: 20 73 68 6f 75 6c 64 20 62 65 20 22 22 3a 3a 74   should be ""::t
2960: 6c 73 3a 3a 63 6d 61 63 20 3f 2d 62 69 6e 7c 2d  ls::cmac ?-bin|-
2970: 68 65 78 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61  hex? ?-cipher na
2980: 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d  me? ?-digest nam
2990: 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d  e? ?-key key? ?-
29a0: 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e  mac name? [-chan
29b0: 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d  nel chan | -comm
29c0: 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66  and cmdName | -f
29d0: 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f  ile filename | ?
29e0: 2d 64 61 74 61 3f 20 64 61 74 61 5d 22 22 22 2c  -data? data]""",
29f0: 2c 2c 31 0a 43 4d 41 43 20 45 72 72 6f 72 73 2c  ,,1.CMAC Errors,
2a00: 54 6f 6f 20 6d 61 6e 79 20 61 72 67 73 2c 2c 2c  Too many args,,,
2a10: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 74 6f 6f 20  ::tls::cmac too 
2a20: 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e  many command lin
2a30: 65 20 61 72 67 73 20 74 6f 20 70 61 73 73 20 74  e args to pass t
2a40: 68 65 20 74 65 73 74 20 77 69 74 68 6f 75 74 20  he test without 
2a50: 61 6e 20 65 72 72 6f 72 20 6f 72 20 66 61 69 6c  an error or fail
2a60: 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61  ing,,,"wrong # a
2a70: 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22  rgs: should be "
2a80: 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 3f 2d 62  "::tls::cmac ?-b
2a90: 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65  in|-hex? ?-ciphe
2aa0: 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74  r name? ?-digest
2ab0: 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79   name? ?-key key
2ac0: 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d  ? ?-mac name? [-
2ad0: 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d  channel chan | -
2ae0: 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20  command cmdName 
2af0: 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65  | -file filename
2b00: 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d   | ?-data? data]
2b10: 22 22 22 2c 2c 2c 31 0a 43 4d 41 43 20 45 72 72  """,,,1.CMAC Err
2b20: 6f 72 73 2c 4e 6f 20 63 69 70 68 65 72 2c 2c 2c  ors,No cipher,,,
2b30: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 68 65 78  ::tls::cmac -hex
2b40: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74   -data $test_dat
2b50: 61 2c 2c 2c 4e 6f 20 63 69 70 68 65 72 20 73 70  a,,,No cipher sp
2b60: 65 63 69 66 69 65 64 2c 2c 2c 31 0a 43 4d 41 43  ecified,,,1.CMAC
2b70: 20 45 72 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c 2c   Errors,No key,,
2b80: 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69  ,::tls::cmac -ci
2b90: 70 68 65 72 20 24 74 65 73 74 5f 63 69 70 68 65  pher $test_ciphe
2ba0: 72 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  r -data $test_da
2bb0: 74 61 2c 2c 2c 4e 6f 20 6b 65 79 20 73 70 65 63  ta,,,No key spec
2bc0: 69 66 69 65 64 2c 2c 2c 31 0a 43 4d 41 43 20 45  ified,,,1.CMAC E
2bd0: 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 63 69  rrors,Invalid ci
2be0: 70 68 65 72 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d  pher,,,::tls::cm
2bf0: 61 63 20 2d 63 69 70 68 65 72 20 62 6f 67 75 73  ac -cipher bogus
2c00: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74   -data $test_dat
2c10: 61 2c 2c 2c 22 49 6e 76 61 6c 69 64 20 63 69 70  a,,,"Invalid cip
2c20: 68 65 72 20 22 22 62 6f 67 75 73 22 22 22 2c 2c  her ""bogus""",,
2c30: 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c  ,1.,,,,,,,,,,.,,
2c40: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
2c50: 2c 23 20 54 65 73 74 20 48 4d 41 43 20 63 6f 6d  ,# Test HMAC com
2c60: 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  mand,,,,,,,,,.co
2c70: 6d 6d 61 6e 64 2c 73 65 74 20 74 65 73 74 5f 64  mmand,set test_d
2c80: 69 67 65 73 74 20 6d 64 35 2c 2c 2c 2c 2c 2c 2c  igest md5,,,,,,,
2c90: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
2ca0: 74 65 73 74 5f 6b 65 79 20 22 22 45 78 61 6d 70  test_key ""Examp
2cb0: 6c 65 20 6b 65 79 22 22 22 2c 2c 2c 2c 2c 2c 2c  le key""",,,,,,,
2cc0: 2c 2c 0a 48 4d 41 43 2c 64 61 74 61 2c 2c 2c 3a  ,,.HMAC,data,,,:
2cd0: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
2ce0: 73 74 20 24 74 65 73 74 5f 64 69 67 65 73 74 20  st $test_digest 
2cf0: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d  -key $test_key -
2d00: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
2d10: 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 62  ,,f98327ef3e20ab
2d20: 36 64 33 38 38 66 36 37 36 63 36 61 37 39 64 39  6d388f676c6a79d9
2d30: 33 64 2c 2c 2c 0a 48 4d 41 43 2c 66 69 6c 65 2c  3d,,,.HMAC,file,
2d40: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
2d50: 69 67 65 73 74 20 24 74 65 73 74 5f 64 69 67 65  igest $test_dige
2d60: 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65  st -key $test_ke
2d70: 79 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69  y -file $test_fi
2d80: 6c 65 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32  le,,,f98327ef3e2
2d90: 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61 37  0ab6d388f676c6a7
2da0: 39 64 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c 63 68  9d93d,,,.HMAC,ch
2db0: 61 6e 6e 65 6c 2c 2c 2c 64 69 67 65 73 74 5f 72  annel,,,digest_r
2dc0: 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a  ead_chan ::tls::
2dd0: 68 6d 61 63 20 24 74 65 73 74 5f 66 69 6c 65 20  hmac $test_file 
2de0: 2d 64 69 67 65 73 74 20 24 74 65 73 74 5f 64 69  -digest $test_di
2df0: 67 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f  gest -key $test_
2e00: 6b 65 79 2c 2c 2c 66 39 38 33 32 37 65 66 33 65  key,,,f98327ef3e
2e10: 32 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61  20ab6d388f676c6a
2e20: 37 39 64 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c 63  79d93d,,,.HMAC,c
2e30: 6f 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74 5f  ommand,,,digest_
2e40: 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74  accumulate $test
2e50: 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 68 6d 61  _data ::tls::hma
2e60: 63 20 2d 64 69 67 65 73 74 20 24 74 65 73 74 5f  c -digest $test_
2e70: 64 69 67 65 73 74 20 2d 6b 65 79 20 24 74 65 73  digest -key $tes
2e80: 74 5f 6b 65 79 2c 2c 2c 66 39 38 33 32 37 65 66  t_key,,,f98327ef
2e90: 33 65 32 30 61 62 36 64 33 38 38 66 36 37 36 63  3e20ab6d388f676c
2ea0: 36 61 37 39 64 39 33 64 2c 2c 2c 0a 48 4d 41 43  6a79d93d,,,.HMAC
2eb0: 2c 64 61 74 61 20 62 69 6e 2c 2c 2c 62 69 6e 61  ,data bin,,,bina
2ec0: 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a  ry encode hex [:
2ed0: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
2ee0: 73 74 20 24 74 65 73 74 5f 64 69 67 65 73 74 20  st $test_digest 
2ef0: 2d 62 69 6e 20 2d 6b 65 79 20 24 74 65 73 74 5f  -bin -key $test_
2f00: 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f  key -data $test_
2f10: 64 61 74 61 5d 2c 2c 2c 66 39 38 33 32 37 65 66  data],,,f98327ef
2f20: 33 65 32 30 61 62 36 64 33 38 38 66 36 37 36 63  3e20ab6d388f676c
2f30: 36 61 37 39 64 39 33 64 2c 2c 2c 0a 2c 2c 2c 2c  6a79d93d,,,.,,,,
2f40: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
2f50: 20 54 65 73 74 20 4d 44 20 48 4d 41 43 2c 2c 2c   Test MD HMAC,,,
2f60: 2c 2c 2c 2c 2c 2c 0a 4d 44 20 48 4d 41 43 2c 64  ,,,,,,.MD HMAC,d
2f70: 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  ata,,,::tls::md 
2f80: 2d 64 69 67 65 73 74 20 24 74 65 73 74 5f 64 69  -digest $test_di
2f90: 67 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f  gest -key $test_
2fa0: 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f  key -data $test_
2fb0: 64 61 74 61 2c 2c 2c 66 39 38 33 32 37 65 66 33  data,,,f98327ef3
2fc0: 65 32 30 61 62 36 64 33 38 38 66 36 37 36 63 36  e20ab6d388f676c6
2fd0: 61 37 39 64 39 33 64 2c 2c 2c 0a 4d 44 20 48 4d  a79d93d,,,.MD HM
2fe0: 41 43 2c 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a  AC,file,,,::tls:
2ff0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 24 74 65 73  :md -digest $tes
3000: 74 5f 64 69 67 65 73 74 20 2d 6b 65 79 20 24 74  t_digest -key $t
3010: 65 73 74 5f 6b 65 79 20 2d 66 69 6c 65 20 24 74  est_key -file $t
3020: 65 73 74 5f 66 69 6c 65 2c 2c 2c 66 39 38 33 32  est_file,,,f9832
3030: 37 65 66 33 65 32 30 61 62 36 64 33 38 38 66 36  7ef3e20ab6d388f6
3040: 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a 4d  76c6a79d93d,,,.M
3050: 44 20 48 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c 2c  D HMAC,channel,,
3060: 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61  ,digest_read_cha
3070: 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73  n ::tls::md $tes
3080: 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 24  t_file -digest $
3090: 74 65 73 74 5f 64 69 67 65 73 74 20 2d 6b 65 79  test_digest -key
30a0: 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39 38   $test_key,,,f98
30b0: 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38  327ef3e20ab6d388
30c0: 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c  f676c6a79d93d,,,
30d0: 0a 4d 44 20 48 4d 41 43 2c 63 6f 6d 6d 61 6e 64  .MD HMAC,command
30e0: 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63 75 6d 75  ,,,digest_accumu
30f0: 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74 61 20  late $test_data 
3100: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
3110: 74 20 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d  t $test_digest -
3120: 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c  key $test_key,,,
3130: 66 39 38 33 32 37 65 66 33 65 32 30 61 62 36 64  f98327ef3e20ab6d
3140: 33 38 38 66 36 37 36 63 36 61 37 39 64 39 33 64  388f676c6a79d93d
3150: 2c 2c 2c 0a 4d 44 20 48 4d 41 43 2c 64 61 74 61  ,,,.MD HMAC,data
3160: 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e   bin,,,binary en
3170: 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a  code hex [::tls:
3180: 3a 6d 64 20 2d 64 69 67 65 73 74 20 24 74 65 73  :md -digest $tes
3190: 74 5f 64 69 67 65 73 74 20 2d 62 69 6e 20 2d 6b  t_digest -bin -k
31a0: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61  ey $test_key -da
31b0: 74 61 20 24 74 65 73 74 5f 64 61 74 61 5d 2c 2c  ta $test_data],,
31c0: 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 62 36  ,f98327ef3e20ab6
31d0: 64 33 38 38 66 36 37 36 63 36 61 37 39 64 39 33  d388f676c6a79d93
31e0: 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  d,,,.,,,,,,,,,,.
31f0: 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 48  command,# Test H
3200: 4d 41 43 20 53 68 6f 72 74 63 75 74 2c 2c 2c 2c  MAC Shortcut,,,,
3210: 2c 2c 2c 2c 2c 0a 48 4d 41 43 20 53 68 6f 72 74  ,,,,,.HMAC Short
3220: 63 75 74 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73  cut,data,,,::tls
3230: 3a 3a 68 6d 61 63 20 24 74 65 73 74 5f 64 69 67  ::hmac $test_dig
3240: 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  est -key $test_k
3250: 65 79 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  ey $test_data,,,
3260: 66 39 38 33 32 37 65 66 33 65 32 30 61 62 36 64  f98327ef3e20ab6d
3270: 33 38 38 66 36 37 36 63 36 61 37 39 64 39 33 64  388f676c6a79d93d
3280: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
3290: 6f 6d 6d 61 6e 64 2c 23 20 48 4d 41 43 20 45 72  ommand,# HMAC Er
32a0: 72 6f 72 20 43 61 73 65 73 2c 2c 2c 2c 2c 2c 2c  ror Cases,,,,,,,
32b0: 2c 2c 0a 48 4d 41 43 20 45 72 72 6f 72 73 2c 54  ,,.HMAC Errors,T
32c0: 6f 6f 20 66 65 77 20 61 72 67 73 2c 2c 2c 3a 3a  oo few args,,,::
32d0: 74 6c 73 3a 3a 68 6d 61 63 2c 2c 2c 22 77 72 6f  tls::hmac,,,"wro
32e0: 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c  ng # args: shoul
32f0: 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 68 6d  d be ""::tls::hm
3300: 61 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f  ac ?-bin|-hex? ?
3310: 2d 63 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f 2d  -cipher name? ?-
3320: 64 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b  digest name? ?-k
3330: 65 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e 61  ey key? ?-mac na
3340: 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63 68  me? [-channel ch
3350: 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d  an | -command cm
3360: 64 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66 69  dName | -file fi
3370: 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61 3f  lename | ?-data?
3380: 20 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 48 4d   data]""",,,1.HM
3390: 41 43 20 45 72 72 6f 72 73 2c 54 6f 6f 20 6d 61  AC Errors,Too ma
33a0: 6e 79 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a  ny args,,,::tls:
33b0: 3a 68 6d 61 63 20 74 6f 6f 20 6d 61 6e 79 20 63  :hmac too many c
33c0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 73  ommand line args
33d0: 20 74 6f 20 70 61 73 73 20 74 68 65 20 74 65 73   to pass the tes
33e0: 74 20 77 69 74 68 6f 75 74 20 61 6e 20 65 72 72  t without an err
33f0: 6f 72 20 6f 72 20 66 61 69 6c 69 6e 67 2c 2c 2c  or or failing,,,
3400: 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73  "wrong # args: s
3410: 68 6f 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73  hould be ""::tls
3420: 3a 3a 68 6d 61 63 20 3f 2d 62 69 6e 7c 2d 68 65  ::hmac ?-bin|-he
3430: 78 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61 6d 65  x? ?-cipher name
3440: 3f 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d 65 3f  ? ?-digest name?
3450: 20 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d 61   ?-key key? ?-ma
3460: 63 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65  c name? [-channe
3470: 6c 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e  l chan | -comman
3480: 64 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66 69 6c  d cmdName | -fil
3490: 65 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64  e filename | ?-d
34a0: 61 74 61 3f 20 64 61 74 61 5d 22 22 22 2c 2c 2c  ata? data]""",,,
34b0: 31 0a 48 4d 41 43 20 45 72 72 6f 72 73 2c 4e 6f  1.HMAC Errors,No
34c0: 20 64 69 67 65 73 74 2c 2c 2c 3a 3a 74 6c 73 3a   digest,,,::tls:
34d0: 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 61 74 61  :hmac -hex -data
34e0: 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 4e 6f   $test_data,,,No
34f0: 20 64 69 67 65 73 74 20 73 70 65 63 69 66 69 65   digest specifie
3500: 64 2c 2c 2c 31 0a 48 4d 41 43 20 45 72 72 6f 72  d,,,1.HMAC Error
3510: 73 2c 4e 6f 20 6b 65 79 2c 2c 2c 3a 3a 74 6c 73  s,No key,,,::tls
3520: 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73  ::hmac -digest s
3530: 68 61 32 35 36 20 2d 64 61 74 61 20 24 74 65 73  ha256 -data $tes
3540: 74 5f 64 61 74 61 2c 2c 2c 4e 6f 20 6b 65 79 20  t_data,,,No key 
3550: 73 70 65 63 69 66 69 65 64 2c 2c 2c 31 0a 48 4d  specified,,,1.HM
3560: 41 43 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c 69  AC Errors,Invali
3570: 64 20 64 69 67 65 73 74 2c 2c 2c 3a 3a 74 6c 73  d digest,,,::tls
3580: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 62 6f 67  ::md -digest bog
3590: 75 73 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65  us -key $test_ke
35a0: 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  y -data $test_da
35b0: 74 61 2c 2c 2c 22 49 6e 76 61 6c 69 64 20 64 69  ta,,,"Invalid di
35c0: 67 65 73 74 20 22 22 62 6f 67 75 73 22 22 22 2c  gest ""bogus""",
35d0: 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c  ,,1.,,,,,,,,,,.,
35e0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
35f0: 64 2c 23 20 54 65 73 74 20 4d 41 43 20 63 6f 6d  d,# Test MAC com
3600: 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  mand,,,,,,,,,.co
3610: 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f  mmand,"set test_
3620: 63 69 70 68 65 72 20 22 22 61 65 73 2d 31 32 38  cipher ""aes-128
3630: 2d 63 62 63 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c  -cbc""",,,,,,,,,
3640: 0a 63 6f 6d 6d 61 6e 64 2c 73 65 74 20 74 65 73  .command,set tes
3650: 74 5f 64 69 67 65 73 74 20 73 68 61 32 35 36 2c  t_digest sha256,
3660: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
3670: 2c 22 73 65 74 20 74 65 73 74 5f 6b 65 79 20 22  ,"set test_key "
3680: 22 45 78 61 6d 70 6c 65 20 6b 65 79 20 31 32 33  "Example key 123
3690: 34 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 41  4""",,,,,,,,,.MA
36a0: 43 2c 43 4d 41 43 2c 2c 2c 3a 3a 74 6c 73 3a 3a  C,CMAC,,,::tls::
36b0: 6d 61 63 20 2d 63 69 70 68 65 72 20 24 74 65 73  mac -cipher $tes
36c0: 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74  t_cipher -key $t
36d0: 65 73 74 5f 6b 65 79 20 2d 6d 61 63 20 63 6d 61  est_key -mac cma
36e0: 63 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  c -data $test_da
36f0: 74 61 2c 2c 2c 62 61 66 35 63 32 30 66 39 39 37  ta,,,baf5c20f997
3700: 33 65 32 64 36 30 36 62 31 34 63 37 65 66 64 66  3e2d606b14c7efdf
3710: 65 35 32 66 61 2c 2c 2c 0a 4d 41 43 2c 48 4d 41  e52fa,,,.MAC,HMA
3720: 43 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d  C,,,::tls::mac -
3730: 64 69 67 65 73 74 20 24 74 65 73 74 5f 64 69 67  digest $test_dig
3740: 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  est -key $test_k
3750: 65 79 20 2d 6d 61 63 20 68 6d 61 63 20 2d 64 61  ey -mac hmac -da
3760: 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  ta $test_data,,,
3770: 36 37 36 64 61 66 39 36 33 37 30 64 30 65 33 63  676daf96370d0e3c
3780: 35 35 39 38 35 35 37 64 61 33 38 61 39 61 38 31  5598557da38a9a81
3790: 30 61 34 66 62 61 63 62 62 32 64 31 30 63 36 37  0a4fbacbb2d10c67
37a0: 66 36 64 66 61 38 33 66 31 30 66 34 38 65 39 36  f6dfa83f10f48e96
37b0: 2c 2c 2c 0a 4d 41 43 2c 4d 44 2d 43 4d 41 43 2c  ,,,.MAC,MD-CMAC,
37c0: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 63 69 70  ,,::tls::md -cip
37d0: 68 65 72 20 24 74 65 73 74 5f 63 69 70 68 65 72  her $test_cipher
37e0: 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20   -key $test_key 
37f0: 2d 6d 61 63 20 63 6d 61 63 20 2d 64 61 74 61 20  -mac cmac -data 
3800: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 62 61 66  $test_data,,,baf
3810: 35 63 32 30 66 39 39 37 33 65 32 64 36 30 36 62  5c20f9973e2d606b
3820: 31 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c  14c7efdfe52fa,,,
3830: 0a 4d 41 43 2c 4d 44 2d 48 4d 41 43 2c 2c 2c 3a  .MAC,MD-HMAC,,,:
3840: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
3850: 20 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d 6b   $test_digest -k
3860: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 6d 61  ey $test_key -ma
3870: 63 20 68 6d 61 63 20 2d 64 61 74 61 20 24 74 65  c hmac -data $te
3880: 73 74 5f 64 61 74 61 2c 2c 2c 36 37 36 64 61 66  st_data,,,676daf
3890: 39 36 33 37 30 64 30 65 33 63 35 35 39 38 35 35  96370d0e3c559855
38a0: 37 64 61 33 38 61 39 61 38 31 30 61 34 66 62 61  7da38a9a810a4fba
38b0: 63 62 62 32 64 31 30 63 36 37 66 36 64 66 61 38  cbb2d10c67f6dfa8
38c0: 33 66 31 30 66 34 38 65 39 36 2c 2c 2c 0a 2c 2c  3f10f48e96,,,.,,
38d0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
38e0: 2c 23 20 4d 41 43 20 45 72 72 6f 72 20 43 61 73  ,# MAC Error Cas
38f0: 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 41 43 20  es,,,,,,,,,.MAC 
3900: 45 72 72 6f 72 73 2c 54 6f 6f 20 66 65 77 20 61  Errors,Too few a
3910: 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63  rgs,,,::tls::mac
3920: 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61 72 67 73  ,,,"wrong # args
3930: 3a 20 73 68 6f 75 6c 64 20 62 65 20 22 22 3a 3a  : should be ""::
3940: 74 6c 73 3a 3a 6d 61 63 20 3f 2d 62 69 6e 7c 2d  tls::mac ?-bin|-
3950: 68 65 78 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61  hex? ?-cipher na
3960: 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d  me? ?-digest nam
3970: 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d  e? ?-key key? ?-
3980: 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e  mac name? [-chan
3990: 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d  nel chan | -comm
39a0: 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66  and cmdName | -f
39b0: 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f  ile filename | ?
39c0: 2d 64 61 74 61 3f 20 64 61 74 61 5d 22 22 22 2c  -data? data]""",
39d0: 2c 2c 31 0a 4d 41 43 20 45 72 72 6f 72 73 2c 4e  ,,1.MAC Errors,N
39e0: 6f 20 6d 61 63 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  o mac,,,::tls::m
39f0: 61 63 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65  ac -key $test_ke
3a00: 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  y -data $test_da
3a10: 74 61 2c 2c 2c 4e 6f 20 4d 41 43 20 73 70 65 63  ta,,,No MAC spec
3a20: 69 66 69 65 64 2c 2c 2c 31 0a 4d 41 43 20 45 72  ified,,,1.MAC Er
3a30: 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c 2c 2c 3a 3a  rors,No key,,,::
3a40: 74 6c 73 3a 3a 6d 61 63 20 2d 6d 61 63 20 68 6d  tls::mac -mac hm
3a50: 61 63 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64  ac -data $test_d
3a60: 61 74 61 2c 2c 2c 4e 6f 20 6b 65 79 20 73 70 65  ata,,,No key spe
3a70: 63 69 66 69 65 64 2c 2c 2c 31 0a 4d 41 43 20 45  cified,,,1.MAC E
3a80: 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 4d 41  rrors,Invalid MA
3a90: 43 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d  C,,,::tls::mac -
3aa0: 6d 61 63 20 73 63 72 79 70 74 20 2d 6b 65 79 20  mac scrypt -key 
3ab0: 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74 61 20  $test_key -data 
3ac0: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 22 49 6e  $test_data,,,"In
3ad0: 76 61 6c 69 64 20 4d 41 43 20 22 22 73 63 72 79  valid MAC ""scry
3ae0: 70 74 22 22 22 2c 2c 2c 31 0a 4d 41 43 20 45 72  pt""",,,1.MAC Er
3af0: 72 6f 72 73 2c 54 6f 6f 20 6d 61 6e 79 20 61 72  rors,Too many ar
3b00: 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20  gs,,,::tls::mac 
3b10: 74 6f 6f 20 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64  too many command
3b20: 20 6c 69 6e 65 20 61 72 67 73 20 74 6f 20 70 61   line args to pa
3b30: 73 73 20 74 68 65 20 74 65 73 74 20 77 69 74 68  ss the test with
3b40: 6f 75 74 20 61 6e 20 65 72 72 6f 72 20 6f 72 20  out an error or 
3b50: 66 61 69 6c 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67  failing,,,"wrong
3b60: 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20   # args: should 
3b70: 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 6d 61 63 20  be ""::tls::mac 
3b80: 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69  ?-bin|-hex? ?-ci
3b90: 70 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67  pher name? ?-dig
3ba0: 65 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20  est name? ?-key 
3bb0: 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f  key? ?-mac name?
3bc0: 20 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20   [-channel chan 
3bd0: 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61  | -command cmdNa
3be0: 6d 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e  me | -file filen
3bf0: 61 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61  ame | ?-data? da
3c00: 74 61 5d 22 22 22 2c 2c 2c 31 0a 2c 2c 2c 2c 2c  ta]""",,,1.,,,,,
3c10: 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  ,,,,,.,,,,,,,,,,
3c20: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 31  .command,# RFC 1
3c30: 33 32 31 20 4d 65 73 73 61 67 65 20 44 69 67 65  321 Message Dige
3c40: 73 74 20 35 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46  st 5,,,,,,,,,.RF
3c50: 43 31 33 32 31 2d 4d 44 35 2c 54 43 31 2c 2c 2c  C1321-MD5,TC1,,,
3c60: 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65  "::tls::md -dige
3c70: 73 74 20 6d 64 35 20 2d 64 61 74 61 20 22 22 22  st md5 -data """
3c80: 22 22 2c 2c 2c 64 34 31 64 38 63 64 39 38 66 30  "",,,d41d8cd98f0
3c90: 30 62 32 30 34 65 39 38 30 30 39 39 38 65 63 66  0b204e9800998ecf
3ca0: 38 34 32 37 65 2c 2c 2c 0a 52 46 43 31 33 32 31  8427e,,,.RFC1321
3cb0: 2d 4d 44 35 2c 54 43 32 2c 2c 2c 22 3a 3a 74 6c  -MD5,TC2,,,"::tl
3cc0: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64  s::md -digest md
3cd0: 35 20 2d 64 61 74 61 20 22 22 61 22 22 22 2c 2c  5 -data ""a""",,
3ce0: 2c 30 63 63 31 37 35 62 39 63 30 66 31 62 36 61  ,0cc175b9c0f1b6a
3cf0: 38 33 31 63 33 39 39 65 32 36 39 37 37 32 36 36  831c399e26977266
3d00: 31 2c 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44 35  1,,,.RFC1321-MD5
3d10: 2c 54 43 33 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d  ,TC3,,,"::tls::m
3d20: 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64  d -digest md5 -d
3d30: 61 74 61 20 22 22 61 62 63 22 22 22 2c 2c 2c 39  ata ""abc""",,,9
3d40: 30 30 31 35 30 39 38 33 63 64 32 34 66 62 30 64  00150983cd24fb0d
3d50: 36 39 36 33 66 37 64 32 38 65 31 37 66 37 32 2c  6963f7d28e17f72,
3d60: 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44 35 2c 54  ,,.RFC1321-MD5,T
3d70: 43 34 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20  C4,,,"::tls::md 
3d80: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74  -digest md5 -dat
3d90: 61 20 22 22 6d 65 73 73 61 67 65 20 64 69 67 65  a ""message dige
3da0: 73 74 22 22 22 2c 2c 2c 66 39 36 62 36 39 37 64  st""",,,f96b697d
3db0: 37 63 62 37 39 33 38 64 35 32 35 61 32 66 33 31  7cb7938d525a2f31
3dc0: 61 61 66 31 36 31 64 30 2c 2c 2c 0a 52 46 43 31  aaf161d0,,,.RFC1
3dd0: 33 32 31 2d 4d 44 35 2c 54 43 35 2c 2c 2c 22 3a  321-MD5,TC5,,,":
3de0: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
3df0: 20 6d 64 35 20 2d 64 61 74 61 20 22 22 61 62 63   md5 -data ""abc
3e00: 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73  defghijklmnopqrs
3e10: 74 75 76 77 78 79 7a 22 22 22 2c 2c 2c 63 33 66  tuvwxyz""",,,c3f
3e20: 63 64 33 64 37 36 31 39 32 65 34 30 30 37 64 66  cd3d76192e4007df
3e30: 62 34 39 36 63 63 61 36 37 65 31 33 62 2c 2c 2c  b496cca67e13b,,,
3e40: 0a 52 46 43 31 33 32 31 2d 4d 44 35 2c 54 43 36  .RFC1321-MD5,TC6
3e50: 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  ,,,"::tls::md -d
3e60: 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20  igest md5 -data 
3e70: 22 22 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e  ""ABCDEFGHIJKLMN
3e80: 4f 50 51 52 53 54 55 56 57 58 59 5a 61 62 63 64  OPQRSTUVWXYZabcd
3e90: 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74  efghijklmnopqrst
3ea0: 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39  uvwxyz0123456789
3eb0: 22 22 22 2c 2c 2c 64 31 37 34 61 62 39 38 64 32  """,,,d174ab98d2
3ec0: 37 37 64 39 66 35 61 35 36 31 31 63 32 63 39 66  77d9f5a5611c2c9f
3ed0: 34 31 39 64 39 66 2c 2c 2c 0a 52 46 43 31 33 32  419d9f,,,.RFC132
3ee0: 31 2d 4d 44 35 2c 54 43 37 2c 2c 2c 22 3a 3a 74  1-MD5,TC7,,,"::t
3ef0: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d  ls::md -digest m
3f00: 64 35 20 2d 64 61 74 61 20 5b 73 74 72 69 6e 67  d5 -data [string
3f10: 20 72 65 70 65 61 74 20 22 22 31 32 33 34 35 36   repeat ""123456
3f20: 37 38 39 30 22 22 20 38 5d 22 2c 2c 2c 35 37 65  7890"" 8]",,,57e
3f30: 64 66 34 61 32 32 62 65 33 63 39 35 35 61 63 34  df4a22be3c955ac4
3f40: 39 64 61 32 65 32 31 30 37 62 36 37 61 2c 2c 2c  9da2e2107b67a,,,
3f50: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  .,,,,,,,,,,.comm
3f60: 61 6e 64 2c 23 20 52 46 43 20 36 32 33 34 20 53  and,# RFC 6234 S
3f70: 48 41 31 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43  HA1,,,,,,,,,.RFC
3f80: 36 32 33 34 2d 4d 44 2d 53 48 41 31 2c 54 43 31  6234-MD-SHA1,TC1
3f90: 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  ,,,"::tls::md -d
3fa0: 69 67 65 73 74 20 73 68 61 31 20 2d 64 61 74 61  igest sha1 -data
3fb0: 20 22 22 61 62 63 22 22 22 2c 2c 2c 61 39 39 39   ""abc""",,,a999
3fc0: 33 65 33 36 34 37 30 36 38 31 36 61 62 61 33 65  3e364706816aba3e
3fd0: 32 35 37 31 37 38 35 30 63 32 36 63 39 63 64 30  25717850c26c9cd0
3fe0: 64 38 39 64 2c 2c 2c 0a 52 46 43 36 32 33 34 2d  d89d,,,.RFC6234-
3ff0: 4d 44 2d 53 48 41 31 2c 54 43 32 5f 31 2c 2c 2c  MD-SHA1,TC2_1,,,
4000: 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65  "::tls::md -dige
4010: 73 74 20 73 68 61 31 20 2d 64 61 74 61 20 22 22  st sha1 -data ""
4020: 61 62 63 64 62 63 64 65 63 64 65 66 64 65 66 67  abcdbcdecdefdefg
4030: 65 66 67 68 66 67 68 69 67 68 69 6a 68 69 6a 6b  efghfghighijhijk
4040: 69 6a 6b 6c 6a 6b 6c 6d 6b 6c 6d 6e 6c 6d 6e 6f  ijkljklmklmnlmno
4050: 6d 6e 6f 70 6e 6f 70 71 22 22 22 2c 2c 2c 38 34  mnopnopq""",,,84
4060: 39 38 33 65 34 34 31 63 33 62 64 32 36 65 62 61  983e441c3bd26eba
4070: 61 65 34 61 61 31 66 39 35 31 32 39 65 35 65 35  ae4aa1f95129e5e5
4080: 34 36 37 30 66 31 2c 2c 2c 0a 52 46 43 36 32 33  4670f1,,,.RFC623
4090: 34 2d 4d 44 2d 53 48 41 31 2c 54 43 33 2c 2c 2c  4-MD-SHA1,TC3,,,
40a0: 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65  "::tls::md -dige
40b0: 73 74 20 73 68 61 31 20 2d 64 61 74 61 20 5b 73  st sha1 -data [s
40c0: 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 61  tring repeat ""a
40d0: 22 22 20 31 30 30 30 30 30 30 5d 22 2c 2c 2c 33  "" 1000000]",,,3
40e0: 34 61 61 39 37 33 63 64 34 63 34 64 61 61 34 66  4aa973cd4c4daa4f
40f0: 36 31 65 65 62 32 62 64 62 61 64 32 37 33 31 36  61eeb2bdbad27316
4100: 35 33 34 30 31 36 66 2c 2c 2c 0a 52 46 43 36 32  534016f,,,.RFC62
4110: 33 34 2d 4d 44 2d 53 48 41 31 2c 54 43 34 2c 2c  34-MD-SHA1,TC4,,
4120: 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,"::tls::md -dig
4130: 65 73 74 20 73 68 61 31 20 2d 64 61 74 61 20 5b  est sha1 -data [
4140: 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22  string repeat ""
4150: 30 31 32 33 34 35 36 37 22 22 20 38 30 5d 22 2c  01234567"" 80]",
4160: 2c 2c 64 65 61 33 35 36 61 32 63 64 64 64 39 30  ,,dea356a2cddd90
4170: 63 37 61 37 65 63 65 64 63 35 65 62 62 35 36 33  c7a7ecedc5ebb563
4180: 39 33 34 66 34 36 30 34 35 32 2c 2c 2c 0a 52 46  934f460452,,,.RF
4190: 43 36 32 33 34 2d 4d 44 2d 53 48 41 31 2c 54 43  C6234-MD-SHA1,TC
41a0: 36 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  6,,,"::tls::md -
41b0: 64 69 67 65 73 74 20 73 68 61 31 20 2d 64 61 74  digest sha1 -dat
41c0: 61 20 22 22 5c 78 35 65 22 22 22 2c 2c 2c 35 65  a ""\x5e""",,,5e
41d0: 36 66 38 30 61 33 34 61 39 37 39 38 63 61 66 63  6f80a34a9798cafc
41e0: 36 61 35 64 62 39 36 63 63 35 37 62 61 34 63 34  6a5db96cc57ba4c4
41f0: 64 62 35 39 63 32 2c 2c 2c 0a 52 46 43 36 32 33  db59c2,,,.RFC623
4200: 34 2d 4d 44 2d 53 48 41 31 2c 54 43 38 5f 31 2c  4-MD-SHA1,TC8_1,
4210: 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ,,"::tls::md -di
4220: 67 65 73 74 20 73 68 61 31 20 2d 64 61 74 61 20  gest sha1 -data 
4230: 22 22 5c 78 39 61 5c 78 37 64 5c 78 66 64 5c 78  ""\x9a\x7d\xfd\x
4240: 66 31 5c 78 65 63 5c 78 65 61 5c 78 64 30 5c 78  f1\xec\xea\xd0\x
4250: 36 65 5c 78 64 36 5c 78 34 36 5c 78 61 61 5c 78  6e\xd6\x46\xaa\x
4260: 35 35 5c 78 66 65 5c 78 37 35 5c 78 37 31 5c 78  55\xfe\x75\x71\x
4270: 34 36 22 22 22 2c 2c 2c 38 32 61 62 66 66 36 36  46""",,,82abff66
4280: 30 35 64 62 65 31 63 31 37 64 65 66 31 32 61 33  05dbe1c17def12a3
4290: 39 34 66 61 32 32 61 38 32 62 35 34 34 61 33 35  94fa22a82b544a35
42a0: 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53  ,,,.RFC6234-MD-S
42b0: 48 41 31 2c 54 43 31 30 5f 31 2c 2c 2c 22 3a 3a  HA1,TC10_1,,,"::
42c0: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
42d0: 73 68 61 31 20 2d 64 61 74 61 20 22 22 5c 78 66  sha1 -data ""\xf
42e0: 37 5c 78 38 66 5c 78 39 32 5c 78 31 34 5c 78 31  7\x8f\x92\x14\x1
42f0: 62 5c 78 63 64 5c 78 31 37 5c 78 30 61 5c 78 65  b\xcd\x17\x0a\xe
4300: 38 5c 78 39 62 5c 78 34 66 5c 78 62 61 5c 78 31  8\x9b\x4f\xba\x1
4310: 35 5c 78 61 31 5c 78 64 35 5c 78 39 66 5c 78 33  5\xa1\xd5\x9f\x3
4320: 66 5c 78 64 38 5c 78 34 64 5c 78 32 32 5c 78 33  f\xd8\x4d\x22\x3
4330: 63 5c 78 39 32 5c 78 35 31 5c 78 62 64 5c 78 61  c\x92\x51\xbd\xa
4340: 63 5c 78 62 62 5c 78 61 65 5c 78 36 31 5c 78 64  c\xbb\xae\x61\xd
4350: 30 5c 78 35 65 5c 78 64 31 5c 78 31 35 5c 78 61  0\x5e\xd1\x15\xa
4360: 30 5c 78 36 61 5c 78 37 63 5c 78 65 31 5c 78 31  0\x6a\x7c\xe1\x1
4370: 37 5c 78 62 37 5c 78 62 65 5c 78 65 61 5c 78 64  7\xb7\xbe\xea\xd
4380: 32 5c 78 34 34 5c 78 32 31 5c 78 64 65 5c 78 64  2\x44\x21\xde\xd
4390: 39 5c 78 63 33 5c 78 32 35 5c 78 39 32 5c 78 62  9\xc3\x25\x92\xb
43a0: 64 5c 78 35 37 5c 78 65 64 5c 78 65 61 5c 78 65  d\x57\xed\xea\xe
43b0: 33 5c 78 39 63 5c 78 33 39 5c 78 66 61 5c 78 31  3\x9c\x39\xfa\x1
43c0: 66 5c 78 65 38 5c 78 39 34 5c 78 36 61 5c 78 38  f\xe8\x94\x6a\x8
43d0: 34 5c 78 64 30 5c 78 63 66 5c 78 31 66 5c 78 37  4\xd0\xcf\x1f\x7
43e0: 62 5c 78 65 65 5c 78 61 64 5c 78 31 37 5c 78 31  b\xee\xad\x17\x1
43f0: 33 5c 78 65 32 5c 78 65 30 5c 78 39 35 5c 78 39  3\xe2\xe0\x95\x9
4400: 38 5c 78 39 37 5c 78 33 34 5c 78 37 66 5c 78 36  8\x97\x34\x7f\x6
4410: 37 5c 78 63 38 5c 78 30 62 5c 78 30 34 5c 78 30  7\xc8\x0b\x04\x0
4420: 30 5c 78 63 32 5c 78 30 39 5c 78 38 31 5c 78 35  0\xc2\x09\x81\x5
4430: 64 5c 78 36 62 5c 78 31 30 5c 78 61 36 5c 78 38  d\x6b\x10\xa6\x8
4440: 33 5c 78 38 33 5c 78 36 66 5c 78 64 35 5c 78 35  3\x83\x6f\xd5\x5
4450: 36 5c 78 32 61 5c 78 35 36 5c 78 63 61 5c 78 62  6\x2a\x56\xca\xb
4460: 31 5c 78 61 32 5c 78 38 65 5c 78 38 31 5c 78 62  1\xa2\x8e\x81\xb
4470: 36 5c 78 35 37 5c 78 36 36 5c 78 35 34 5c 78 36  6\x57\x66\x54\x6
4480: 33 5c 78 31 63 5c 78 66 31 5c 78 36 35 5c 78 36  3\x1c\xf1\x65\x6
4490: 36 5c 78 62 38 5c 78 36 65 5c 78 33 62 5c 78 33  6\xb8\x6e\x3b\x3
44a0: 33 5c 78 61 31 5c 78 30 38 5c 78 62 30 5c 78 35  3\xa1\x08\xb0\x5
44b0: 33 5c 78 30 37 5c 78 63 30 5c 78 30 61 5c 78 66  3\x07\xc0\x0a\xf
44c0: 66 5c 78 31 34 5c 78 61 37 5c 78 36 38 5c 78 65  f\x14\xa7\x68\xe
44d0: 64 5c 78 37 33 5c 78 35 30 5c 78 36 30 5c 78 36  d\x73\x50\x60\x6
44e0: 61 5c 78 30 66 5c 78 38 35 5c 78 65 36 5c 78 61  a\x0f\x85\xe6\xa
44f0: 39 5c 78 31 64 5c 78 33 39 5c 78 36 66 5c 78 35  9\x1d\x39\x6f\x5
4500: 62 5c 78 35 63 5c 78 62 65 5c 78 35 37 5c 78 37  b\x5c\xbe\x57\x7
4510: 66 5c 78 39 62 5c 78 33 38 5c 78 38 30 5c 78 37  f\x9b\x38\x80\x7
4520: 63 5c 78 37 64 5c 78 35 32 5c 78 33 64 5c 78 36  c\x7d\x52\x3d\x6
4530: 64 5c 78 37 39 5c 78 32 66 5c 78 36 65 5c 78 62  d\x79\x2f\x6e\xb
4540: 63 5c 78 32 34 5c 78 61 34 5c 78 65 63 5c 78 66  c\x24\xa4\xec\xf
4550: 32 5c 78 62 33 5c 78 61 34 5c 78 32 37 5c 78 63  2\xb3\xa4\x27\xc
4560: 64 5c 78 62 62 5c 78 66 62 22 22 22 2c 2c 2c 63  d\xbb\xfb""",,,c
4570: 62 30 30 38 32 63 38 66 31 39 37 64 32 36 30 39  b0082c8f197d2609
4580: 39 31 62 61 36 61 34 36 30 65 37 36 65 32 30 32  91ba6a460e76e202
4590: 62 61 64 32 37 62 33 2c 2c 2c 0a 2c 2c 2c 2c 2c  bad27b3,,,.,,,,,
45a0: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
45b0: 52 46 43 20 36 32 33 34 20 53 48 41 32 35 36 2c  RFC 6234 SHA256,
45c0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 36 32 33 34  ,,,,,,,,.RFC6234
45d0: 2d 4d 44 2d 53 48 41 32 35 36 2c 54 43 31 2c 2c  -MD-SHA256,TC1,,
45e0: 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,"::tls::md -dig
45f0: 65 73 74 20 73 68 61 32 35 36 20 2d 64 61 74 61  est sha256 -data
4600: 20 22 22 61 62 63 22 22 22 2c 2c 2c 62 61 37 38   ""abc""",,,ba78
4610: 31 36 62 66 38 66 30 31 63 66 65 61 34 31 34 31  16bf8f01cfea4141
4620: 34 30 64 65 35 64 61 65 32 32 32 33 62 30 30 33  40de5dae2223b003
4630: 36 31 61 33 39 36 31 37 37 61 39 63 62 34 31 30  61a396177a9cb410
4640: 66 66 36 31 66 32 30 30 31 35 61 64 2c 2c 2c 0a  ff61f20015ad,,,.
4650: 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 32 35  RFC6234-MD-SHA25
4660: 36 2c 54 43 32 5f 31 2c 2c 2c 22 3a 3a 74 6c 73  6,TC2_1,,,"::tls
4670: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
4680: 32 35 36 20 2d 64 61 74 61 20 22 22 61 62 63 64  256 -data ""abcd
4690: 62 63 64 65 63 64 65 66 64 65 66 67 65 66 67 68  bcdecdefdefgefgh
46a0: 66 67 68 69 67 68 69 6a 68 69 6a 6b 69 6a 6b 6c  fghighijhijkijkl
46b0: 6a 6b 6c 6d 6b 6c 6d 6e 6c 6d 6e 6f 6d 6e 6f 70  jklmklmnlmnomnop
46c0: 6e 6f 70 71 22 22 22 2c 2c 2c 32 34 38 64 36 61  nopq""",,,248d6a
46d0: 36 31 64 32 30 36 33 38 62 38 65 35 63 30 32 36  61d20638b8e5c026
46e0: 39 33 30 63 33 65 36 30 33 39 61 33 33 63 65 34  930c3e6039a33ce4
46f0: 35 39 36 34 66 66 32 31 36 37 66 36 65 63 65 64  5964ff2167f6eced
4700: 64 34 31 39 64 62 30 36 63 31 2c 2c 2c 0a 52 46  d419db06c1,,,.RF
4710: 43 36 32 33 34 2d 4d 44 2d 53 48 41 32 35 36 2c  C6234-MD-SHA256,
4720: 54 43 33 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64  TC3,,,"::tls::md
4730: 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20   -digest sha256 
4740: 2d 64 61 74 61 20 5b 73 74 72 69 6e 67 20 72 65  -data [string re
4750: 70 65 61 74 20 22 22 61 22 22 20 31 30 30 30 30  peat ""a"" 10000
4760: 30 30 5d 22 2c 2c 2c 63 64 63 37 36 65 35 63 39  00]",,,cdc76e5c9
4770: 39 31 34 66 62 39 32 38 31 61 31 63 37 65 32 38  914fb9281a1c7e28
4780: 34 64 37 33 65 36 37 66 31 38 30 39 61 34 38 61  4d73e67f1809a48a
4790: 34 39 37 32 30 30 65 30 34 36 64 33 39 63 63 63  497200e046d39ccc
47a0: 37 31 31 32 63 64 30 2c 2c 2c 0a 52 46 43 36 32  7112cd0,,,.RFC62
47b0: 33 34 2d 4d 44 2d 53 48 41 32 35 36 2c 54 43 34  34-MD-SHA256,TC4
47c0: 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  ,,,"::tls::md -d
47d0: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 64 61  igest sha256 -da
47e0: 74 61 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61  ta [string repea
47f0: 74 20 22 22 30 31 32 33 34 35 36 37 22 22 20 38  t ""01234567"" 8
4800: 30 5d 22 2c 2c 2c 35 39 34 38 34 37 33 32 38 34  0]",,,5948473284
4810: 35 31 62 64 66 61 38 35 30 35 36 32 32 35 34 36  51bdfa8505622546
4820: 32 63 63 31 64 38 36 37 64 38 37 37 66 62 33 38  2cc1d867d877fb38
4830: 38 64 66 30 63 65 33 35 66 32 35 61 62 35 35 36  8df0ce35f25ab556
4840: 32 62 66 62 62 35 2c 2c 2c 0a 52 46 43 36 32 33  2bfbb5,,,.RFC623
4850: 34 2d 4d 44 2d 53 48 41 32 35 36 2c 54 43 36 2c  4-MD-SHA256,TC6,
4860: 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ,,"::tls::md -di
4870: 67 65 73 74 20 73 68 61 32 35 36 20 2d 64 61 74  gest sha256 -dat
4880: 61 20 22 22 5c 78 31 39 22 22 22 2c 2c 2c 36 38  a ""\x19""",,,68
4890: 61 61 32 65 32 65 65 35 64 66 66 39 36 65 33 33  aa2e2ee5dff96e33
48a0: 35 35 65 36 63 37 65 65 33 37 33 65 33 64 36 61  55e6c7ee373e3d6a
48b0: 34 65 31 37 66 37 35 66 39 35 31 38 64 38 34 33  4e17f75f9518d843
48c0: 37 30 39 63 30 63 39 62 63 33 65 33 64 34 2c 2c  709c0c9bc3e3d4,,
48d0: 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41  ,.RFC6234-MD-SHA
48e0: 32 35 36 2c 54 43 38 5f 32 35 36 2c 2c 2c 22 3a  256,TC8_256,,,":
48f0: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
4900: 20 73 68 61 32 35 36 20 2d 64 61 74 61 20 22 22   sha256 -data ""
4910: 5c 78 65 33 5c 78 64 37 5c 78 32 35 5c 78 37 30  \xe3\xd7\x25\x70
4920: 5c 78 64 63 5c 78 64 64 5c 78 37 38 5c 78 37 63  \xdc\xdd\x78\x7c
4930: 5c 78 65 33 5c 78 38 38 5c 78 37 61 5c 78 62 32  \xe3\x88\x7a\xb2
4940: 5c 78 63 64 5c 78 36 38 5c 78 34 36 5c 78 35 32  \xcd\x68\x46\x52
4950: 22 22 22 2c 2c 2c 31 37 35 65 65 36 39 62 30 32  """,,,175ee69b02
4960: 62 61 39 62 35 38 65 32 62 30 61 35 66 64 31 33  ba9b58e2b0a5fd13
4970: 38 31 39 63 65 61 35 37 33 66 33 39 34 30 61 39  819cea573f3940a9
4980: 34 66 38 32 35 31 32 38 63 66 34 32 30 39 62 65  4f825128cf4209be
4990: 61 62 62 34 65 38 2c 2c 2c 0a 52 46 43 36 32 33  abb4e8,,,.RFC623
49a0: 34 2d 4d 44 2d 53 48 41 32 35 36 2c 54 43 31 30  4-MD-SHA256,TC10
49b0: 5f 32 35 36 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d  _256,,,"::tls::m
49c0: 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  d -digest sha256
49d0: 20 2d 64 61 74 61 20 22 22 5c 78 38 33 5c 78 32   -data ""\x83\x2
49e0: 36 5c 78 37 35 5c 78 34 65 5c 78 32 32 5c 78 37  6\x75\x4e\x22\x7
49f0: 37 5c 78 33 37 5c 78 32 66 5c 78 34 66 5c 78 63  7\x37\x2f\x4f\xc
4a00: 31 5c 78 32 62 5c 78 32 30 5c 78 35 32 5c 78 37  1\x2b\x20\x52\x7
4a10: 61 5c 78 66 65 5c 78 66 30 5c 78 34 64 5c 78 38  a\xfe\xf0\x4d\x8
4a20: 61 5c 78 30 35 5c 78 36 39 5c 78 37 31 5c 78 62  a\x05\x69\x71\xb
4a30: 31 5c 78 31 61 5c 78 64 35 5c 78 37 31 5c 78 32  1\x1a\xd5\x71\x2
4a40: 33 5c 78 61 37 5c 78 63 31 5c 78 33 37 5c 78 37  3\xa7\xc1\x37\x7
4a50: 36 5c 78 30 30 5c 78 30 30 5c 78 64 37 5c 78 62  6\x00\x00\xd7\xb
4a60: 65 5c 78 66 36 5c 78 66 33 5c 78 63 31 5c 78 66  e\xf6\xf3\xc1\xf
4a70: 37 5c 78 61 39 5c 78 30 38 5c 78 33 61 5c 78 61  7\xa9\x08\x3a\xa
4a80: 33 5c 78 39 64 5c 78 38 31 5c 78 30 64 5c 78 62  3\x9d\x81\x0d\xb
4a90: 33 5c 78 31 30 5c 78 37 37 5c 78 37 64 5c 78 61  3\x10\x77\x7d\xa
4aa0: 62 5c 78 38 62 5c 78 31 65 5c 78 37 66 5c 78 30  b\x8b\x1e\x7f\x0
4ab0: 32 5c 78 62 38 5c 78 34 61 5c 78 32 36 5c 78 63  2\xb8\x4a\x26\xc
4ac0: 37 5c 78 37 33 5c 78 33 32 5c 78 35 66 5c 78 38  7\x73\x32\x5f\x8
4ad0: 62 5c 78 32 33 5c 78 37 34 5c 78 64 65 5c 78 37  b\x23\x74\xde\x7
4ae0: 61 5c 78 34 62 5c 78 35 61 5c 78 35 38 5c 78 63  a\x4b\x5a\x58\xc
4af0: 62 5c 78 35 63 5c 78 35 63 5c 78 66 33 5c 78 35  b\x5c\x5c\xf3\x5
4b00: 62 5c 78 63 65 5c 78 65 36 5c 78 66 62 5c 78 39  b\xce\xe6\xfb\x9
4b10: 34 5c 78 36 65 5c 78 35 62 5c 78 64 36 5c 78 39  4\x6e\x5b\xd6\x9
4b20: 34 5c 78 66 61 5c 78 35 39 5c 78 33 61 5c 78 38  4\xfa\x59\x3a\x8
4b30: 62 5c 78 65 62 5c 78 33 66 5c 78 39 64 5c 78 36  b\xeb\x3f\x9d\x6
4b40: 35 5c 78 39 32 5c 78 65 63 5c 78 65 64 5c 78 61  5\x92\xec\xed\xa
4b50: 61 5c 78 36 36 5c 78 63 61 5c 78 38 32 5c 78 61  a\x66\xca\x82\xa
4b60: 32 5c 78 39 64 5c 78 30 63 5c 78 35 31 5c 78 62  2\x9d\x0c\x51\xb
4b70: 63 5c 78 66 39 5c 78 33 33 5c 78 36 32 5c 78 33  c\xf9\x33\x62\x3
4b80: 30 5c 78 65 35 5c 78 64 37 5c 78 38 34 5c 78 65  0\xe5\xd7\x84\xe
4b90: 34 5c 78 63 30 5c 78 61 34 5c 78 33 66 5c 78 38  4\xc0\xa4\x3f\x8
4ba0: 64 5c 78 37 39 5c 78 61 33 5c 78 30 61 5c 78 31  d\x79\xa3\x0a\x1
4bb0: 36 5c 78 35 63 5c 78 62 61 5c 78 62 65 5c 78 34  6\x5c\xba\xbe\x4
4bc0: 35 5c 78 32 62 5c 78 37 37 5c 78 34 62 5c 78 39  5\x2b\x77\x4b\x9
4bd0: 63 5c 78 37 31 5c 78 30 39 5c 78 61 39 5c 78 37  c\x71\x09\xa9\x7
4be0: 64 5c 78 31 33 5c 78 38 66 5c 78 31 32 5c 78 39  d\x13\x8f\x12\x9
4bf0: 32 5c 78 32 38 5c 78 39 36 5c 78 36 66 5c 78 36  2\x28\x96\x6f\x6
4c00: 63 5c 78 30 61 5c 78 64 63 5c 78 31 30 5c 78 36  c\x0a\xdc\x10\x6
4c10: 61 5c 78 61 64 5c 78 35 61 5c 78 39 66 5c 78 64  a\xad\x5a\x9f\xd
4c20: 64 5c 78 33 30 5c 78 38 32 5c 78 35 37 5c 78 36  d\x30\x82\x57\x6
4c30: 39 5c 78 62 32 5c 78 63 36 5c 78 37 31 5c 78 61  9\xb2\xc6\x71\xa
4c40: 66 5c 78 36 37 5c 78 35 39 5c 78 64 66 5c 78 32  f\x67\x59\xdf\x2
4c50: 38 5c 78 65 62 5c 78 33 39 5c 78 33 64 5c 78 35  8\xeb\x39\x3d\x5
4c60: 34 5c 78 64 36 22 22 22 2c 2c 2c 39 37 64 62 63  4\xd6""",,,97dbc
4c70: 61 37 64 66 34 36 64 36 32 63 38 61 34 32 32 63  a7df46d62c8a422c
4c80: 39 34 31 64 64 37 65 38 33 35 62 38 61 64 33 33  941dd7e835b8ad33
4c90: 36 31 37 36 33 66 37 65 39 62 32 64 39 35 66 34  61763f7e9b2d95f4
4ca0: 66 30 64 61 36 65 31 63 63 62 63 2c 2c 2c 0a 2c  f0da6e1ccbc,,,.,
4cb0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
4cc0: 64 2c 23 20 52 46 43 20 34 32 33 31 20 48 4d 41  d,# RFC 4231 HMA
4cd0: 43 20 45 78 61 6d 70 6c 65 73 20 54 65 73 74 20  C Examples Test 
4ce0: 43 61 73 65 20 23 31 2c 2c 2c 2c 2c 2c 2c 2c 2c  Case #1,,,,,,,,,
4cf0: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65  .command,"set ke
4d00: 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  y [binary decode
4d10: 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70   hex [string rep
4d20: 65 61 74 20 22 22 30 62 22 22 20 32 30 5d 5d 22  eat ""0b"" 20]]"
4d30: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
4d40: 64 2c 22 73 65 74 20 64 61 74 61 20 22 22 48 69  d,"set data ""Hi
4d50: 20 54 68 65 72 65 22 22 22 2c 2c 2c 2c 2c 2c 2c   There""",,,,,,,
4d60: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
4d70: 54 43 31 2c 73 68 61 32 32 34 2c 2c 2c 3a 3a 74  TC1,sha224,,,::t
4d80: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
4d90: 20 73 68 61 32 32 34 20 2d 6b 65 79 20 24 6b 65   sha224 -key $ke
4da0: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
4db0: 38 39 36 66 62 31 31 32 38 61 62 62 64 66 31 39  896fb1128abbdf19
4dc0: 36 38 33 32 31 30 37 63 64 34 39 64 66 33 33 66  6832107cd49df33f
4dd0: 34 37 62 34 62 31 31 36 39 39 31 32 62 61 34 66  47b4b1169912ba4f
4de0: 35 33 36 38 34 62 32 32 2c 2c 2c 0a 52 46 43 34  53684b22,,,.RFC4
4df0: 32 33 31 20 48 4d 41 43 20 54 43 31 2c 73 68 61  231 HMAC TC1,sha
4e00: 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61  256,,,::tls::hma
4e10: 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  c -digest sha256
4e20: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
4e30: 20 24 64 61 74 61 2c 2c 2c 62 30 33 34 34 63 36   $data,,,b0344c6
4e40: 31 64 38 64 62 33 38 35 33 35 63 61 38 61 66 63  1d8db38535ca8afc
4e50: 65 61 66 30 62 66 31 32 62 38 38 31 64 63 32 30  eaf0bf12b881dc20
4e60: 30 63 39 38 33 33 64 61 37 32 36 65 39 33 37 36  0c9833da726e9376
4e70: 63 32 65 33 32 63 66 66 37 2c 2c 2c 0a 52 46 43  c2e32cff7,,,.RFC
4e80: 34 32 33 31 20 48 4d 41 43 20 54 43 31 2c 73 68  4231 HMAC TC1,sh
4e90: 61 33 38 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d  a384,,,::tls::hm
4ea0: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 33 38  ac -digest sha38
4eb0: 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  4 -key $key -dat
4ec0: 61 20 24 64 61 74 61 2c 2c 2c 61 66 64 30 33 39  a $data,,,afd039
4ed0: 34 34 64 38 34 38 39 35 36 32 36 62 30 38 32 35  44d84895626b0825
4ee0: 66 34 61 62 34 36 39 30 37 66 31 35 66 39 64 61  f4ab46907f15f9da
4ef0: 64 62 65 34 31 30 31 65 63 36 38 32 61 61 30 33  dbe4101ec682aa03
4f00: 34 63 37 63 65 62 63 35 39 63 66 61 65 61 39 65  4c7cebc59cfaea9e
4f10: 61 39 30 37 36 65 64 65 37 66 34 61 66 31 35 32  a9076ede7f4af152
4f20: 65 38 62 32 66 61 39 63 62 36 2c 2c 2c 0a 52 46  e8b2fa9cb6,,,.RF
4f30: 43 34 32 33 31 20 48 4d 41 43 20 54 43 31 2c 73  C4231 HMAC TC1,s
4f40: 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68  ha512,,,::tls::h
4f50: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 35  mac -digest sha5
4f60: 31 32 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  12 -key $key -da
4f70: 74 61 20 24 64 61 74 61 2c 2c 2c 38 37 61 61 37  ta $data,,,87aa7
4f80: 63 64 65 61 35 65 66 36 31 39 64 34 66 66 30 62  cdea5ef619d4ff0b
4f90: 34 32 34 31 61 31 64 36 63 62 30 32 33 37 39 66  4241a1d6cb02379f
4fa0: 34 65 32 63 65 34 65 63 32 37 38 37 61 64 30 62  4e2ce4ec2787ad0b
4fb0: 33 30 35 34 35 65 31 37 63 64 65 64 61 61 38 33  30545e17cdedaa83
4fc0: 33 62 37 64 36 62 38 61 37 30 32 30 33 38 62 32  3b7d6b8a702038b2
4fd0: 37 34 65 61 65 61 33 66 34 65 34 62 65 39 64 39  74eaea3f4e4be9d9
4fe0: 31 34 65 65 62 36 31 66 31 37 30 32 65 36 39 36  14eeb61f1702e696
4ff0: 63 32 30 33 61 31 32 36 38 35 34 2c 2c 2c 0a 2c  c203a126854,,,.,
5000: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
5010: 64 2c 23 20 52 46 43 20 34 32 33 31 20 48 4d 41  d,# RFC 4231 HMA
5020: 43 20 45 78 61 6d 70 6c 65 73 20 54 65 73 74 20  C Examples Test 
5030: 43 61 73 65 20 23 32 20 2d 20 54 65 73 74 20 77  Case #2 - Test w
5040: 69 74 68 20 61 20 6b 65 79 20 73 68 6f 72 74 65  ith a key shorte
5050: 72 20 74 68 61 6e 20 74 68 65 20 6c 65 6e 67 74  r than the lengt
5060: 68 20 6f 66 20 74 68 65 20 48 4d 41 43 20 6f 75  h of the HMAC ou
5070: 74 70 75 74 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  tput.,,,,,,,,,.c
5080: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20  ommand,"set key 
5090: 22 22 4a 65 66 65 22 22 22 2c 2c 2c 2c 2c 2c 2c  ""Jefe""",,,,,,,
50a0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
50b0: 64 61 74 61 20 22 22 77 68 61 74 20 64 6f 20 79  data ""what do y
50c0: 61 20 77 61 6e 74 20 66 6f 72 20 6e 6f 74 68 69  a want for nothi
50d0: 6e 67 3f 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  ng?""",,,,,,,,,.
50e0: 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 32  RFC4231 HMAC TC2
50f0: 2c 73 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha224,,,::tls:
5100: 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68  :hmac -digest sh
5110: 61 32 32 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d  a224 -key $key -
5120: 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 61 33 30  data $data,,,a30
5130: 65 30 31 30 39 38 62 63 36 64 62 62 66 34 35 36  e01098bc6dbbf456
5140: 39 30 66 33 61 37 65 39 65 36 64 30 66 38 62 62  90f3a7e9e6d0f8bb
5150: 65 61 32 61 33 39 65 36 31 34 38 30 30 38 66 64  ea2a39e6148008fd
5160: 30 35 65 34 34 2c 2c 2c 0a 52 46 43 34 32 33 31  05e44,,,.RFC4231
5170: 20 48 4d 41 43 20 54 43 32 2c 73 68 61 32 35 36   HMAC TC2,sha256
5180: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
5190: 64 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b  digest sha256 -k
51a0: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
51b0: 61 74 61 2c 2c 2c 35 62 64 63 63 31 34 36 62 66  ata,,,5bdcc146bf
51c0: 36 30 37 35 34 65 36 61 30 34 32 34 32 36 30 38  60754e6a04242608
51d0: 39 35 37 35 63 37 35 61 30 30 33 66 30 38 39 64  9575c75a003f089d
51e0: 32 37 33 39 38 33 39 64 65 63 35 38 62 39 36 34  2739839dec58b964
51f0: 65 63 33 38 34 33 2c 2c 2c 0a 52 46 43 34 32 33  ec3843,,,.RFC423
5200: 31 20 48 4d 41 43 20 54 43 32 2c 73 68 61 33 38  1 HMAC TC2,sha38
5210: 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  4,,,::tls::hmac 
5220: 2d 64 69 67 65 73 74 20 73 68 61 33 38 34 20 2d  -digest sha384 -
5230: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
5240: 64 61 74 61 2c 2c 2c 61 66 34 35 64 32 65 33 37  data,,,af45d2e37
5250: 36 34 38 34 30 33 31 36 31 37 66 37 38 64 32 62  6484031617f78d2b
5260: 35 38 61 36 62 31 62 39 63 37 65 66 34 36 34 66  58a6b1b9c7ef464f
5270: 35 61 30 31 62 34 37 65 34 32 65 63 33 37 33 36  5a01b47e42ec3736
5280: 33 32 32 34 34 35 65 38 65 32 32 34 30 63 61 35  322445e8e2240ca5
5290: 65 36 39 65 32 63 37 38 62 33 32 33 39 65 63 66  e69e2c78b3239ecf
52a0: 61 62 32 31 36 34 39 2c 2c 2c 0a 52 46 43 34 32  ab21649,,,.RFC42
52b0: 33 31 20 48 4d 41 43 20 54 43 32 2c 73 68 61 35  31 HMAC TC2,sha5
52c0: 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63  12,,,::tls::hmac
52d0: 20 2d 64 69 67 65 73 74 20 73 68 61 35 31 32 20   -digest sha512 
52e0: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
52f0: 24 64 61 74 61 2c 2c 2c 31 36 34 62 37 61 37 62  $data,,,164b7a7b
5300: 66 63 66 38 31 39 65 32 65 33 39 35 66 62 65 37  fcf819e2e395fbe7
5310: 33 62 35 36 65 30 61 33 38 37 62 64 36 34 32 32  3b56e0a387bd6422
5320: 32 65 38 33 31 66 64 36 31 30 32 37 30 63 64 37  2e831fd610270cd7
5330: 65 61 32 35 30 35 35 34 39 37 35 38 62 66 37 35  ea2505549758bf75
5340: 63 30 35 61 39 39 34 61 36 64 30 33 34 66 36 35  c05a994a6d034f65
5350: 66 38 66 30 65 36 66 64 63 61 65 61 62 31 61 33  f8f0e6fdcaeab1a3
5360: 34 64 34 61 36 62 34 62 36 33 36 65 30 37 30 61  4d4a6b4b636e070a
5370: 33 38 62 63 65 37 33 37 2c 2c 2c 0a 2c 2c 2c 2c  38bce737,,,.,,,,
5380: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
5390: 20 52 46 43 20 34 32 33 31 20 48 4d 41 43 20 45   RFC 4231 HMAC E
53a0: 78 61 6d 70 6c 65 73 20 54 65 73 74 20 43 61 73  xamples Test Cas
53b0: 65 20 23 33 20 2d 20 54 65 73 74 20 77 69 74 68  e #3 - Test with
53c0: 20 61 20 63 6f 6d 62 69 6e 65 64 20 6c 65 6e 67   a combined leng
53d0: 74 68 20 6f 66 20 6b 65 79 20 61 6e 64 20 64 61  th of key and da
53e0: 74 61 20 74 68 61 74 20 69 73 20 6c 61 72 67 65  ta that is large
53f0: 72 20 74 68 61 6e 20 36 34 20 62 79 74 65 73 20  r than 64 bytes 
5400: 28 3d 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66  (= block-size of
5410: 20 53 48 41 2d 32 32 34 20 61 6e 64 20 53 48 41   SHA-224 and SHA
5420: 2d 32 35 36 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  -256).,,,,,,,,,.
5430: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79  command,"set key
5440: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
5450: 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70 65  hex [string repe
5460: 61 74 20 22 22 61 61 22 22 20 32 30 5d 5d 22 2c  at ""aa"" 20]]",
5470: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
5480: 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61  ,"set data [bina
5490: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73  ry decode hex [s
54a0: 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 64  tring repeat ""d
54b0: 64 22 22 20 35 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c  d"" 50]]",,,,,,,
54c0: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
54d0: 54 43 33 2c 73 68 61 32 32 34 2c 2c 2c 3a 3a 74  TC3,sha224,,,::t
54e0: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
54f0: 20 73 68 61 32 32 34 20 2d 6b 65 79 20 24 6b 65   sha224 -key $ke
5500: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
5510: 37 66 62 33 63 62 33 35 38 38 63 36 63 31 66 36  7fb3cb3588c6c1f6
5520: 66 66 61 39 36 39 34 64 37 64 36 61 64 32 36 34  ffa9694d7d6ad264
5530: 39 33 36 35 62 30 63 31 66 36 35 64 36 39 64 31  9365b0c1f65d69d1
5540: 65 63 38 33 33 33 65 61 2c 2c 2c 0a 52 46 43 34  ec8333ea,,,.RFC4
5550: 32 33 31 20 48 4d 41 43 20 54 43 33 2c 73 68 61  231 HMAC TC3,sha
5560: 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61  256,,,::tls::hma
5570: 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  c -digest sha256
5580: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
5590: 20 24 64 61 74 61 2c 2c 2c 37 37 33 65 61 39 31   $data,,,773ea91
55a0: 65 33 36 38 30 30 65 34 36 38 35 34 64 62 38 65  e36800e46854db8e
55b0: 62 64 30 39 31 38 31 61 37 32 39 35 39 30 39 38  bd09181a72959098
55c0: 62 33 65 66 38 63 31 32 32 64 39 36 33 35 35 31  b3ef8c122d963551
55d0: 34 63 65 64 35 36 35 66 65 2c 2c 2c 0a 52 46 43  4ced565fe,,,.RFC
55e0: 34 32 33 31 20 48 4d 41 43 20 54 43 33 2c 73 68  4231 HMAC TC3,sh
55f0: 61 33 38 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d  a384,,,::tls::hm
5600: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 33 38  ac -digest sha38
5610: 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  4 -key $key -dat
5620: 61 20 24 64 61 74 61 2c 2c 2c 38 38 30 36 32 36  a $data,,,880626
5630: 30 38 64 33 65 36 61 64 38 61 30 61 61 32 61 63  08d3e6ad8a0aa2ac
5640: 65 30 31 34 63 38 61 38 36 66 30 61 61 36 33 35  e014c8a86f0aa635
5650: 64 39 34 37 61 63 39 66 65 62 65 38 33 65 66 34  d947ac9febe83ef4
5660: 65 35 35 39 36 36 31 34 34 62 32 61 35 61 62 33  e55966144b2a5ab3
5670: 39 64 63 31 33 38 31 34 62 39 34 65 33 61 62 36  9dc13814b94e3ab6
5680: 65 31 30 31 61 33 34 66 32 37 2c 2c 2c 0a 52 46  e101a34f27,,,.RF
5690: 43 34 32 33 31 20 48 4d 41 43 20 54 43 33 2c 73  C4231 HMAC TC3,s
56a0: 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68  ha512,,,::tls::h
56b0: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 35  mac -digest sha5
56c0: 31 32 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  12 -key $key -da
56d0: 74 61 20 24 64 61 74 61 2c 2c 2c 66 61 37 33 62  ta $data,,,fa73b
56e0: 30 30 38 39 64 35 36 61 32 38 34 65 66 62 30 66  0089d56a284efb0f
56f0: 30 37 35 36 63 38 39 30 62 65 39 62 31 62 35 64  0756c890be9b1b5d
5700: 62 64 64 38 65 65 38 31 61 33 36 35 35 66 38 33  bdd8ee81a3655f83
5710: 65 33 33 62 32 32 37 39 64 33 39 62 66 33 65 38  e33b2279d39bf3e8
5720: 34 38 32 37 39 61 37 32 32 63 38 30 36 62 34 38  48279a722c806b48
5730: 35 61 34 37 65 36 37 63 38 30 37 62 39 34 36 61  5a47e67c807b946a
5740: 33 33 37 62 65 65 38 39 34 32 36 37 34 32 37 38  337bee8942674278
5750: 38 35 39 65 31 33 32 39 32 66 62 2c 2c 2c 0a 2c  859e13292fb,,,.,
5760: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
5770: 64 2c 23 20 52 46 43 20 34 32 33 31 20 48 4d 41  d,# RFC 4231 HMA
5780: 43 20 45 78 61 6d 70 6c 65 73 20 54 65 73 74 20  C Examples Test 
5790: 43 61 73 65 20 23 34 20 2d 20 54 65 73 74 20 77  Case #4 - Test w
57a0: 69 74 68 20 61 20 63 6f 6d 62 69 6e 65 64 20 6c  ith a combined l
57b0: 65 6e 67 74 68 20 6f 66 20 6b 65 79 20 61 6e 64  ength of key and
57c0: 20 64 61 74 61 20 74 68 61 74 20 69 73 20 6c 61   data that is la
57d0: 72 67 65 72 20 74 68 61 6e 20 36 34 20 62 79 74  rger than 64 byt
57e0: 65 73 20 28 3d 20 62 6c 6f 63 6b 2d 73 69 7a 65  es (= block-size
57f0: 20 6f 66 20 53 48 41 2d 32 32 34 20 61 6e 64 20   of SHA-224 and 
5800: 53 48 41 2d 32 35 36 29 2e 2c 2c 2c 2c 2c 2c 2c  SHA-256).,,,,,,,
5810: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
5820: 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  key [binary deco
5830: 64 65 20 68 65 78 20 22 22 30 31 30 32 30 33 30  de hex ""0102030
5840: 34 30 35 30 36 30 37 30 38 30 39 30 61 30 62 30  405060708090a0b0
5850: 63 30 64 30 65 30 66 31 30 31 31 31 32 31 33 31  c0d0e0f101112131
5860: 34 31 35 31 36 31 37 31 38 31 39 22 22 5d 22 2c  41516171819""]",
5870: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
5880: 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61  ,"set data [bina
5890: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73  ry decode hex [s
58a0: 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 63  tring repeat ""c
58b0: 64 22 22 20 35 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c  d"" 50]]",,,,,,,
58c0: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
58d0: 54 43 34 2c 73 68 61 32 32 34 2c 2c 2c 3a 3a 74  TC4,sha224,,,::t
58e0: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
58f0: 20 73 68 61 32 32 34 20 2d 6b 65 79 20 24 6b 65   sha224 -key $ke
5900: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
5910: 36 63 31 31 35 30 36 38 37 34 30 31 33 63 61 63  6c11506874013cac
5920: 36 61 32 61 62 63 31 62 62 33 38 32 36 32 37 63  6a2abc1bb382627c
5930: 65 63 36 61 39 30 64 38 36 65 66 63 30 31 32 64  ec6a90d86efc012d
5940: 65 37 61 66 65 63 35 61 2c 2c 2c 0a 52 46 43 34  e7afec5a,,,.RFC4
5950: 32 33 31 20 48 4d 41 43 20 54 43 34 2c 73 68 61  231 HMAC TC4,sha
5960: 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61  256,,,::tls::hma
5970: 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  c -digest sha256
5980: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
5990: 20 24 64 61 74 61 2c 2c 2c 38 32 35 35 38 61 33   $data,,,82558a3
59a0: 38 39 61 34 34 33 63 30 65 61 34 63 63 38 31 39  89a443c0ea4cc819
59b0: 38 39 39 66 32 30 38 33 61 38 35 66 30 66 61 61  899f2083a85f0faa
59c0: 33 65 35 37 38 66 38 30 37 37 61 32 65 33 66 66  3e578f8077a2e3ff
59d0: 34 36 37 32 39 36 36 35 62 2c 2c 2c 0a 52 46 43  46729665b,,,.RFC
59e0: 34 32 33 31 20 48 4d 41 43 20 54 43 34 2c 73 68  4231 HMAC TC4,sh
59f0: 61 33 38 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d  a384,,,::tls::hm
5a00: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 33 38  ac -digest sha38
5a10: 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  4 -key $key -dat
5a20: 61 20 24 64 61 74 61 2c 2c 2c 33 65 38 61 36 39  a $data,,,3e8a69
5a30: 62 37 37 38 33 63 32 35 38 35 31 39 33 33 61 62  b7783c25851933ab
5a40: 36 32 39 30 61 66 36 63 61 37 37 61 39 39 38 31  6290af6ca77a9981
5a50: 34 38 30 38 35 30 30 30 39 63 63 35 35 37 37 63  480850009cc5577c
5a60: 36 65 31 66 35 37 33 62 34 65 36 38 30 31 64 64  6e1f573b4e6801dd
5a70: 32 33 63 34 61 37 64 36 37 39 63 63 66 38 61 33  23c4a7d679ccf8a3
5a80: 38 36 63 36 37 34 63 66 66 62 2c 2c 2c 0a 52 46  86c674cffb,,,.RF
5a90: 43 34 32 33 31 20 48 4d 41 43 20 54 43 34 2c 73  C4231 HMAC TC4,s
5aa0: 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68  ha512,,,::tls::h
5ab0: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 35  mac -digest sha5
5ac0: 31 32 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  12 -key $key -da
5ad0: 74 61 20 24 64 61 74 61 2c 2c 2c 62 30 62 61 34  ta $data,,,b0ba4
5ae0: 36 35 36 33 37 34 35 38 63 36 39 39 30 65 35 61  65637458c6990e5a
5af0: 38 63 35 66 36 31 64 34 61 66 37 65 35 37 36 64  8c5f61d4af7e576d
5b00: 39 37 66 66 39 34 62 38 37 32 64 65 37 36 66 38  97ff94b872de76f8
5b10: 30 35 30 33 36 31 65 65 33 64 62 61 39 31 63 61  050361ee3dba91ca
5b20: 35 63 31 31 61 61 32 35 65 62 34 64 36 37 39 32  5c11aa25eb4d6792
5b30: 37 35 63 63 35 37 38 38 30 36 33 61 35 66 31 39  75cc5788063a5f19
5b40: 37 34 31 31 32 30 63 34 66 32 64 65 32 61 64 65  741120c4f2de2ade
5b50: 62 65 62 31 30 61 32 39 38 64 64 2c 2c 2c 0a 2c  beb10a298dd,,,.,
5b60: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
5b70: 64 2c 23 20 52 46 43 20 34 32 33 31 20 48 4d 41  d,# RFC 4231 HMA
5b80: 43 20 45 78 61 6d 70 6c 65 73 20 54 65 73 74 20  C Examples Test 
5b90: 43 61 73 65 20 23 35 20 2d 20 54 65 73 74 20 77  Case #5 - Test w
5ba0: 69 74 68 20 61 20 74 72 75 6e 63 61 74 69 6f 6e  ith a truncation
5bb0: 20 6f 66 20 6f 75 74 70 75 74 20 74 6f 20 31 32   of output to 12
5bc0: 38 20 62 69 74 73 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c  8 bits.,,,,,,,,,
5bd0: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65  .command,"set ke
5be0: 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  y [binary decode
5bf0: 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70   hex [string rep
5c00: 65 61 74 20 22 22 30 63 22 22 20 32 30 5d 5d 22  eat ""0c"" 20]]"
5c10: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
5c20: 64 2c 22 73 65 74 20 64 61 74 61 20 22 22 54 65  d,"set data ""Te
5c30: 73 74 20 57 69 74 68 20 54 72 75 6e 63 61 74 69  st With Truncati
5c40: 6f 6e 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52  on""",,,,,,,,,.R
5c50: 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 35 2c  FC4231 HMAC TC5,
5c60: 73 68 61 32 32 34 2c 2c 2c 73 74 72 69 6e 67 20  sha224,,,string 
5c70: 72 61 6e 67 65 20 5b 3a 3a 74 6c 73 3a 3a 68 6d  range [::tls::hm
5c80: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32  ac -digest sha22
5c90: 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  4 -key $key -dat
5ca0: 61 20 24 64 61 74 61 5d 20 30 20 33 31 2c 2c 2c  a $data] 0 31,,,
5cb0: 30 65 32 61 65 61 36 38 61 39 30 63 38 64 33 37  0e2aea68a90c8d37
5cc0: 63 39 38 38 62 63 64 62 39 66 63 61 36 66 61 38  c988bcdb9fca6fa8
5cd0: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43  ,,,.RFC4231 HMAC
5ce0: 20 54 43 35 2c 73 68 61 32 35 36 2c 2c 2c 73 74   TC5,sha256,,,st
5cf0: 72 69 6e 67 20 72 61 6e 67 65 20 5b 3a 3a 74 6c  ring range [::tl
5d00: 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20  s::hmac -digest 
5d10: 73 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65 79  sha256 -key $key
5d20: 20 2d 64 61 74 61 20 24 64 61 74 61 5d 20 30 20   -data $data] 0 
5d30: 33 31 2c 2c 2c 61 33 62 36 31 36 37 34 37 33 31  31,,,a3b61674731
5d40: 30 30 65 65 30 36 65 30 63 37 39 36 63 32 39 35  00ee06e0c796c295
5d50: 35 35 35 32 62 2c 2c 2c 0a 52 46 43 34 32 33 31  5552b,,,.RFC4231
5d60: 20 48 4d 41 43 20 54 43 35 2c 73 68 61 33 38 34   HMAC TC5,sha384
5d70: 2c 2c 2c 73 74 72 69 6e 67 20 72 61 6e 67 65 20  ,,,string range 
5d80: 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  [::tls::hmac -di
5d90: 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65 79  gest sha384 -key
5da0: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
5db0: 61 5d 20 30 20 33 31 2c 2c 2c 33 61 62 66 33 34  a] 0 31,,,3abf34
5dc0: 63 33 35 30 33 62 32 61 32 33 61 34 36 65 66 63  c3503b2a23a46efc
5dd0: 36 31 39 62 61 65 66 38 39 37 2c 2c 2c 0a 52 46  619baef897,,,.RF
5de0: 43 34 32 33 31 20 48 4d 41 43 20 54 43 35 2c 73  C4231 HMAC TC5,s
5df0: 68 61 35 31 32 2c 2c 2c 73 74 72 69 6e 67 20 72  ha512,,,string r
5e00: 61 6e 67 65 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61  ange [::tls::hma
5e10: 63 20 2d 64 69 67 65 73 74 20 73 68 61 35 31 32  c -digest sha512
5e20: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
5e30: 20 24 64 61 74 61 5d 20 30 20 33 31 2c 2c 2c 34   $data] 0 31,,,4
5e40: 31 35 66 61 64 36 32 37 31 35 38 30 61 35 33 31  15fad6271580a531
5e50: 64 34 31 37 39 62 63 38 39 31 64 38 37 61 36 2c  d4179bc891d87a6,
5e60: 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ,,.,,,,,,,,,,.co
5e70: 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34 32 33 31  mmand,# RFC 4231
5e80: 20 48 4d 41 43 20 45 78 61 6d 70 6c 65 73 20 54   HMAC Examples T
5e90: 65 73 74 20 43 61 73 65 20 23 36 20 2d 20 54 65  est Case #6 - Te
5ea0: 73 74 20 77 69 74 68 20 61 20 6b 65 79 20 6c 61  st with a key la
5eb0: 72 67 65 72 20 74 68 61 6e 20 31 32 38 20 62 79  rger than 128 by
5ec0: 74 65 73 20 28 3d 20 62 6c 6f 63 6b 2d 73 69 7a  tes (= block-siz
5ed0: 65 20 6f 66 20 53 48 41 2d 33 38 34 20 61 6e 64  e of SHA-384 and
5ee0: 20 53 48 41 2d 35 31 32 29 2e 2c 2c 2c 2c 2c 2c   SHA-512).,,,,,,
5ef0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
5f00: 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63   key [binary dec
5f10: 6f 64 65 20 68 65 78 20 5b 73 74 72 69 6e 67 20  ode hex [string 
5f20: 72 65 70 65 61 74 20 22 22 61 61 22 22 20 31 33  repeat ""aa"" 13
5f30: 31 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  1]]",,,,,,,,,.co
5f40: 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20  mmand,"set data 
5f50: 22 22 54 65 73 74 20 55 73 69 6e 67 20 4c 61 72  ""Test Using Lar
5f60: 67 65 72 20 54 68 61 6e 20 42 6c 6f 63 6b 2d 53  ger Than Block-S
5f70: 69 7a 65 20 4b 65 79 20 2d 20 48 61 73 68 20 4b  ize Key - Hash K
5f80: 65 79 20 46 69 72 73 74 22 22 22 2c 2c 2c 2c 2c  ey First""",,,,,
5f90: 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  ,,,,.RFC4231 HMA
5fa0: 43 20 54 43 36 2c 73 68 61 32 32 34 2c 2c 2c 3a  C TC6,sha224,,,:
5fb0: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
5fc0: 73 74 20 73 68 61 32 32 34 20 2d 6b 65 79 20 24  st sha224 -key $
5fd0: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
5fe0: 2c 2c 39 35 65 39 61 30 64 62 39 36 32 30 39 35  ,,95e9a0db962095
5ff0: 61 64 61 65 62 65 39 62 32 64 36 66 30 64 62 63  adaebe9b2d6f0dbc
6000: 65 32 64 34 39 39 66 31 31 32 66 32 64 32 62 37  e2d499f112f2d2b7
6010: 32 37 33 66 61 36 38 37 30 65 2c 2c 2c 0a 52 46  273fa6870e,,,.RF
6020: 43 34 32 33 31 20 48 4d 41 43 20 54 43 36 2c 73  C4231 HMAC TC6,s
6030: 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68  ha256,,,::tls::h
6040: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32  mac -digest sha2
6050: 35 36 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  56 -key $key -da
6060: 74 61 20 24 64 61 74 61 2c 2c 2c 36 30 65 34 33  ta $data,,,60e43
6070: 31 35 39 31 65 65 30 62 36 37 66 30 64 38 61 32  1591ee0b67f0d8a2
6080: 36 61 61 63 62 66 35 62 37 37 66 38 65 30 62 63  6aacbf5b77f8e0bc
6090: 36 32 31 33 37 32 38 63 35 31 34 30 35 34 36 30  6213728c51405460
60a0: 34 30 66 30 65 65 33 37 66 35 34 2c 2c 2c 0a 52  40f0ee37f54,,,.R
60b0: 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 36 2c  FC4231 HMAC TC6,
60c0: 73 68 61 33 38 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha384,,,::tls::
60d0: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61  hmac -digest sha
60e0: 33 38 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  384 -key $key -d
60f0: 61 74 61 20 24 64 61 74 61 2c 2c 2c 34 65 63 65  ata $data,,,4ece
6100: 30 38 34 34 38 35 38 31 33 65 39 30 38 38 64 32  084485813e9088d2
6110: 63 36 33 61 30 34 31 62 63 35 62 34 34 66 39 65  c63a041bc5b44f9e
6120: 66 31 30 31 32 61 32 62 35 38 38 66 33 63 64 31  f1012a2b588f3cd1
6130: 31 66 30 35 30 33 33 61 63 34 63 36 30 63 32 65  1f05033ac4c60c2e
6140: 66 36 61 62 34 30 33 30 66 65 38 32 39 36 32 34  f6ab4030fe829624
6150: 38 64 66 31 36 33 66 34 34 39 35 32 2c 2c 2c 0a  8df163f44952,,,.
6160: 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 36  RFC4231 HMAC TC6
6170: 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha512,,,::tls:
6180: 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68  :hmac -digest sh
6190: 61 35 31 32 20 2d 6b 65 79 20 24 6b 65 79 20 2d  a512 -key $key -
61a0: 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 38 30 62  data $data,,,80b
61b0: 32 34 32 36 33 63 37 63 31 61 33 65 62 62 37 31  24263c7c1a3ebb71
61c0: 34 39 33 63 31 64 64 37 62 65 38 62 34 39 62 34  493c1dd7be8b49b4
61d0: 36 64 31 66 34 31 62 34 61 65 65 63 31 31 32 31  6d1f41b4aeec1121
61e0: 62 30 31 33 37 38 33 66 38 66 33 35 32 36 62 35  b013783f8f3526b5
61f0: 36 64 30 33 37 65 30 35 66 32 35 39 38 62 64 30  6d037e05f2598bd0
6200: 66 64 32 32 31 35 64 36 61 31 65 35 32 39 35 65  fd2215d6a1e5295e
6210: 36 34 66 37 33 66 36 33 66 30 61 65 63 38 62 39  64f73f63f0aec8b9
6220: 31 35 61 39 38 35 64 37 38 36 35 39 38 2c 2c 2c  15a985d786598,,,
6230: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  .,,,,,,,,,,.comm
6240: 61 6e 64 2c 23 20 52 46 43 20 34 32 33 31 20 48  and,# RFC 4231 H
6250: 4d 41 43 20 45 78 61 6d 70 6c 65 73 20 54 65 73  MAC Examples Tes
6260: 74 20 43 61 73 65 20 23 37 20 2d 20 54 65 73 74  t Case #7 - Test
6270: 20 77 69 74 68 20 61 20 6b 65 79 20 61 6e 64 20   with a key and 
6280: 64 61 74 61 20 74 68 61 74 20 69 73 20 6c 61 72  data that is lar
6290: 67 65 72 20 74 68 61 6e 20 31 32 38 20 62 79 74  ger than 128 byt
62a0: 65 73 20 28 3d 20 62 6c 6f 63 6b 2d 73 69 7a 65  es (= block-size
62b0: 20 6f 66 20 53 48 41 2d 33 38 34 20 61 6e 64 20   of SHA-384 and 
62c0: 53 48 41 2d 35 31 32 29 2e 2c 2c 2c 2c 2c 2c 2c  SHA-512).,,,,,,,
62d0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
62e0: 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  key [binary deco
62f0: 64 65 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72  de hex [string r
6300: 65 70 65 61 74 20 22 22 61 61 22 22 20 31 33 31  epeat ""aa"" 131
6310: 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  ]]",,,,,,,,,.com
6320: 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20 22  mand,"set data "
6330: 22 54 68 69 73 20 69 73 20 61 20 74 65 73 74 20  "This is a test 
6340: 75 73 69 6e 67 20 61 20 6c 61 72 67 65 72 20 74  using a larger t
6350: 68 61 6e 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6b  han block-size k
6360: 65 79 20 61 6e 64 20 61 20 6c 61 72 67 65 72 20  ey and a larger 
6370: 74 68 61 6e 20 62 6c 6f 63 6b 2d 73 69 7a 65 20  than block-size 
6380: 64 61 74 61 2e 20 54 68 65 20 6b 65 79 20 6e 65  data. The key ne
6390: 65 64 73 20 74 6f 20 62 65 20 68 61 73 68 65 64  eds to be hashed
63a0: 20 62 65 66 6f 72 65 20 62 65 69 6e 67 20 75 73   before being us
63b0: 65 64 20 62 79 20 74 68 65 20 48 4d 41 43 20 61  ed by the HMAC a
63c0: 6c 67 6f 72 69 74 68 6d 2e 22 22 22 2c 2c 2c 2c  lgorithm.""",,,,
63d0: 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d  ,,,,,.RFC4231 HM
63e0: 41 43 20 54 43 37 2c 73 68 61 32 32 34 2c 2c 2c  AC TC7,sha224,,,
63f0: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
6400: 65 73 74 20 73 68 61 32 32 34 20 2d 6b 65 79 20  est sha224 -key 
6410: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
6420: 2c 2c 2c 33 61 38 35 34 31 36 36 61 63 35 64 39  ,,,3a854166ac5d9
6430: 66 30 32 33 66 35 34 64 35 31 37 64 30 62 33 39  f023f54d517d0b39
6440: 64 62 64 39 34 36 37 37 30 64 62 39 63 32 62 39  dbd946770db9c2b9
6450: 35 63 39 66 36 66 35 36 35 64 31 2c 2c 2c 0a 52  5c9f6f565d1,,,.R
6460: 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 37 2c  FC4231 HMAC TC7,
6470: 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha256,,,::tls::
6480: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61  hmac -digest sha
6490: 32 35 36 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  256 -key $key -d
64a0: 61 74 61 20 24 64 61 74 61 2c 2c 2c 39 62 30 39  ata $data,,,9b09
64b0: 66 66 61 37 31 62 39 34 32 66 63 62 32 37 36 33  ffa71b942fcb2763
64c0: 35 66 62 63 64 35 62 30 65 39 34 34 62 66 64 63  5fbcd5b0e944bfdc
64d0: 36 33 36 34 34 66 30 37 31 33 39 33 38 61 37 66  63644f0713938a7f
64e0: 35 31 35 33 35 63 33 61 33 35 65 32 2c 2c 2c 0a  51535c3a35e2,,,.
64f0: 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 37  RFC4231 HMAC TC7
6500: 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha384,,,::tls:
6510: 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68  :hmac -digest sh
6520: 61 33 38 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d  a384 -key $key -
6530: 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 36 36 31  data $data,,,661
6540: 37 31 37 38 65 39 34 31 66 30 32 30 64 33 35 31  7178e941f020d351
6550: 65 32 66 32 35 34 65 38 66 64 33 32 63 36 30 32  e2f254e8fd32c602
6560: 34 32 30 66 65 62 30 62 38 66 62 39 61 64 63 63  420feb0b8fb9adcc
6570: 65 62 62 38 32 34 36 31 65 39 39 63 35 61 36 37  ebb82461e99c5a67
6580: 38 63 63 33 31 65 37 39 39 31 37 36 64 33 38 36  8cc31e799176d386
6590: 30 65 36 31 31 30 63 34 36 35 32 33 65 2c 2c 2c  0e6110c46523e,,,
65a0: 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43  .RFC4231 HMAC TC
65b0: 37 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73  7,sha512,,,::tls
65c0: 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73  ::hmac -digest s
65d0: 68 61 35 31 32 20 2d 6b 65 79 20 24 6b 65 79 20  ha512 -key $key 
65e0: 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 65 33  -data $data,,,e3
65f0: 37 62 36 61 37 37 35 64 63 38 37 64 62 61 61 34  7b6a775dc87dbaa4
6600: 64 66 61 39 66 39 36 65 35 65 33 66 66 64 64 65  dfa9f96e5e3ffdde
6610: 62 64 37 31 66 38 38 36 37 32 38 39 38 36 35 64  bd71f8867289865d
6620: 66 35 61 33 32 64 32 30 63 64 63 39 34 34 62 36  f5a32d20cdc944b6
6630: 30 32 32 63 61 63 33 63 34 39 38 32 62 31 30 64  022cac3c4982b10d
6640: 35 65 65 62 35 35 63 33 65 34 64 65 31 35 31 33  5eeb55c3e4de1513
6650: 34 36 37 36 66 62 36 64 65 30 34 34 36 30 36 35  4676fb6de0446065
6660: 63 39 37 34 34 30 66 61 38 63 36 61 35 38 2c 2c  c97440fa8c6a58,,
6670: 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  ,.,,,,,,,,,,.com
6680: 6d 61 6e 64 2c 23 20 4e 49 53 54 20 38 30 30 2d  mand,# NIST 800-
6690: 33 38 62 20 52 65 63 6f 6d 6d 65 6e 64 61 74 69  38b Recommendati
66a0: 6f 6e 20 66 6f 72 20 42 6c 6f 63 6b 20 43 69 70  on for Block Cip
66b0: 68 65 72 20 4d 6f 64 65 73 20 6f 66 20 4f 70 65  her Modes of Ope
66c0: 72 61 74 69 6f 6e 3a 20 54 68 65 20 43 4d 41 43  ration: The CMAC
66d0: 20 4d 6f 64 65 20 66 6f 72 20 41 75 74 68 65 6e   Mode for Authen
66e0: 74 69 63 61 74 69 6f 6e 2c 2c 2c 2c 2c 2c 2c 2c  tication,,,,,,,,
66f0: 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 41 45 53 2d  ,.command,# AES-
6700: 31 32 38 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  128,,,,,,,,,.com
6710: 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62  mand,"set key [b
6720: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
6730: 20 22 22 32 62 37 65 31 35 31 36 32 38 61 65 64   ""2b7e151628aed
6740: 32 61 36 61 62 66 37 31 35 38 38 30 39 63 66 34  2a6abf7158809cf4
6750: 66 33 63 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c  f3c""]",,,,,,,,,
6760: 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53  .NIST800-38b-AES
6770: 31 32 38 2c 6c 65 6e 3d 30 2c 2c 2c 22 3a 3a 74  128,len=0,,,"::t
6780: 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72  ls::cmac -cipher
6790: 20 61 65 73 2d 31 32 38 2d 63 62 63 20 2d 6b 65   aes-128-cbc -ke
67a0: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 22 22 22  y $key -data """
67b0: 22 22 2c 2c 2c 62 62 31 64 36 39 32 39 65 39 35  "",,,bb1d6929e95
67c0: 39 33 37 32 38 37 66 61 33 37 64 31 32 39 62 37  937287fa37d129b7
67d0: 35 36 37 34 36 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  56746,,,.command
67e0: 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61  ,"set data [bina
67f0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 22 22  ry decode hex ""
6800: 36 62 63 31 62 65 65 32 32 65 34 30 39 66 39 36  6bc1bee22e409f96
6810: 65 39 33 64 37 65 31 31 37 33 39 33 31 37 32 61  e93d7e117393172a
6820: 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49  ""]",,,,,,,,,.NI
6830: 53 54 38 30 30 2d 33 38 62 2d 41 45 53 31 32 38  ST800-38b-AES128
6840: 2c 6c 65 6e 3d 31 32 38 2c 2c 2c 3a 3a 74 6c 73  ,len=128,,,::tls
6850: 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20 61  ::cmac -cipher a
6860: 65 73 2d 31 32 38 2d 63 62 63 20 2d 6b 65 79 20  es-128-cbc -key 
6870: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
6880: 2c 2c 2c 30 37 30 61 31 36 62 34 36 62 34 64 34  ,,,070a16b46b4d4
6890: 31 34 34 66 37 39 62 64 64 39 64 64 30 34 61 32  144f79bdd9dd04a2
68a0: 38 37 63 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22  87c,,,.command,"
68b0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
68c0: 20 64 65 63 6f 64 65 20 68 65 78 20 22 22 36 62   decode hex ""6b
68d0: 63 31 62 65 65 32 32 65 34 30 39 66 39 36 65 39  c1bee22e409f96e9
68e0: 33 64 37 65 31 31 37 33 39 33 31 37 32 61 61 65  3d7e117393172aae
68f0: 32 64 38 61 35 37 31 65 30 33 61 63 39 63 39 65  2d8a571e03ac9c9e
6900: 62 37 36 66 61 63 34 35 61 66 38 65 35 31 33 30  b76fac45af8e5130
6910: 63 38 31 63 34 36 61 33 35 63 65 34 31 31 22 22  c81c46a35ce411""
6920: 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54  ]",,,,,,,,,.NIST
6930: 38 30 30 2d 33 38 62 2d 41 45 53 31 32 38 2c 6c  800-38b-AES128,l
6940: 65 6e 3d 33 32 30 2c 2c 2c 3a 3a 74 6c 73 3a 3a  en=320,,,::tls::
6950: 63 6d 61 63 20 2d 63 69 70 68 65 72 20 61 65 73  cmac -cipher aes
6960: 2d 31 32 38 2d 63 62 63 20 2d 6b 65 79 20 24 6b  -128-cbc -key $k
6970: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c  ey -data $data,,
6980: 2c 64 66 61 36 36 37 34 37 64 65 39 61 65 36 33  ,dfa66747de9ae63
6990: 30 33 30 63 61 33 32 36 31 31 34 39 37 63 38 32  030ca32611497c82
69a0: 37 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65  7,,,.command,"se
69b0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
69c0: 65 63 6f 64 65 20 68 65 78 20 22 22 36 62 63 31  ecode hex ""6bc1
69d0: 62 65 65 32 32 65 34 30 39 66 39 36 65 39 33 64  bee22e409f96e93d
69e0: 37 65 31 31 37 33 39 33 31 37 32 61 61 65 32 64  7e117393172aae2d
69f0: 38 61 35 37 31 65 30 33 61 63 39 63 39 65 62 37  8a571e03ac9c9eb7
6a00: 36 66 61 63 34 35 61 66 38 65 35 31 33 30 63 38  6fac45af8e5130c8
6a10: 31 63 34 36 61 33 35 63 65 34 31 31 65 35 66 62  1c46a35ce411e5fb
6a20: 63 31 31 39 31 61 30 61 35 32 65 66 66 36 39 66  c1191a0a52eff69f
6a30: 32 34 34 35 64 66 34 66 39 62 31 37 61 64 32 62  2445df4f9b17ad2b
6a40: 34 31 37 62 65 36 36 63 33 37 31 30 22 22 5d 22  417be66c3710""]"
6a50: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30  ,,,,,,,,,.NIST80
6a60: 30 2d 33 38 62 2d 41 45 53 31 32 38 2c 6c 65 6e  0-38b-AES128,len
6a70: 3d 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d  =512,,,::tls::cm
6a80: 61 63 20 2d 63 69 70 68 65 72 20 61 65 73 2d 31  ac -cipher aes-1
6a90: 32 38 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79  28-cbc -key $key
6aa0: 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 35   -data $data,,,5
6ab0: 31 66 30 62 65 62 66 37 65 33 62 39 64 39 32 66  1f0bebf7e3b9d92f
6ac0: 63 34 39 37 34 31 37 37 39 33 36 33 63 66 65 2c  c49741779363cfe,
6ad0: 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ,,.,,,,,,,,,,.co
6ae0: 6d 6d 61 6e 64 2c 23 20 41 45 53 2d 31 39 32 2c  mmand,# AES-192,
6af0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
6b00: 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72  ,"set key [binar
6b10: 79 20 64 65 63 6f 64 65 20 68 65 78 20 22 22 38  y decode hex ""8
6b20: 65 37 33 62 30 66 37 64 61 30 65 36 34 35 32 63  e73b0f7da0e6452c
6b30: 38 31 30 66 33 32 62 38 30 39 30 37 39 65 35 36  810f32b809079e56
6b40: 32 66 38 65 61 64 32 35 32 32 63 36 62 37 62 22  2f8ead2522c6b7b"
6b50: 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53  "]",,,,,,,,,.NIS
6b60: 54 38 30 30 2d 33 38 62 2d 41 45 53 2d 31 39 32  T800-38b-AES-192
6b70: 2c 6c 65 6e 3d 30 2c 2c 2c 22 3a 3a 74 6c 73 3a  ,len=0,,,"::tls:
6b80: 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20 61 65  :cmac -cipher ae
6b90: 73 2d 31 39 32 2d 63 62 63 20 2d 6b 65 79 20 24  s-192-cbc -key $
6ba0: 6b 65 79 20 2d 64 61 74 61 20 22 22 22 22 22 2c  key -data """"",
6bb0: 2c 2c 64 31 37 64 64 66 34 36 61 64 61 61 63 64  ,,d17ddf46adaacd
6bc0: 65 35 33 31 63 61 63 34 38 33 64 65 37 61 39 33  e531cac483de7a93
6bd0: 36 37 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  67,,,.command,"s
6be0: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
6bf0: 64 65 63 6f 64 65 20 68 65 78 20 22 22 36 62 63  decode hex ""6bc
6c00: 31 62 65 65 32 32 65 34 30 39 66 39 36 65 39 33  1bee22e409f96e93
6c10: 64 37 65 31 31 37 33 39 33 31 37 32 61 22 22 5d  d7e117393172a""]
6c20: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38  ",,,,,,,,,.NIST8
6c30: 30 30 2d 33 38 62 2d 41 45 53 2d 31 39 32 2c 6c  00-38b-AES-192,l
6c40: 65 6e 3d 31 32 38 2c 2c 2c 3a 3a 74 6c 73 3a 3a  en=128,,,::tls::
6c50: 63 6d 61 63 20 2d 63 69 70 68 65 72 20 61 65 73  cmac -cipher aes
6c60: 2d 31 39 32 2d 63 62 63 20 2d 6b 65 79 20 24 6b  -192-cbc -key $k
6c70: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c  ey -data $data,,
6c80: 2c 39 65 39 39 61 37 62 66 33 31 65 37 31 30 39  ,9e99a7bf31e7109
6c90: 30 30 36 36 32 66 36 35 65 36 31 37 63 35 31 38  00662f65e617c518
6ca0: 34 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65  4,,,.command,"se
6cb0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
6cc0: 65 63 6f 64 65 20 68 65 78 20 22 22 36 62 63 31  ecode hex ""6bc1
6cd0: 62 65 65 32 32 65 34 30 39 66 39 36 65 39 33 64  bee22e409f96e93d
6ce0: 37 65 31 31 37 33 39 33 31 37 32 61 61 65 32 64  7e117393172aae2d
6cf0: 38 61 35 37 31 65 30 33 61 63 39 63 39 65 62 37  8a571e03ac9c9eb7
6d00: 36 66 61 63 34 35 61 66 38 65 35 31 33 30 63 38  6fac45af8e5130c8
6d10: 31 63 34 36 61 33 35 63 65 34 31 31 22 22 5d 22  1c46a35ce411""]"
6d20: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30  ,,,,,,,,,.NIST80
6d30: 30 2d 33 38 62 2d 41 45 53 2d 31 39 32 2c 6c 65  0-38b-AES-192,le
6d40: 6e 3d 33 32 30 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63  n=320,,,::tls::c
6d50: 6d 61 63 20 2d 63 69 70 68 65 72 20 61 65 73 2d  mac -cipher aes-
6d60: 31 39 32 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65  192-cbc -key $ke
6d70: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
6d80: 38 61 31 64 65 35 62 65 32 65 62 33 31 61 61 64  8a1de5be2eb31aad
6d90: 30 38 39 61 38 32 65 36 65 65 39 30 38 62 30 65  089a82e6ee908b0e
6da0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
6db0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
6dc0: 63 6f 64 65 20 68 65 78 20 22 22 36 62 63 31 62  code hex ""6bc1b
6dd0: 65 65 32 32 65 34 30 39 66 39 36 65 39 33 64 37  ee22e409f96e93d7
6de0: 65 31 31 37 33 39 33 31 37 32 61 61 65 32 64 38  e117393172aae2d8
6df0: 61 35 37 31 65 30 33 61 63 39 63 39 65 62 37 36  a571e03ac9c9eb76
6e00: 66 61 63 34 35 61 66 38 65 35 31 33 30 63 38 31  fac45af8e5130c81
6e10: 63 34 36 61 33 35 63 65 34 31 31 65 35 66 62 63  c46a35ce411e5fbc
6e20: 31 31 39 31 61 30 61 35 32 65 66 66 36 39 66 32  1191a0a52eff69f2
6e30: 34 34 35 64 66 34 66 39 62 31 37 61 64 32 62 34  445df4f9b17ad2b4
6e40: 31 37 62 65 36 36 63 33 37 31 30 22 22 5d 22 2c  17be66c3710""]",
6e50: 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30  ,,,,,,,,.NIST800
6e60: 2d 33 38 62 2d 41 45 53 2d 31 39 32 2c 6c 65 6e  -38b-AES-192,len
6e70: 3d 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d  =512,,,::tls::cm
6e80: 61 63 20 2d 63 69 70 68 65 72 20 61 65 73 2d 31  ac -cipher aes-1
6e90: 39 32 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79  92-cbc -key $key
6ea0: 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 61   -data $data,,,a
6eb0: 31 64 35 64 66 30 65 65 64 37 39 30 66 37 39 34  1d5df0eed790f794
6ec0: 64 37 37 35 38 39 36 35 39 66 33 39 61 31 31 2c  d77589659f39a11,
6ed0: 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ,,.,,,,,,,,,,.co
6ee0: 6d 6d 61 6e 64 2c 23 20 41 45 53 2d 32 35 36 2c  mmand,# AES-256,
6ef0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
6f00: 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72  ,"set key [binar
6f10: 79 20 64 65 63 6f 64 65 20 68 65 78 20 22 22 36  y decode hex ""6
6f20: 30 33 64 65 62 31 30 31 35 63 61 37 31 62 65 32  03deb1015ca71be2
6f30: 62 37 33 61 65 66 30 38 35 37 64 37 37 38 31 31  b73aef0857d77811
6f40: 66 33 35 32 63 30 37 33 62 36 31 30 38 64 37 32  f352c073b6108d72
6f50: 64 39 38 31 30 61 33 30 39 31 34 64 66 66 34 22  d9810a30914dff4"
6f60: 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53  "]",,,,,,,,,.NIS
6f70: 54 38 30 30 2d 33 38 62 2d 41 45 53 2d 32 35 36  T800-38b-AES-256
6f80: 2c 6c 65 6e 3d 30 2c 2c 2c 22 3a 3a 74 6c 73 3a  ,len=0,,,"::tls:
6f90: 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20 61 65  :cmac -cipher ae
6fa0: 73 2d 32 35 36 2d 63 62 63 20 2d 6b 65 79 20 24  s-256-cbc -key $
6fb0: 6b 65 79 20 2d 64 61 74 61 20 22 22 22 22 22 2c  key -data """"",
6fc0: 2c 2c 30 32 38 39 36 32 66 36 31 62 37 62 66 38  ,,028962f61b7bf8
6fd0: 39 65 66 63 36 62 35 35 31 66 34 36 36 37 64 39  9efc6b551f4667d9
6fe0: 38 33 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  83,,,.command,"s
6ff0: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
7000: 64 65 63 6f 64 65 20 68 65 78 20 22 22 36 62 63  decode hex ""6bc
7010: 31 62 65 65 32 32 65 34 30 39 66 39 36 65 39 33  1bee22e409f96e93
7020: 64 37 65 31 31 37 33 39 33 31 37 32 61 22 22 5d  d7e117393172a""]
7030: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38  ",,,,,,,,,.NIST8
7040: 30 30 2d 33 38 62 2d 41 45 53 2d 32 35 36 2c 6c  00-38b-AES-256,l
7050: 65 6e 3d 31 32 38 2c 2c 2c 3a 3a 74 6c 73 3a 3a  en=128,,,::tls::
7060: 63 6d 61 63 20 2d 63 69 70 68 65 72 20 61 65 73  cmac -cipher aes
7070: 2d 32 35 36 2d 63 62 63 20 2d 6b 65 79 20 24 6b  -256-cbc -key $k
7080: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c  ey -data $data,,
7090: 2c 32 38 61 37 30 32 33 66 34 35 32 65 38 66 38  ,28a7023f452e8f8
70a0: 32 62 64 34 62 66 32 38 64 38 63 33 37 63 33 35  2bd4bf28d8c37c35
70b0: 63 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65  c,,,.command,"se
70c0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
70d0: 65 63 6f 64 65 20 68 65 78 20 22 22 36 62 63 31  ecode hex ""6bc1
70e0: 62 65 65 32 32 65 34 30 39 66 39 36 65 39 33 64  bee22e409f96e93d
70f0: 37 65 31 31 37 33 39 33 31 37 32 61 61 65 32 64  7e117393172aae2d
7100: 38 61 35 37 31 65 30 33 61 63 39 63 39 65 62 37  8a571e03ac9c9eb7
7110: 36 66 61 63 34 35 61 66 38 65 35 31 33 30 63 38  6fac45af8e5130c8
7120: 31 63 34 36 61 33 35 63 65 34 31 31 22 22 5d 22  1c46a35ce411""]"
7130: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30  ,,,,,,,,,.NIST80
7140: 30 2d 33 38 62 2d 41 45 53 2d 32 35 36 2c 6c 65  0-38b-AES-256,le
7150: 6e 3d 33 32 30 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63  n=320,,,::tls::c
7160: 6d 61 63 20 2d 63 69 70 68 65 72 20 61 65 73 2d  mac -cipher aes-
7170: 32 35 36 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65  256-cbc -key $ke
7180: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
7190: 61 61 66 33 64 38 66 31 64 65 35 36 34 30 63 32  aaf3d8f1de5640c2
71a0: 33 32 66 35 62 31 36 39 62 39 63 39 31 31 65 36  32f5b169b9c911e6
71b0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
71c0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
71d0: 63 6f 64 65 20 68 65 78 20 22 22 36 62 63 31 62  code hex ""6bc1b
71e0: 65 65 32 32 65 34 30 39 66 39 36 65 39 33 64 37  ee22e409f96e93d7
71f0: 65 31 31 37 33 39 33 31 37 32 61 61 65 32 64 38  e117393172aae2d8
7200: 61 35 37 31 65 30 33 61 63 39 63 39 65 62 37 36  a571e03ac9c9eb76
7210: 66 61 63 34 35 61 66 38 65 35 31 33 30 63 38 31  fac45af8e5130c81
7220: 63 34 36 61 33 35 63 65 34 31 31 65 35 66 62 63  c46a35ce411e5fbc
7230: 31 31 39 31 61 30 61 35 32 65 66 66 36 39 66 32  1191a0a52eff69f2
7240: 34 34 35 64 66 34 66 39 62 31 37 61 64 32 62 34  445df4f9b17ad2b4
7250: 31 37 62 65 36 36 63 33 37 31 30 22 22 5d 22 2c  17be66c3710""]",
7260: 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30  ,,,,,,,,.NIST800
7270: 2d 33 38 62 2d 41 45 53 2d 32 35 36 2c 6c 65 6e  -38b-AES-256,len
7280: 3d 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d  =512,,,::tls::cm
7290: 61 63 20 2d 63 69 70 68 65 72 20 61 65 73 2d 32  ac -cipher aes-2
72a0: 35 36 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79  56-cbc -key $key
72b0: 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 65   -data $data,,,e
72c0: 31 39 39 32 31 39 30 35 34 39 66 36 65 64 35 36  1992190549f6ed56
72d0: 39 36 61 32 63 30 35 36 63 33 31 35 34 31 30 2c  96a2c056c315410,
72e0: 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ,,.,,,,,,,,,,.co
72f0: 6d 6d 61 6e 64 2c 23 20 43 6c 65 61 6e 75 70 2c  mmand,# Cleanup,
7300: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
7310: 2c 3a 3a 74 63 6c 74 65 73 74 3a 3a 72 65 6d 6f  ,::tcltest::remo
7320: 76 65 46 69 6c 65 20 24 74 65 73 74 5f 66 69 6c  veFile $test_fil
7330: 65 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  e,,,,,,,,,.comma
7340: 6e 64 2c 3a 3a 74 63 6c 74 65 73 74 3a 3a 72 65  nd,::tcltest::re
7350: 6d 6f 76 65 46 69 6c 65 20 24 74 65 73 74 5f 61  moveFile $test_a
7360: 6c 74 5f 66 69 6c 65 2c 2c 2c 2c 2c 2c 2c 2c 2c  lt_file,,,,,,,,,
7370: 0a                                               .