Hex Artifact Content

Artifact 8676887f95c35b0ac26a308d6d983a62dbbcb1119571fb070e691ec87df3c036:


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 44 69 67 65 73  s,,,,,,,,,.Diges
0580: 74 20 43 6d 64 73 2c 6d 64 34 20 63 6d 64 2c 2c  t Cmds,md4 cmd,,
0590: 2c 3a 3a 74 6c 73 3a 3a 6d 64 34 20 24 74 65 73  ,::tls::md4 $tes
05a0: 74 5f 64 61 74 61 2c 2c 2c 37 39 33 33 39 39 66  t_data,,,793399f
05b0: 37 39 32 65 63 61 32 37 35 32 63 36 61 66 33 32  792eca2752c6af32
05c0: 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a 44 69 67  34ba70858,,,.Dig
05d0: 65 73 74 20 43 6d 64 73 2c 6d 64 35 20 63 6d 64  est Cmds,md5 cmd
05e0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 35 20 24 74  ,,,::tls::md5 $t
05f0: 65 73 74 5f 64 61 74 61 2c 2c 2c 39 36 32 62 66  est_data,,,962bf
0600: 30 38 30 33 62 34 32 33 32 65 63 32 33 62 64 38  0803b4232ec23bd8
0610: 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 44  427bb94ea09,,,.D
0620: 69 67 65 73 74 20 43 6d 64 73 2c 73 68 61 31 20  igest Cmds,sha1 
0630: 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 73 68 61  cmd,,,::tls::sha
0640: 31 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 34  1 $test_data,,,4
0650: 66 65 30 33 62 37 66 32 35 36 38 35 35 31 64 66  fe03b7f2568551df
0660: 61 66 62 39 38 63 61 36 30 30 34 65 36 35 63 34  afb98ca6004e65c4
0670: 62 37 31 61 61 37 64 2c 2c 2c 0a 44 69 67 65 73  b71aa7d,,,.Diges
0680: 74 20 43 6d 64 73 2c 73 68 61 32 35 36 20 63 6d  t Cmds,sha256 cm
0690: 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 73 68 61 32 35  d,,,::tls::sha25
06a0: 36 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 39  6 $test_data,,,9
06b0: 64 33 35 37 38 66 63 31 33 38 32 30 35 63 66 30  d3578fc138205cf0
06c0: 65 65 34 62 34 63 65 66 33 35 66 65 31 30 31 62  ee4b4cef35fe101b
06d0: 62 34 65 63 61 63 37 62 31 36 31 34 63 31 38 65  b4ecac7b1614c18e
06e0: 36 66 61 34 38 62 35 63 37 66 39 35 65 31 39 2c  6fa48b5c7f95e19,
06f0: 2c 2c 0a 44 69 67 65 73 74 20 43 6d 64 73 2c 73  ,,.Digest Cmds,s
0700: 68 61 35 31 32 20 63 6d 64 2c 2c 2c 3a 3a 74 6c  ha512 cmd,,,::tl
0710: 73 3a 3a 73 68 61 35 31 32 20 24 74 65 73 74 5f  s::sha512 $test_
0720: 64 61 74 61 2c 2c 2c 64 31 37 38 65 37 35 39 64  data,,,d178e759d
0730: 63 35 39 31 32 37 30 37 31 35 38 38 64 32 66 61  c59127071588d2fa
0740: 64 31 37 33 63 30 36 32 33 38 64 38 37 65 38 30  d173c06238d87e80
0750: 30 61 36 34 30 33 63 30 61 33 30 64 61 61 34 66  0a6403c0a30daa4f
0760: 61 61 66 30 35 64 30 65 37 63 65 30 34 39 31 36  aaf05d0e7ce04916
0770: 61 66 61 61 36 61 35 38 61 33 30 63 62 65 62 35  afaa6a58a30cbeb5
0780: 39 37 64 61 63 62 30 31 63 36 32 66 39 66 62 39  97dacb01c62f9fb9
0790: 64 38 39 62 61 62 39 64 61 36 33 30 63 36 39 39  d89bab9da630c699
07a0: 65 34 38 31 36 66 31 2c 2c 2c 0a 2c 2c 2c 2c 2c  e4816f1,,,.,,,,,
07b0: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
07c0: 54 65 73 74 20 4d 44 20 63 6f 6d 6d 61 6e 64 20  Test MD command 
07d0: 66 6f 72 20 72 65 61 64 20 63 68 61 6e 6e 65 6c  for read channel
07e0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67 65 73 74  ,,,,,,,,,.Digest
07f0: 20 43 68 61 6e 20 52 65 61 64 2c 6d 64 34 2c 2c   Chan Read,md4,,
0800: 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61  ,digest_read_cha
0810: 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73  n ::tls::md $tes
0820: 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 6d  t_file -digest m
0830: 64 34 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65  d4,,,793399f792e
0840: 63 61 32 37 35 32 63 36 61 66 33 32 33 34 62 61  ca2752c6af3234ba
0850: 37 30 38 35 38 2c 2c 2c 0a 44 69 67 65 73 74 20  70858,,,.Digest 
0860: 43 68 61 6e 20 52 65 61 64 2c 6d 64 35 2c 2c 2c  Chan Read,md5,,,
0870: 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e  digest_read_chan
0880: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74   ::tls::md $test
0890: 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 6d 64  _file -digest md
08a0: 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  5,,,962bf0803b42
08b0: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
08c0: 65 61 30 39 2c 2c 2c 0a 44 69 67 65 73 74 20 43  ea09,,,.Digest C
08d0: 68 61 6e 20 52 65 61 64 2c 73 68 61 31 2c 2c 2c  han Read,sha1,,,
08e0: 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e  digest_read_chan
08f0: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74   ::tls::md $test
0900: 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 73 68  _file -digest sh
0910: 61 31 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 36  a1,,,4fe03b7f256
0920: 38 35 35 31 64 66 61 66 62 39 38 63 61 36 30 30  8551dfafb98ca600
0930: 34 65 36 35 63 34 62 37 31 61 61 37 64 2c 2c 2c  4e65c4b71aa7d,,,
0940: 0a 44 69 67 65 73 74 20 43 68 61 6e 20 52 65 61  .Digest Chan Rea
0950: 64 2c 73 68 61 32 35 36 2c 2c 2c 64 69 67 65 73  d,sha256,,,diges
0960: 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c  t_read_chan ::tl
0970: 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65  s::md $test_file
0980: 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 2c   -digest sha256,
0990: 2c 2c 39 64 33 35 37 38 66 63 31 33 38 32 30 35  ,,9d3578fc138205
09a0: 63 66 30 65 65 34 62 34 63 65 66 33 35 66 65 31  cf0ee4b4cef35fe1
09b0: 30 31 62 62 34 65 63 61 63 37 62 31 36 31 34 63  01bb4ecac7b1614c
09c0: 31 38 65 36 66 61 34 38 62 35 63 37 66 39 35 65  18e6fa48b5c7f95e
09d0: 31 39 2c 2c 2c 0a 44 69 67 65 73 74 20 43 68 61  19,,,.Digest Cha
09e0: 6e 20 52 65 61 64 2c 73 68 61 35 31 32 2c 2c 2c  n Read,sha512,,,
09f0: 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e  digest_read_chan
0a00: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74   ::tls::md $test
0a10: 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 73 68  _file -digest sh
0a20: 61 35 31 32 2c 2c 2c 64 31 37 38 65 37 35 39 64  a512,,,d178e759d
0a30: 63 35 39 31 32 37 30 37 31 35 38 38 64 32 66 61  c59127071588d2fa
0a40: 64 31 37 33 63 30 36 32 33 38 64 38 37 65 38 30  d173c06238d87e80
0a50: 30 61 36 34 30 33 63 30 61 33 30 64 61 61 34 66  0a6403c0a30daa4f
0a60: 61 61 66 30 35 64 30 65 37 63 65 30 34 39 31 36  aaf05d0e7ce04916
0a70: 61 66 61 61 36 61 35 38 61 33 30 63 62 65 62 35  afaa6a58a30cbeb5
0a80: 39 37 64 61 63 62 30 31 63 36 32 66 39 66 62 39  97dacb01c62f9fb9
0a90: 64 38 39 62 61 62 39 64 61 36 33 30 63 36 39 39  d89bab9da630c699
0aa0: 65 34 38 31 36 66 31 2c 2c 2c 0a 44 69 67 65 73  e4816f1,,,.Diges
0ab0: 74 20 43 68 61 6e 20 52 65 61 64 2c 6d 64 35 20  t Chan Read,md5 
0ac0: 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63  bin,,,binary enc
0ad0: 6f 64 65 20 68 65 78 20 5b 64 69 67 65 73 74 5f  ode hex [digest_
0ae0: 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a  read_chan ::tls:
0af0: 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65 20 2d  :md $test_file -
0b00: 62 69 6e 20 2d 64 69 67 65 73 74 20 6d 64 35 5d  bin -digest md5]
0b10: 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33  ,,,962bf0803b423
0b20: 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65  2ec23bd8427bb94e
0b30: 61 30 39 2c 2c 2c 0a 44 69 67 65 73 74 20 43 68  a09,,,.Digest Ch
0b40: 61 6e 20 52 65 61 64 2c 6d 64 35 20 68 65 78 2c  an Read,md5 hex,
0b50: 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68  ,,digest_read_ch
0b60: 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65  an ::tls::md $te
0b70: 73 74 5f 66 69 6c 65 20 2d 68 65 78 20 2d 64 69  st_file -hex -di
0b80: 67 65 73 74 20 6d 64 35 2c 2c 2c 39 36 32 62 66  gest md5,,,962bf
0b90: 30 38 30 33 62 34 32 33 32 65 63 32 33 62 64 38  0803b4232ec23bd8
0ba0: 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 2c  427bb94ea09,,,.,
0bb0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
0bc0: 64 2c 23 20 54 65 73 74 20 4d 44 20 63 6f 6d 6d  d,# Test MD comm
0bd0: 61 6e 64 20 66 6f 72 20 77 72 69 74 65 20 63 68  and for write ch
0be0: 61 6e 6e 65 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 44  annel,,,,,,,,,.D
0bf0: 69 67 65 73 74 20 43 68 61 6e 20 57 72 69 74 65  igest Chan Write
0c00: 2c 6d 64 34 2c 2c 2c 64 69 67 65 73 74 5f 77 72  ,md4,,,digest_wr
0c10: 69 74 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a  ite_chan ::tls::
0c20: 6d 64 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c  md $test_alt_fil
0c30: 65 20 24 74 65 73 74 5f 64 61 74 61 20 2d 64 69  e $test_data -di
0c40: 67 65 73 74 20 6d 64 34 2c 2c 2c 37 39 33 33 39  gest md4,,,79339
0c50: 39 66 37 39 32 65 63 61 32 37 35 32 63 36 61 66  9f792eca2752c6af
0c60: 33 32 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a 44  3234ba70858,,,.D
0c70: 69 67 65 73 74 20 43 68 61 6e 20 57 72 69 74 65  igest Chan Write
0c80: 2c 6d 64 35 2c 2c 2c 64 69 67 65 73 74 5f 77 72  ,md5,,,digest_wr
0c90: 69 74 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a  ite_chan ::tls::
0ca0: 6d 64 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c  md $test_alt_fil
0cb0: 65 20 24 74 65 73 74 5f 64 61 74 61 20 2d 64 69  e $test_data -di
0cc0: 67 65 73 74 20 6d 64 35 2c 2c 2c 39 36 32 62 66  gest md5,,,962bf
0cd0: 30 38 30 33 62 34 32 33 32 65 63 32 33 62 64 38  0803b4232ec23bd8
0ce0: 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 44  427bb94ea09,,,.D
0cf0: 69 67 65 73 74 20 43 68 61 6e 20 57 72 69 74 65  igest Chan Write
0d00: 2c 73 68 61 31 2c 2c 2c 64 69 67 65 73 74 5f 77  ,sha1,,,digest_w
0d10: 72 69 74 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a  rite_chan ::tls:
0d20: 3a 6d 64 20 24 74 65 73 74 5f 61 6c 74 5f 66 69  :md $test_alt_fi
0d30: 6c 65 20 24 74 65 73 74 5f 64 61 74 61 20 2d 64  le $test_data -d
0d40: 69 67 65 73 74 20 73 68 61 31 2c 2c 2c 34 66 65  igest sha1,,,4fe
0d50: 30 33 62 37 66 32 35 36 38 35 35 31 64 66 61 66  03b7f2568551dfaf
0d60: 62 39 38 63 61 36 30 30 34 65 36 35 63 34 62 37  b98ca6004e65c4b7
0d70: 31 61 61 37 64 2c 2c 2c 0a 44 69 67 65 73 74 20  1aa7d,,,.Digest 
0d80: 43 68 61 6e 20 57 72 69 74 65 2c 73 68 61 32 35  Chan Write,sha25
0d90: 36 2c 2c 2c 64 69 67 65 73 74 5f 77 72 69 74 65  6,,,digest_write
0da0: 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20  _chan ::tls::md 
0db0: 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20 24  $test_alt_file $
0dc0: 74 65 73 74 5f 64 61 74 61 20 2d 64 69 67 65 73  test_data -diges
0dd0: 74 20 73 68 61 32 35 36 2c 2c 2c 39 64 33 35 37  t sha256,,,9d357
0de0: 38 66 63 31 33 38 32 30 35 63 66 30 65 65 34 62  8fc138205cf0ee4b
0df0: 34 63 65 66 33 35 66 65 31 30 31 62 62 34 65 63  4cef35fe101bb4ec
0e00: 61 63 37 62 31 36 31 34 63 31 38 65 36 66 61 34  ac7b1614c18e6fa4
0e10: 38 62 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 44  8b5c7f95e19,,,.D
0e20: 69 67 65 73 74 20 43 68 61 6e 20 57 72 69 74 65  igest Chan Write
0e30: 2c 73 68 61 35 31 32 2c 2c 2c 64 69 67 65 73 74  ,sha512,,,digest
0e40: 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a 3a 74 6c  _write_chan ::tl
0e50: 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61 6c 74 5f  s::md $test_alt_
0e60: 66 69 6c 65 20 24 74 65 73 74 5f 64 61 74 61 20  file $test_data 
0e70: 2d 64 69 67 65 73 74 20 73 68 61 35 31 32 2c 2c  -digest sha512,,
0e80: 2c 64 31 37 38 65 37 35 39 64 63 35 39 31 32 37  ,d178e759dc59127
0e90: 30 37 31 35 38 38 64 32 66 61 64 31 37 33 63 30  071588d2fad173c0
0ea0: 36 32 33 38 64 38 37 65 38 30 30 61 36 34 30 33  6238d87e800a6403
0eb0: 63 30 61 33 30 64 61 61 34 66 61 61 66 30 35 64  c0a30daa4faaf05d
0ec0: 30 65 37 63 65 30 34 39 31 36 61 66 61 61 36 61  0e7ce04916afaa6a
0ed0: 35 38 61 33 30 63 62 65 62 35 39 37 64 61 63 62  58a30cbeb597dacb
0ee0: 30 31 63 36 32 66 39 66 62 39 64 38 39 62 61 62  01c62f9fb9d89bab
0ef0: 39 64 61 36 33 30 63 36 39 39 65 34 38 31 36 66  9da630c699e4816f
0f00: 31 2c 2c 2c 0a 44 69 67 65 73 74 20 43 68 61 6e  1,,,.Digest Chan
0f10: 20 57 72 69 74 65 2c 6d 64 35 20 62 69 6e 2c 2c   Write,md5 bin,,
0f20: 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68  ,binary encode h
0f30: 65 78 20 5b 64 69 67 65 73 74 5f 77 72 69 74 65  ex [digest_write
0f40: 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20  _chan ::tls::md 
0f50: 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20 24  $test_alt_file $
0f60: 74 65 73 74 5f 64 61 74 61 20 2d 62 69 6e 20 2d  test_data -bin -
0f70: 64 69 67 65 73 74 20 6d 64 35 5d 2c 2c 2c 39 36  digest md5],,,96
0f80: 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33  2bf0803b4232ec23
0f90: 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c  bd8427bb94ea09,,
0fa0: 2c 0a 44 69 67 65 73 74 20 43 68 61 6e 20 57 72  ,.Digest Chan Wr
0fb0: 69 74 65 2c 6d 64 35 20 68 65 78 2c 2c 2c 64 69  ite,md5 hex,,,di
0fc0: 67 65 73 74 5f 77 72 69 74 65 5f 63 68 61 6e 20  gest_write_chan 
0fd0: 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f  ::tls::md $test_
0fe0: 61 6c 74 5f 66 69 6c 65 20 24 74 65 73 74 5f 64  alt_file $test_d
0ff0: 61 74 61 20 2d 68 65 78 20 2d 64 69 67 65 73 74  ata -hex -digest
1000: 20 6d 64 35 2c 2c 2c 39 36 32 62 66 30 38 30 33   md5,,,962bf0803
1010: 62 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62  b4232ec23bd8427b
1020: 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c  b94ea09,,,.,,,,,
1030: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
1040: 54 65 73 74 20 4d 44 20 63 6f 6d 6d 61 6e 64 20  Test MD command 
1050: 66 6f 72 20 6f 62 6a 65 63 74 20 63 6f 6d 6d 61  for object comma
1060: 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67 65  nd,,,,,,,,,.Dige
1070: 73 74 20 43 6f 6d 6d 61 6e 64 2c 6d 64 34 2c 2c  st Command,md4,,
1080: 2c 64 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61  ,digest_accumula
1090: 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a  te $test_data ::
10a0: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
10b0: 6d 64 34 2c 2c 2c 37 39 33 33 39 39 66 37 39 32  md4,,,793399f792
10c0: 65 63 61 32 37 35 32 63 36 61 66 33 32 33 34 62  eca2752c6af3234b
10d0: 61 37 30 38 35 38 2c 2c 2c 0a 44 69 67 65 73 74  a70858,,,.Digest
10e0: 20 43 6f 6d 6d 61 6e 64 2c 6d 64 35 2c 2c 2c 64   Command,md5,,,d
10f0: 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65  igest_accumulate
1100: 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c   $test_data ::tl
1110: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64  s::md -digest md
1120: 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  5,,,962bf0803b42
1130: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
1140: 65 61 30 39 2c 2c 2c 0a 44 69 67 65 73 74 20 43  ea09,,,.Digest C
1150: 6f 6d 6d 61 6e 64 2c 73 68 61 31 2c 2c 2c 64 69  ommand,sha1,,,di
1160: 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20  gest_accumulate 
1170: 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73  $test_data ::tls
1180: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
1190: 31 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 36 38  1,,,4fe03b7f2568
11a0: 35 35 31 64 66 61 66 62 39 38 63 61 36 30 30 34  551dfafb98ca6004
11b0: 65 36 35 63 34 62 37 31 61 61 37 64 2c 2c 2c 0a  e65c4b71aa7d,,,.
11c0: 44 69 67 65 73 74 20 43 6f 6d 6d 61 6e 64 2c 73  Digest Command,s
11d0: 68 61 32 35 36 2c 2c 2c 64 69 67 65 73 74 5f 61  ha256,,,digest_a
11e0: 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f  ccumulate $test_
11f0: 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  data ::tls::md -
1200: 64 69 67 65 73 74 20 73 68 61 32 35 36 2c 2c 2c  digest sha256,,,
1210: 39 64 33 35 37 38 66 63 31 33 38 32 30 35 63 66  9d3578fc138205cf
1220: 30 65 65 34 62 34 63 65 66 33 35 66 65 31 30 31  0ee4b4cef35fe101
1230: 62 62 34 65 63 61 63 37 62 31 36 31 34 63 31 38  bb4ecac7b1614c18
1240: 65 36 66 61 34 38 62 35 63 37 66 39 35 65 31 39  e6fa48b5c7f95e19
1250: 2c 2c 2c 0a 44 69 67 65 73 74 20 43 6f 6d 6d 61  ,,,.Digest Comma
1260: 6e 64 2c 73 68 61 35 31 32 2c 2c 2c 64 69 67 65  nd,sha512,,,dige
1270: 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20 24 74  st_accumulate $t
1280: 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a  est_data ::tls::
1290: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 35 31  md -digest sha51
12a0: 32 2c 2c 2c 64 31 37 38 65 37 35 39 64 63 35 39  2,,,d178e759dc59
12b0: 31 32 37 30 37 31 35 38 38 64 32 66 61 64 31 37  127071588d2fad17
12c0: 33 63 30 36 32 33 38 64 38 37 65 38 30 30 61 36  3c06238d87e800a6
12d0: 34 30 33 63 30 61 33 30 64 61 61 34 66 61 61 66  403c0a30daa4faaf
12e0: 30 35 64 30 65 37 63 65 30 34 39 31 36 61 66 61  05d0e7ce04916afa
12f0: 61 36 61 35 38 61 33 30 63 62 65 62 35 39 37 64  a6a58a30cbeb597d
1300: 61 63 62 30 31 63 36 32 66 39 66 62 39 64 38 39  acb01c62f9fb9d89
1310: 62 61 62 39 64 61 36 33 30 63 36 39 39 65 34 38  bab9da630c699e48
1320: 31 36 66 31 2c 2c 2c 0a 44 69 67 65 73 74 20 43  16f1,,,.Digest C
1330: 6f 6d 6d 61 6e 64 2c 6d 64 35 20 62 69 6e 2c 2c  ommand,md5 bin,,
1340: 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68  ,binary encode h
1350: 65 78 20 5b 64 69 67 65 73 74 5f 61 63 63 75 6d  ex [digest_accum
1360: 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74 61  ulate $test_data
1370: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65   ::tls::md -dige
1380: 73 74 20 6d 64 35 20 2d 62 69 6e 5d 2c 2c 2c 39  st md5 -bin],,,9
1390: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
13a0: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
13b0: 2c 2c 0a 44 69 67 65 73 74 20 43 6f 6d 6d 61 6e  ,,.Digest Comman
13c0: 64 2c 6d 64 35 20 68 65 78 2c 2c 2c 64 69 67 65  d,md5 hex,,,dige
13d0: 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20 24 74  st_accumulate $t
13e0: 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a  est_data ::tls::
13f0: 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d  md -digest md5 -
1400: 68 65 78 2c 2c 2c 39 36 32 62 66 30 38 30 33 62  hex,,,962bf0803b
1410: 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62  4232ec23bd8427bb
1420: 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  94ea09,,,.,,,,,,
1430: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54  ,,,,.command,# T
1440: 65 73 74 20 4d 44 20 63 6f 6d 6d 61 6e 64 20 66  est MD command f
1450: 6f 72 20 64 61 74 61 20 73 68 6f 72 74 63 75 74  or data shortcut
1460: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67 65 73 74  ,,,,,,,,,.Digest
1470: 20 44 61 74 61 2c 6d 64 34 2c 2c 2c 3a 3a 74 6c   Data,md4,,,::tl
1480: 73 3a 3a 6d 64 20 6d 64 34 20 24 74 65 73 74 5f  s::md md4 $test_
1490: 64 61 74 61 2c 2c 2c 37 39 33 33 39 39 66 37 39  data,,,793399f79
14a0: 32 65 63 61 32 37 35 32 63 36 61 66 33 32 33 34  2eca2752c6af3234
14b0: 62 61 37 30 38 35 38 2c 2c 2c 0a 44 69 67 65 73  ba70858,,,.Diges
14c0: 74 20 44 61 74 61 2c 6d 64 35 2c 2c 2c 3a 3a 74  t Data,md5,,,::t
14d0: 6c 73 3a 3a 6d 64 20 6d 64 35 20 24 74 65 73 74  ls::md md5 $test
14e0: 5f 64 61 74 61 2c 2c 2c 39 36 32 62 66 30 38 30  _data,,,962bf080
14f0: 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32 37  3b4232ec23bd8427
1500: 62 62 39 34 65 61 30 39 2c 2c 2c 0a 44 69 67 65  bb94ea09,,,.Dige
1510: 73 74 20 44 61 74 61 2c 73 68 61 31 2c 2c 2c 3a  st Data,sha1,,,:
1520: 3a 74 6c 73 3a 3a 6d 64 20 73 68 61 31 20 24 74  :tls::md sha1 $t
1530: 65 73 74 5f 64 61 74 61 2c 2c 2c 34 66 65 30 33  est_data,,,4fe03
1540: 62 37 66 32 35 36 38 35 35 31 64 66 61 66 62 39  b7f2568551dfafb9
1550: 38 63 61 36 30 30 34 65 36 35 63 34 62 37 31 61  8ca6004e65c4b71a
1560: 61 37 64 2c 2c 2c 0a 44 69 67 65 73 74 20 44 61  a7d,,,.Digest Da
1570: 74 61 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c  ta,sha256,,,::tl
1580: 73 3a 3a 6d 64 20 73 68 61 32 35 36 20 24 74 65  s::md sha256 $te
1590: 73 74 5f 64 61 74 61 2c 2c 2c 39 64 33 35 37 38  st_data,,,9d3578
15a0: 66 63 31 33 38 32 30 35 63 66 30 65 65 34 62 34  fc138205cf0ee4b4
15b0: 63 65 66 33 35 66 65 31 30 31 62 62 34 65 63 61  cef35fe101bb4eca
15c0: 63 37 62 31 36 31 34 63 31 38 65 36 66 61 34 38  c7b1614c18e6fa48
15d0: 62 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 44 69  b5c7f95e19,,,.Di
15e0: 67 65 73 74 20 44 61 74 61 2c 73 68 61 35 31 32  gest Data,sha512
15f0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 73 68 61  ,,,::tls::md sha
1600: 35 31 32 20 24 74 65 73 74 5f 64 61 74 61 2c 2c  512 $test_data,,
1610: 2c 64 31 37 38 65 37 35 39 64 63 35 39 31 32 37  ,d178e759dc59127
1620: 30 37 31 35 38 38 64 32 66 61 64 31 37 33 63 30  071588d2fad173c0
1630: 36 32 33 38 64 38 37 65 38 30 30 61 36 34 30 33  6238d87e800a6403
1640: 63 30 61 33 30 64 61 61 34 66 61 61 66 30 35 64  c0a30daa4faaf05d
1650: 30 65 37 63 65 30 34 39 31 36 61 66 61 61 36 61  0e7ce04916afaa6a
1660: 35 38 61 33 30 63 62 65 62 35 39 37 64 61 63 62  58a30cbeb597dacb
1670: 30 31 63 36 32 66 39 66 62 39 64 38 39 62 61 62  01c62f9fb9d89bab
1680: 39 64 61 36 33 30 63 36 39 39 65 34 38 31 36 66  9da630c699e4816f
1690: 31 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  1,,,.,,,,,,,,,,.
16a0: 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 4d  command,# Test M
16b0: 44 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 64 61  D command for da
16c0: 74 61 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67 65  ta,,,,,,,,,.Dige
16d0: 73 74 20 44 61 74 61 2c 6d 64 34 2c 2c 2c 3a 3a  st Data,md4,,,::
16e0: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
16f0: 6d 64 34 20 2d 64 61 74 61 20 24 74 65 73 74 5f  md4 -data $test_
1700: 64 61 74 61 2c 2c 2c 37 39 33 33 39 39 66 37 39  data,,,793399f79
1710: 32 65 63 61 32 37 35 32 63 36 61 66 33 32 33 34  2eca2752c6af3234
1720: 62 61 37 30 38 35 38 2c 2c 2c 0a 44 69 67 65 73  ba70858,,,.Diges
1730: 74 20 44 61 74 61 2c 6d 64 35 2c 2c 2c 3a 3a 74  t Data,md5,,,::t
1740: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d  ls::md -digest m
1750: 64 35 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64  d5 -data $test_d
1760: 61 74 61 2c 2c 2c 39 36 32 62 66 30 38 30 33 62  ata,,,962bf0803b
1770: 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62  4232ec23bd8427bb
1780: 39 34 65 61 30 39 2c 2c 2c 0a 44 69 67 65 73 74  94ea09,,,.Digest
1790: 20 44 61 74 61 2c 73 68 61 31 2c 2c 2c 3a 3a 74   Data,sha1,,,::t
17a0: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
17b0: 68 61 31 20 2d 64 61 74 61 20 24 74 65 73 74 5f  ha1 -data $test_
17c0: 64 61 74 61 2c 2c 2c 34 66 65 30 33 62 37 66 32  data,,,4fe03b7f2
17d0: 35 36 38 35 35 31 64 66 61 66 62 39 38 63 61 36  568551dfafb98ca6
17e0: 30 30 34 65 36 35 63 34 62 37 31 61 61 37 64 2c  004e65c4b71aa7d,
17f0: 2c 2c 0a 44 69 67 65 73 74 20 44 61 74 61 2c 73  ,,.Digest Data,s
1800: 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ha256,,,::tls::m
1810: 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  d -digest sha256
1820: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74   -data $test_dat
1830: 61 2c 2c 2c 39 64 33 35 37 38 66 63 31 33 38 32  a,,,9d3578fc1382
1840: 30 35 63 66 30 65 65 34 62 34 63 65 66 33 35 66  05cf0ee4b4cef35f
1850: 65 31 30 31 62 62 34 65 63 61 63 37 62 31 36 31  e101bb4ecac7b161
1860: 34 63 31 38 65 36 66 61 34 38 62 35 63 37 66 39  4c18e6fa48b5c7f9
1870: 35 65 31 39 2c 2c 2c 0a 44 69 67 65 73 74 20 44  5e19,,,.Digest D
1880: 61 74 61 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74  ata,sha512,,,::t
1890: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
18a0: 68 61 35 31 32 20 2d 64 61 74 61 20 24 74 65 73  ha512 -data $tes
18b0: 74 5f 64 61 74 61 2c 2c 2c 64 31 37 38 65 37 35  t_data,,,d178e75
18c0: 39 64 63 35 39 31 32 37 30 37 31 35 38 38 64 32  9dc59127071588d2
18d0: 66 61 64 31 37 33 63 30 36 32 33 38 64 38 37 65  fad173c06238d87e
18e0: 38 30 30 61 36 34 30 33 63 30 61 33 30 64 61 61  800a6403c0a30daa
18f0: 34 66 61 61 66 30 35 64 30 65 37 63 65 30 34 39  4faaf05d0e7ce049
1900: 31 36 61 66 61 61 36 61 35 38 61 33 30 63 62 65  16afaa6a58a30cbe
1910: 62 35 39 37 64 61 63 62 30 31 63 36 32 66 39 66  b597dacb01c62f9f
1920: 62 39 64 38 39 62 61 62 39 64 61 36 33 30 63 36  b9d89bab9da630c6
1930: 39 39 65 34 38 31 36 66 31 2c 2c 2c 0a 44 69 67  99e4816f1,,,.Dig
1940: 65 73 74 20 44 61 74 61 2c 6d 64 35 20 62 69 6e  est Data,md5 bin
1950: 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65  ,,,binary encode
1960: 20 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 6d 64 20   hex [::tls::md 
1970: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74  -digest md5 -dat
1980: 61 20 24 74 65 73 74 5f 64 61 74 61 20 2d 62 69  a $test_data -bi
1990: 6e 5d 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34  n],,,962bf0803b4
19a0: 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39  232ec23bd8427bb9
19b0: 34 65 61 30 39 2c 2c 2c 0a 44 69 67 65 73 74 20  4ea09,,,.Digest 
19c0: 44 61 74 61 2c 6d 64 35 20 68 65 78 2c 2c 2c 3a  Data,md5 hex,,,:
19d0: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
19e0: 20 6d 64 35 20 2d 64 61 74 61 20 24 74 65 73 74   md5 -data $test
19f0: 5f 64 61 74 61 20 2d 68 65 78 2c 2c 2c 39 36 32  _data -hex,,,962
1a00: 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62  bf0803b4232ec23b
1a10: 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c  d8427bb94ea09,,,
1a20: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  .,,,,,,,,,,.comm
1a30: 61 6e 64 2c 23 20 54 65 73 74 20 4d 44 20 63 6f  and,# Test MD co
1a40: 6d 6d 61 6e 64 20 66 6f 72 20 66 69 6c 65 2c 2c  mmand for file,,
1a50: 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67 65 73 74 20 46  ,,,,,,,.Digest F
1a60: 69 6c 65 2c 6d 64 34 2c 2c 2c 3a 3a 74 6c 73 3a  ile,md4,,,::tls:
1a70: 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 34 20  :md -digest md4 
1a80: 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65  -file $test_file
1a90: 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63 61  ,,,793399f792eca
1aa0: 32 37 35 32 63 36 61 66 33 32 33 34 62 61 37 30  2752c6af3234ba70
1ab0: 38 35 38 2c 2c 2c 0a 44 69 67 65 73 74 20 46 69  858,,,.Digest Fi
1ac0: 6c 65 2c 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a  le,md5,,,::tls::
1ad0: 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d  md -digest md5 -
1ae0: 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c  file $test_file,
1af0: 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32  ,,962bf0803b4232
1b00: 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61  ec23bd8427bb94ea
1b10: 30 39 2c 2c 2c 0a 44 69 67 65 73 74 20 46 69 6c  09,,,.Digest Fil
1b20: 65 2c 73 68 61 31 2c 2c 2c 3a 3a 74 6c 73 3a 3a  e,sha1,,,::tls::
1b30: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 31 20  md -digest sha1 
1b40: 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65  -file $test_file
1b50: 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 36 38 35  ,,,4fe03b7f25685
1b60: 35 31 64 66 61 66 62 39 38 63 61 36 30 30 34 65  51dfafb98ca6004e
1b70: 36 35 63 34 62 37 31 61 61 37 64 2c 2c 2c 0a 44  65c4b71aa7d,,,.D
1b80: 69 67 65 73 74 20 46 69 6c 65 2c 73 68 61 32 35  igest File,sha25
1b90: 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  6,,,::tls::md -d
1ba0: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 66 69  igest sha256 -fi
1bb0: 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c  le $test_file,,,
1bc0: 39 64 33 35 37 38 66 63 31 33 38 32 30 35 63 66  9d3578fc138205cf
1bd0: 30 65 65 34 62 34 63 65 66 33 35 66 65 31 30 31  0ee4b4cef35fe101
1be0: 62 62 34 65 63 61 63 37 62 31 36 31 34 63 31 38  bb4ecac7b1614c18
1bf0: 65 36 66 61 34 38 62 35 63 37 66 39 35 65 31 39  e6fa48b5c7f95e19
1c00: 2c 2c 2c 0a 44 69 67 65 73 74 20 46 69 6c 65 2c  ,,,.Digest File,
1c10: 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha512,,,::tls::
1c20: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 35 31  md -digest sha51
1c30: 32 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69  2 -file $test_fi
1c40: 6c 65 2c 2c 2c 64 31 37 38 65 37 35 39 64 63 35  le,,,d178e759dc5
1c50: 39 31 32 37 30 37 31 35 38 38 64 32 66 61 64 31  9127071588d2fad1
1c60: 37 33 63 30 36 32 33 38 64 38 37 65 38 30 30 61  73c06238d87e800a
1c70: 36 34 30 33 63 30 61 33 30 64 61 61 34 66 61 61  6403c0a30daa4faa
1c80: 66 30 35 64 30 65 37 63 65 30 34 39 31 36 61 66  f05d0e7ce04916af
1c90: 61 61 36 61 35 38 61 33 30 63 62 65 62 35 39 37  aa6a58a30cbeb597
1ca0: 64 61 63 62 30 31 63 36 32 66 39 66 62 39 64 38  dacb01c62f9fb9d8
1cb0: 39 62 61 62 39 64 61 36 33 30 63 36 39 39 65 34  9bab9da630c699e4
1cc0: 38 31 36 66 31 2c 2c 2c 0a 44 69 67 65 73 74 20  816f1,,,.Digest 
1cd0: 46 69 6c 65 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62  File,md5 bin,,,b
1ce0: 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78  inary encode hex
1cf0: 20 5b 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67   [::tls::md -dig
1d00: 65 73 74 20 6d 64 35 20 2d 66 69 6c 65 20 24 74  est md5 -file $t
1d10: 65 73 74 5f 66 69 6c 65 20 2d 62 69 6e 5d 2c 2c  est_file -bin],,
1d20: 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65  ,962bf0803b4232e
1d30: 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30  c23bd8427bb94ea0
1d40: 39 2c 2c 2c 0a 44 69 67 65 73 74 20 46 69 6c 65  9,,,.Digest File
1d50: 2c 6d 64 35 20 68 65 78 2c 2c 2c 3a 3a 74 6c 73  ,md5 hex,,,::tls
1d60: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35  ::md -digest md5
1d70: 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c   -file $test_fil
1d80: 65 20 2d 68 65 78 2c 2c 2c 39 36 32 62 66 30 38  e -hex,,,962bf08
1d90: 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32  03b4232ec23bd842
1da0: 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c  7bb94ea09,,,.,,,
1db0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
1dc0: 23 20 54 65 73 74 20 48 4d 41 43 20 63 6f 6d 6d  # Test HMAC comm
1dd0: 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 48 4d 41  and,,,,,,,,,.HMA
1de0: 43 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a  C,data,,,::tls::
1df0: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 6d 64 35  hmac -digest md5
1e00: 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20   -key $test_key 
1e10: 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61  -data $test_data
1e20: 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30 61  ,,,f98327ef3e20a
1e30: 62 36 64 33 38 38 66 36 37 36 63 36 61 37 39 64  b6d388f676c6a79d
1e40: 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c 66 69 6c 65  93d,,,.HMAC,file
1e50: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
1e60: 64 69 67 65 73 74 20 6d 64 35 20 2d 6b 65 79 20  digest md5 -key 
1e70: 24 74 65 73 74 5f 6b 65 79 20 2d 66 69 6c 65 20  $test_key -file 
1e80: 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 66 39 38  $test_file,,,f98
1e90: 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38  327ef3e20ab6d388
1ea0: 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c  f676c6a79d93d,,,
1eb0: 0a 48 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c 2c 2c  .HMAC,channel,,,
1ec0: 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e  digest_read_chan
1ed0: 20 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 24 74 65   ::tls::hmac $te
1ee0: 73 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20  st_file -digest 
1ef0: 6d 64 35 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  md5 -key $test_k
1f00: 65 79 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32  ey,,,f98327ef3e2
1f10: 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61 37  0ab6d388f676c6a7
1f20: 39 64 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c 63 6f  9d93d,,,.HMAC,co
1f30: 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74 5f 61  mmand,,,digest_a
1f40: 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f  ccumulate $test_
1f50: 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 68 6d 61 63  data ::tls::hmac
1f60: 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 6b 65   -digest md5 -ke
1f70: 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39  y $test_key,,,f9
1f80: 38 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38  8327ef3e20ab6d38
1f90: 38 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c  8f676c6a79d93d,,
1fa0: 2c 0a 48 4d 41 43 2c 64 61 74 61 20 62 69 6e 2c  ,.HMAC,data bin,
1fb0: 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20  ,,binary encode 
1fc0: 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63  hex [::tls::hmac
1fd0: 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 62 69   -digest md5 -bi
1fe0: 6e 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79  n -key $test_key
1ff0: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74   -data $test_dat
2000: 61 5d 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32  a],,,f98327ef3e2
2010: 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61 37  0ab6d388f676c6a7
2020: 39 64 39 33 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c  9d93d,,,.,,,,,,,
2030: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65  ,,,.command,# Te
2040: 73 74 20 44 69 67 65 73 74 20 48 4d 41 43 2c 2c  st Digest HMAC,,
2050: 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67 65 73 74 20 48  ,,,,,,,.Digest H
2060: 4d 41 43 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73  MAC,data,,,::tls
2070: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35  ::md -digest md5
2080: 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20   -key $test_key 
2090: 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61  -data $test_data
20a0: 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30 61  ,,,f98327ef3e20a
20b0: 62 36 64 33 38 38 66 36 37 36 63 36 61 37 39 64  b6d388f676c6a79d
20c0: 39 33 64 2c 2c 2c 0a 44 69 67 65 73 74 20 48 4d  93d,,,.Digest HM
20d0: 41 43 2c 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a  AC,file,,,::tls:
20e0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20  :md -digest md5 
20f0: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d  -key $test_key -
2100: 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c  file $test_file,
2110: 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 62  ,,f98327ef3e20ab
2120: 36 64 33 38 38 66 36 37 36 63 36 61 37 39 64 39  6d388f676c6a79d9
2130: 33 64 2c 2c 2c 0a 44 69 67 65 73 74 20 48 4d 41  3d,,,.Digest HMA
2140: 43 2c 63 68 61 6e 6e 65 6c 2c 2c 2c 64 69 67 65  C,channel,,,dige
2150: 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74  st_read_chan ::t
2160: 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c  ls::md $test_fil
2170: 65 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 6b  e -digest md5 -k
2180: 65 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66  ey $test_key,,,f
2190: 39 38 33 32 37 65 66 33 65 32 30 61 62 36 64 33  98327ef3e20ab6d3
21a0: 38 38 66 36 37 36 63 36 61 37 39 64 39 33 64 2c  88f676c6a79d93d,
21b0: 2c 2c 0a 44 69 67 65 73 74 20 48 4d 41 43 2c 63  ,,.Digest HMAC,c
21c0: 6f 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74 5f  ommand,,,digest_
21d0: 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74  accumulate $test
21e0: 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20  _data ::tls::md 
21f0: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 6b 65 79  -digest md5 -key
2200: 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39 38   $test_key,,,f98
2210: 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38  327ef3e20ab6d388
2220: 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c  f676c6a79d93d,,,
2230: 0a 44 69 67 65 73 74 20 48 4d 41 43 2c 64 61 74  .Digest HMAC,dat
2240: 61 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65  a bin,,,binary e
2250: 6e 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73  ncode hex [::tls
2260: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35  ::md -digest md5
2270: 20 2d 62 69 6e 20 2d 6b 65 79 20 24 74 65 73 74   -bin -key $test
2280: 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74  _key -data $test
2290: 5f 64 61 74 61 5d 2c 2c 2c 66 39 38 33 32 37 65  _data],,,f98327e
22a0: 66 33 65 32 30 61 62 36 64 33 38 38 66 36 37 36  f3e20ab6d388f676
22b0: 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a 2c 2c 2c  c6a79d93d,,,.,,,
22c0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
22d0: 23 20 54 65 73 74 20 43 4d 41 43 20 63 6f 6d 6d  # Test CMAC comm
22e0: 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  and,,,,,,,,,.com
22f0: 6d 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f 63  mand,"set test_c
2300: 69 70 68 65 72 20 22 22 61 65 73 2d 31 32 38 2d  ipher ""aes-128-
2310: 63 62 63 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  cbc""",,,,,,,,,.
2320: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 73  command,"set tes
2330: 74 5f 6b 65 79 20 22 22 45 78 61 6d 70 6c 65 20  t_key ""Example 
2340: 6b 65 79 20 31 32 33 34 22 22 22 2c 2c 2c 2c 2c  key 1234""",,,,,
2350: 2c 2c 2c 2c 0a 43 4d 41 43 2c 64 61 74 61 2c 2c  ,,,,.CMAC,data,,
2360: 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69  ,::tls::cmac -ci
2370: 70 68 65 72 20 24 74 65 73 74 5f 63 69 70 68 65  pher $test_ciphe
2380: 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79  r -key $test_key
2390: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74   -data $test_dat
23a0: 61 2c 2c 2c 62 61 66 35 63 32 30 66 39 39 37 33  a,,,baf5c20f9973
23b0: 65 32 64 36 30 36 62 31 34 63 37 65 66 64 66 65  e2d606b14c7efdfe
23c0: 35 32 66 61 2c 2c 2c 0a 43 4d 41 43 2c 66 69 6c  52fa,,,.CMAC,fil
23d0: 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  e,,,::tls::cmac 
23e0: 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69  -cipher $test_ci
23f0: 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f  pher -key $test_
2400: 6b 65 79 20 2d 66 69 6c 65 20 24 74 65 73 74 5f  key -file $test_
2410: 66 69 6c 65 2c 2c 2c 62 61 66 35 63 32 30 66 39  file,,,baf5c20f9
2420: 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66  973e2d606b14c7ef
2430: 64 66 65 35 32 66 61 2c 2c 2c 0a 43 4d 41 43 2c  dfe52fa,,,.CMAC,
2440: 63 68 61 6e 6e 65 6c 2c 2c 2c 64 69 67 65 73 74  channel,,,digest
2450: 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73  _read_chan ::tls
2460: 3a 3a 63 6d 61 63 20 24 74 65 73 74 5f 66 69 6c  ::cmac $test_fil
2470: 65 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f  e -cipher $test_
2480: 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73  cipher -key $tes
2490: 74 5f 6b 65 79 2c 2c 2c 62 61 66 35 63 32 30 66  t_key,,,baf5c20f
24a0: 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65  9973e2d606b14c7e
24b0: 66 64 66 65 35 32 66 61 2c 2c 2c 0a 43 4d 41 43  fdfe52fa,,,.CMAC
24c0: 2c 63 6f 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73  ,command,,,diges
24d0: 74 5f 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65  t_accumulate $te
24e0: 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 63  st_data ::tls::c
24f0: 6d 61 63 20 2d 63 69 70 68 65 72 20 24 74 65 73  mac -cipher $tes
2500: 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74  t_cipher -key $t
2510: 65 73 74 5f 6b 65 79 2c 2c 2c 62 61 66 35 63 32  est_key,,,baf5c2
2520: 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63  0f9973e2d606b14c
2530: 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 43 4d  7efdfe52fa,,,.CM
2540: 41 43 2c 64 61 74 61 20 62 69 6e 2c 2c 2c 62 69  AC,data bin,,,bi
2550: 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20  nary encode hex 
2560: 5b 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 62 69  [::tls::cmac -bi
2570: 6e 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f  n -cipher $test_
2580: 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73  cipher -key $tes
2590: 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73  t_key -data $tes
25a0: 74 5f 64 61 74 61 5d 2c 2c 2c 62 61 66 35 63 32  t_data],,,baf5c2
25b0: 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63  0f9973e2d606b14c
25c0: 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 2c 2c  7efdfe52fa,,,.,,
25d0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
25e0: 2c 23 20 54 65 73 74 20 44 69 67 65 73 74 20 43  ,# Test Digest C
25f0: 4d 41 43 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67  MAC,,,,,,,,,.Dig
2600: 65 73 74 20 43 4d 41 43 2c 64 61 74 61 2c 2c 2c  est CMAC,data,,,
2610: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 63 69 70 68 65  ::tls::md -ciphe
2620: 72 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d  r $test_cipher -
2630: 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64  key $test_key -d
2640: 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c  ata $test_data,,
2650: 2c 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64  ,baf5c20f9973e2d
2660: 36 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66  606b14c7efdfe52f
2670: 61 2c 2c 2c 0a 44 69 67 65 73 74 20 43 4d 41 43  a,,,.Digest CMAC
2680: 2c 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ,file,,,::tls::m
2690: 64 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f  d -cipher $test_
26a0: 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73  cipher -key $tes
26b0: 74 5f 6b 65 79 20 2d 66 69 6c 65 20 24 74 65 73  t_key -file $tes
26c0: 74 5f 66 69 6c 65 2c 2c 2c 62 61 66 35 63 32 30  t_file,,,baf5c20
26d0: 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37  f9973e2d606b14c7
26e0: 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 44 69 67  efdfe52fa,,,.Dig
26f0: 65 73 74 20 43 4d 41 43 2c 63 68 61 6e 6e 65 6c  est CMAC,channel
2700: 2c 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63  ,,,digest_read_c
2710: 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74  han ::tls::md $t
2720: 65 73 74 5f 66 69 6c 65 20 2d 63 69 70 68 65 72  est_file -cipher
2730: 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b   $test_cipher -k
2740: 65 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 62  ey $test_key,,,b
2750: 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36 30  af5c20f9973e2d60
2760: 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61 2c  6b14c7efdfe52fa,
2770: 2c 2c 0a 44 69 67 65 73 74 20 43 4d 41 43 2c 63  ,,.Digest CMAC,c
2780: 6f 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74 5f  ommand,,,digest_
2790: 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74  accumulate $test
27a0: 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20  _data ::tls::md 
27b0: 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69  -cipher $test_ci
27c0: 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f  pher -key $test_
27d0: 6b 65 79 2c 2c 2c 62 61 66 35 63 32 30 66 39 39  key,,,baf5c20f99
27e0: 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66 64  73e2d606b14c7efd
27f0: 66 65 35 32 66 61 2c 2c 2c 0a 44 69 67 65 73 74  fe52fa,,,.Digest
2800: 20 43 4d 41 43 2c 64 61 74 61 20 62 69 6e 2c 2c   CMAC,data bin,,
2810: 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68  ,binary encode h
2820: 65 78 20 5b 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 62  ex [::tls::md -b
2830: 69 6e 20 2d 63 69 70 68 65 72 20 24 74 65 73 74  in -cipher $test
2840: 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65  _cipher -key $te
2850: 73 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65  st_key -data $te
2860: 73 74 5f 64 61 74 61 5d 2c 2c 2c 62 61 66 35 63  st_data],,,baf5c
2870: 32 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34  20f9973e2d606b14
2880: 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 2c  c7efdfe52fa,,,.,
2890: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
28a0: 64 2c 23 20 54 65 73 74 20 4d 41 43 20 63 6f 6d  d,# Test MAC com
28b0: 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 41  mand,,,,,,,,,.MA
28c0: 43 2c 48 4d 41 43 2c 6e 65 77 5f 61 70 69 2c 2c  C,HMAC,new_api,,
28d0: 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d 64 69 67 65  ::tls::mac -dige
28e0: 73 74 20 73 68 61 32 35 36 20 2d 6d 61 63 20 68  st sha256 -mac h
28f0: 6d 61 63 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  mac -key $test_k
2900: 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64  ey -data $test_d
2910: 61 74 61 2c 2c 2c 34 39 38 65 66 35 65 66 37 31  ata,,,498ef5ef71
2920: 34 32 34 66 38 31 64 61 37 34 39 39 62 32 65 65  424f81da7499b2ee
2930: 61 65 31 64 30 61 33 34 38 64 64 34 30 62 38 34  ae1d0a348dd40b84
2940: 31 65 61 32 37 62 64 64 65 34 39 34 66 36 62 63  1ea27bdde494f6bc
2950: 39 30 34 36 66 66 2c 2c 2c 0a 4d 41 43 2c 43 4d  9046ff,,,.MAC,CM
2960: 41 43 2c 6e 65 77 5f 61 70 69 2c 2c 3a 3a 74 6c  AC,new_api,,::tl
2970: 73 3a 3a 6d 61 63 20 2d 63 69 70 68 65 72 20 24  s::mac -cipher $
2980: 74 65 73 74 5f 63 69 70 68 65 72 20 2d 64 69 67  test_cipher -dig
2990: 65 73 74 20 73 68 61 32 35 36 20 2d 6d 61 63 20  est sha256 -mac 
29a0: 63 6d 61 63 20 2d 6b 65 79 20 24 74 65 73 74 5f  cmac -key $test_
29b0: 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f  key -data $test_
29c0: 64 61 74 61 2c 2c 2c 34 39 38 65 66 35 65 66 37  data,,,498ef5ef7
29d0: 31 34 32 34 66 38 31 64 61 37 34 39 39 62 32 65  1424f81da7499b2e
29e0: 65 61 65 31 64 30 61 33 34 38 64 64 34 30 62 38  eae1d0a348dd40b8
29f0: 34 31 65 61 32 37 62 64 64 65 34 39 34 66 36 62  41ea27bdde494f6b
2a00: 63 39 30 34 36 66 66 2c 2c 2c 0a 2c 2c 2c 2c 2c  c9046ff,,,.,,,,,
2a10: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
2a20: 4d 44 20 45 72 72 6f 72 20 43 61 73 65 73 2c 2c  MD Error Cases,,
2a30: 2c 2c 2c 2c 2c 2c 2c 0a 44 69 67 65 73 74 20 45  ,,,,,,,.Digest E
2a40: 72 72 6f 72 73 2c 54 6f 6f 20 66 65 77 20 61 72  rrors,Too few ar
2a50: 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 2c 2c  gs,,,::tls::md,,
2a60: 2c 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20  ,"wrong # args: 
2a70: 73 68 6f 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c  should be ""::tl
2a80: 73 3a 3a 6d 64 20 3f 2d 62 69 6e 7c 2d 68 65 78  s::md ?-bin|-hex
2a90: 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61 6d 65 3f  ? ?-cipher name?
2aa0: 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d 65 3f 20   ?-digest name? 
2ab0: 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d 61 63  ?-key key? ?-mac
2ac0: 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c   name? [-channel
2ad0: 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64   chan | -command
2ae0: 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66 69 6c 65   cmdName | -file
2af0: 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64 61   filename | ?-da
2b00: 74 61 3f 20 64 61 74 61 5d 22 22 22 2c 2c 2c 31  ta? data]""",,,1
2b10: 0a 44 69 67 65 73 74 20 45 72 72 6f 72 73 2c 54  .Digest Errors,T
2b20: 6f 6f 20 6d 61 6e 79 20 61 72 67 73 2c 2c 2c 3a  oo many args,,,:
2b30: 3a 74 6c 73 3a 3a 6d 64 20 74 6f 6f 20 6d 61 6e  :tls::md too man
2b40: 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61  y command line a
2b50: 72 67 73 20 74 6f 20 70 61 73 73 20 74 68 65 20  rgs to pass the 
2b60: 74 65 73 74 20 77 69 74 68 6f 75 74 20 61 6e 20  test without an 
2b70: 65 72 72 6f 72 20 6f 72 20 66 61 69 6c 69 6e 67  error or failing
2b80: 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61 72 67 73  ,,,"wrong # args
2b90: 3a 20 73 68 6f 75 6c 64 20 62 65 20 22 22 3a 3a  : should be ""::
2ba0: 74 6c 73 3a 3a 6d 64 20 3f 2d 62 69 6e 7c 2d 68  tls::md ?-bin|-h
2bb0: 65 78 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61 6d  ex? ?-cipher nam
2bc0: 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d 65  e? ?-digest name
2bd0: 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d  ? ?-key key? ?-m
2be0: 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e  ac name? [-chann
2bf0: 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61  el chan | -comma
2c00: 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66 69  nd cmdName | -fi
2c10: 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d  le filename | ?-
2c20: 64 61 74 61 3f 20 64 61 74 61 5d 22 22 22 2c 2c  data? data]""",,
2c30: 2c 31 0a 44 69 67 65 73 74 20 45 72 72 6f 72 73  ,1.Digest Errors
2c40: 2c 49 6e 76 61 6c 69 64 20 64 69 67 65 73 74 2c  ,Invalid digest,
2c50: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 62 6f 67 75  ,,::tls::md bogu
2c60: 73 20 64 61 74 61 2c 2c 2c 22 49 6e 76 61 6c 69  s data,,,"Invali
2c70: 64 20 64 69 67 65 73 74 20 22 22 62 6f 67 75 73  d digest ""bogus
2c80: 22 22 22 2c 2c 2c 31 0a 44 69 67 65 73 74 20 45  """,,,1.Digest E
2c90: 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 64 69  rrors,Invalid di
2ca0: 67 65 73 74 20 41 72 67 2c 2c 2c 3a 3a 74 6c 73  gest Arg,,,::tls
2cb0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 62 6f 67  ::md -digest bog
2cc0: 75 73 20 2d 64 61 74 61 20 64 61 74 61 2c 2c 2c  us -data data,,,
2cd0: 22 49 6e 76 61 6c 69 64 20 64 69 67 65 73 74 20  "Invalid digest 
2ce0: 22 22 62 6f 67 75 73 22 22 22 2c 2c 2c 31 0a 44  ""bogus""",,,1.D
2cf0: 69 67 65 73 74 20 45 72 72 6f 72 73 2c 4e 6f 20  igest Errors,No 
2d00: 64 69 67 65 73 74 2c 2c 2c 3a 3a 74 6c 73 3a 3a  digest,,,::tls::
2d10: 6d 64 20 2d 68 65 78 20 2d 64 61 74 61 20 76 61  md -hex -data va
2d20: 6c 75 65 2c 2c 2c 4e 6f 20 64 69 67 65 73 74 20  lue,,,No digest 
2d30: 73 70 65 63 69 66 69 65 64 2c 2c 2c 31 0a 44 69  specified,,,1.Di
2d40: 67 65 73 74 20 45 72 72 6f 72 73 2c 49 6e 76 61  gest Errors,Inva
2d50: 6c 69 64 20 6f 70 74 69 6f 6e 2c 2c 2c 3a 3a 74  lid option,,,::t
2d60: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
2d70: 68 61 32 35 36 20 2d 62 6f 67 75 73 20 76 61 6c  ha256 -bogus val
2d80: 75 65 2c 2c 2c 22 62 61 64 20 6f 70 74 69 6f 6e  ue,,,"bad option
2d90: 20 22 22 2d 62 6f 67 75 73 22 22 3a 20 6d 75 73   ""-bogus"": mus
2da0: 74 20 62 65 20 2d 62 69 6e 2c 20 2d 63 68 61 6e  t be -bin, -chan
2db0: 6e 65 6c 2c 20 2d 63 69 70 68 65 72 2c 20 2d 63  nel, -cipher, -c
2dc0: 6f 6d 6d 61 6e 64 2c 20 2d 64 61 74 61 2c 20 2d  ommand, -data, -
2dd0: 64 69 67 65 73 74 2c 20 2d 66 69 6c 65 2c 20 2d  digest, -file, -
2de0: 66 69 6c 65 6e 61 6d 65 2c 20 2d 68 65 78 2c 20  filename, -hex, 
2df0: 2d 6b 65 79 2c 20 6f 72 20 2d 6d 61 63 22 2c 2c  -key, or -mac",,
2e00: 2c 31 0a 44 69 67 65 73 74 20 45 72 72 6f 72 73  ,1.Digest Errors
2e10: 2c 49 6e 76 61 6c 69 64 20 66 69 6c 65 2c 2c 2c  ,Invalid file,,,
2e20: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
2e30: 74 20 73 68 61 32 35 36 20 2d 66 69 6c 65 20 62  t sha256 -file b
2e40: 6f 67 75 73 2c 2c 2c 22 63 6f 75 6c 64 6e 27 74  ogus,,,"couldn't
2e50: 20 6f 70 65 6e 20 22 22 62 6f 67 75 73 22 22 3a   open ""bogus"":
2e60: 20 6e 6f 20 73 75 63 68 20 66 69 6c 65 20 6f 72   no such file or
2e70: 20 64 69 72 65 63 74 6f 72 79 22 2c 2c 2c 31 0a   directory",,,1.
2e80: 44 69 67 65 73 74 20 45 72 72 6f 72 73 2c 49 6e  Digest Errors,In
2e90: 76 61 6c 69 64 20 63 68 61 6e 6e 65 6c 2c 2c 2c  valid channel,,,
2ea0: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
2eb0: 74 20 73 68 61 32 35 36 20 2d 63 68 61 6e 6e 65  t sha256 -channe
2ec0: 6c 20 62 6f 67 75 73 2c 2c 2c 22 63 61 6e 20 6e  l bogus,,,"can n
2ed0: 6f 74 20 66 69 6e 64 20 63 68 61 6e 6e 65 6c 20  ot find channel 
2ee0: 6e 61 6d 65 64 20 22 22 62 6f 67 75 73 22 22 22  named ""bogus"""
2ef0: 2c 2c 2c 31 0a 44 69 67 65 73 74 20 45 72 72 6f  ,,,1.Digest Erro
2f00: 72 73 2c 4e 6f 20 6f 70 65 72 61 74 69 6f 6e 2c  rs,No operation,
2f10: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,,::tls::md -dig
2f20: 65 73 74 20 73 68 61 32 35 36 20 2d 62 69 6e 2c  est sha256 -bin,
2f30: 2c 2c 22 4e 6f 20 6f 70 65 72 61 74 69 6f 6e 20  ,,"No operation 
2f40: 73 70 65 63 69 66 69 65 64 3a 20 55 73 65 20 2d  specified: Use -
2f50: 63 68 61 6e 6e 65 6c 2c 20 2d 63 6f 6d 6d 61 6e  channel, -comman
2f60: 64 2c 20 2d 64 61 74 61 2c 20 6f 72 20 2d 66 69  d, -data, or -fi
2f70: 6c 65 20 6f 70 74 69 6f 6e 22 2c 2c 2c 31 0a 2c  le option",,,1.,
2f80: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
2f90: 64 2c 23 20 43 4d 41 43 20 45 72 72 6f 72 20 43  d,# CMAC Error C
2fa0: 61 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d  ases,,,,,,,,,.CM
2fb0: 41 43 20 45 72 72 6f 72 73 2c 54 6f 6f 20 66 65  AC Errors,Too fe
2fc0: 77 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a  w args,,,::tls::
2fd0: 63 6d 61 63 2c 2c 2c 22 77 72 6f 6e 67 20 23 20  cmac,,,"wrong # 
2fe0: 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20  args: should be 
2ff0: 22 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 3f 2d  ""::tls::cmac ?-
3000: 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68  bin|-hex? ?-ciph
3010: 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73  er name? ?-diges
3020: 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65  t name? ?-key ke
3030: 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b  y? ?-mac name? [
3040: 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20  -channel chan | 
3050: 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65  -command cmdName
3060: 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d   | -file filenam
3070: 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61  e | ?-data? data
3080: 5d 22 22 22 2c 2c 2c 31 0a 43 4d 41 43 20 45 72  ]""",,,1.CMAC Er
3090: 72 6f 72 73 2c 4e 6f 20 63 69 70 68 65 72 2c 2c  rors,No cipher,,
30a0: 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 68 65  ,::tls::cmac -he
30b0: 78 20 2d 64 61 74 61 20 76 61 6c 75 65 2c 2c 2c  x -data value,,,
30c0: 4e 6f 20 63 69 70 68 65 72 20 73 70 65 63 69 66  No cipher specif
30d0: 69 65 64 2c 2c 2c 31 0a 43 4d 41 43 20 45 72 72  ied,,,1.CMAC Err
30e0: 6f 72 73 2c 4e 6f 20 6b 65 79 2c 2c 2c 3a 3a 74  ors,No key,,,::t
30f0: 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72  ls::cmac -cipher
3100: 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 64   $test_cipher -d
3110: 61 74 61 20 76 61 6c 75 65 2c 2c 2c 4e 6f 20 6b  ata value,,,No k
3120: 65 79 20 73 70 65 63 69 66 69 65 64 2c 2c 2c 31  ey specified,,,1
3130: 0a 43 4d 41 43 20 45 72 72 6f 72 73 2c 49 6e 76  .CMAC Errors,Inv
3140: 61 6c 69 64 20 63 69 70 68 65 72 2c 2c 2c 3a 3a  alid cipher,,,::
3150: 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65  tls::cmac -ciphe
3160: 72 20 62 6f 67 75 73 20 2d 64 61 74 61 20 76 61  r bogus -data va
3170: 6c 75 65 2c 2c 2c 22 49 6e 76 61 6c 69 64 20 63  lue,,,"Invalid c
3180: 69 70 68 65 72 20 22 22 62 6f 67 75 73 22 22 22  ipher ""bogus"""
3190: 2c 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  ,,,1.,,,,,,,,,,.
31a0: 63 6f 6d 6d 61 6e 64 2c 23 20 48 4d 41 43 20 45  command,# HMAC E
31b0: 72 72 6f 72 20 43 61 73 65 73 2c 2c 2c 2c 2c 2c  rror Cases,,,,,,
31c0: 2c 2c 2c 0a 48 4d 41 43 20 45 72 72 6f 72 73 2c  ,,,.HMAC Errors,
31d0: 54 6f 6f 20 66 65 77 20 61 72 67 73 2c 2c 2c 3a  Too few args,,,:
31e0: 3a 74 6c 73 3a 3a 68 6d 61 63 2c 2c 2c 22 77 72  :tls::hmac,,,"wr
31f0: 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75  ong # args: shou
3200: 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 68  ld be ""::tls::h
3210: 6d 61 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20  mac ?-bin|-hex? 
3220: 3f 2d 63 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f  ?-cipher name? ?
3230: 2d 64 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d  -digest name? ?-
3240: 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e  key key? ?-mac n
3250: 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63  ame? [-channel c
3260: 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63  han | -command c
3270: 6d 64 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66  mdName | -file f
3280: 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61  ilename | ?-data
3290: 3f 20 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 48  ? data]""",,,1.H
32a0: 4d 41 43 20 45 72 72 6f 72 73 2c 4e 6f 20 64 69  MAC Errors,No di
32b0: 67 65 73 74 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d  gest,,,::tls::hm
32c0: 61 63 20 2d 68 65 78 20 2d 64 61 74 61 20 76 61  ac -hex -data va
32d0: 6c 75 65 2c 2c 2c 4e 6f 20 64 69 67 65 73 74 20  lue,,,No digest 
32e0: 73 70 65 63 69 66 69 65 64 2c 2c 2c 31 0a 48 4d  specified,,,1.HM
32f0: 41 43 20 45 72 72 6f 72 73 2c 4e 6f 20 6b 65 79  AC Errors,No key
3300: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
3310: 64 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 64  digest sha256 -d
3320: 61 74 61 20 76 61 6c 75 65 2c 2c 2c 4e 6f 20 6b  ata value,,,No k
3330: 65 79 20 73 70 65 63 69 66 69 65 64 2c 2c 2c 31  ey specified,,,1
3340: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  .,,,,,,,,,,.comm
3350: 61 6e 64 2c 23 20 4d 41 43 20 45 72 72 6f 72 20  and,# MAC Error 
3360: 43 61 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d  Cases,,,,,,,,,.M
3370: 41 43 20 45 72 72 6f 72 73 2c 54 6f 6f 20 66 65  AC Errors,Too fe
3380: 77 20 61 72 67 73 2c 6e 65 77 5f 61 70 69 2c 2c  w args,new_api,,
3390: 3a 3a 74 6c 73 3a 3a 6d 6d 61 63 2c 2c 2c 22 77  ::tls::mmac,,,"w
33a0: 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f  rong # args: sho
33b0: 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a  uld be ""::tls::
33c0: 6d 61 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20  mac ?-bin|-hex? 
33d0: 3f 2d 63 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f  ?-cipher name? ?
33e0: 2d 64 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d  -digest name? ?-
33f0: 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e  key key? ?-mac n
3400: 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63  ame? [-channel c
3410: 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63  han | -command c
3420: 6d 64 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66  mdName | -file f
3430: 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61  ilename | ?-data
3440: 3f 20 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 4d  ? data]""",,,1.M
3450: 41 43 20 45 72 72 6f 72 73 2c 4e 6f 20 6d 61 63  AC Errors,No mac
3460: 2c 6e 65 77 5f 61 70 69 2c 2c 3a 3a 74 6c 73 3a  ,new_api,,::tls:
3470: 3a 6d 61 63 20 2d 68 65 78 20 2d 64 61 74 61 20  :mac -hex -data 
3480: 76 61 6c 75 65 2c 2c 2c 4e 6f 20 4d 41 43 20 73  value,,,No MAC s
3490: 70 65 63 69 66 69 65 64 2c 2c 2c 31 0a 4d 41 43  pecified,,,1.MAC
34a0: 20 45 72 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c 6e   Errors,No key,n
34b0: 65 77 5f 61 70 69 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ew_api,,::tls::m
34c0: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 35  ac -digest sha25
34d0: 36 20 2d 64 61 74 61 20 76 61 6c 75 65 2c 2c 2c  6 -data value,,,
34e0: 4e 6f 20 6b 65 79 20 73 70 65 63 69 66 69 65 64  No key specified
34f0: 2c 2c 2c 31 0a 4d 41 43 20 45 72 72 6f 72 73 2c  ,,,1.MAC Errors,
3500: 54 6f 6f 20 6d 61 6e 79 20 61 72 67 73 2c 6e 65  Too many args,ne
3510: 77 5f 61 70 69 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61  w_api,,::tls::ma
3520: 63 20 74 6f 6f 20 6d 61 6e 79 20 63 6f 6d 6d 61  c too many comma
3530: 6e 64 20 6c 69 6e 65 20 61 72 67 73 20 74 6f 20  nd line args to 
3540: 70 61 73 73 20 74 68 65 20 74 65 73 74 20 77 69  pass the test wi
3550: 74 68 6f 75 74 20 61 6e 20 65 72 72 6f 72 20 6f  thout an error o
3560: 72 20 66 61 69 6c 69 6e 67 2c 2c 2c 22 77 72 6f  r failing,,,"wro
3570: 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c  ng # args: shoul
3580: 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 6d 61  d be ""::tls::ma
3590: 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d  c ?-bin|-hex? ?-
35a0: 63 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64  cipher name? ?-d
35b0: 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65  igest name? ?-ke
35c0: 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d  y key? ?-mac nam
35d0: 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61  e? [-channel cha
35e0: 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64  n | -command cmd
35f0: 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c  Name | -file fil
3600: 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20  ename | ?-data? 
3610: 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 2c 2c 2c  data]""",,,1.,,,
3620: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
3630: 23 20 52 46 43 20 31 33 32 31 20 4d 65 73 73 61  # RFC 1321 Messa
3640: 67 65 20 44 69 67 65 73 74 20 35 2c 2c 2c 2c 2c  ge Digest 5,,,,,
3650: 2c 2c 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44 35  ,,,,.RFC1321-MD5
3660: 2c 54 43 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d  ,TC1,,,"::tls::m
3670: 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64  d -digest md5 -d
3680: 61 74 61 20 22 22 22 22 22 2c 2c 2c 64 34 31 64  ata """"",,,d41d
3690: 38 63 64 39 38 66 30 30 62 32 30 34 65 39 38 30  8cd98f00b204e980
36a0: 30 39 39 38 65 63 66 38 34 32 37 65 2c 2c 2c 0a  0998ecf8427e,,,.
36b0: 52 46 43 31 33 32 31 2d 4d 44 35 2c 54 43 32 2c  RFC1321-MD5,TC2,
36c0: 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ,,"::tls::md -di
36d0: 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20 22  gest md5 -data "
36e0: 22 61 22 22 22 2c 2c 2c 30 63 63 31 37 35 62 39  "a""",,,0cc175b9
36f0: 63 30 66 31 62 36 61 38 33 31 63 33 39 39 65 32  c0f1b6a831c399e2
3700: 36 39 37 37 32 36 36 31 2c 2c 2c 0a 52 46 43 31  69772661,,,.RFC1
3710: 33 32 31 2d 4d 44 35 2c 54 43 33 2c 2c 2c 22 3a  321-MD5,TC3,,,":
3720: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
3730: 20 6d 64 35 20 2d 64 61 74 61 20 22 22 61 62 63   md5 -data ""abc
3740: 22 22 22 2c 2c 2c 39 30 30 31 35 30 39 38 33 63  """,,,900150983c
3750: 64 32 34 66 62 30 64 36 39 36 33 66 37 64 32 38  d24fb0d6963f7d28
3760: 65 31 37 66 37 32 2c 2c 2c 0a 52 46 43 31 33 32  e17f72,,,.RFC132
3770: 31 2d 4d 44 35 2c 54 43 34 2c 2c 2c 22 3a 3a 74  1-MD5,TC4,,,"::t
3780: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d  ls::md -digest m
3790: 64 35 20 2d 64 61 74 61 20 22 22 6d 65 73 73 61  d5 -data ""messa
37a0: 67 65 20 64 69 67 65 73 74 22 22 22 2c 2c 2c 66  ge digest""",,,f
37b0: 39 36 62 36 39 37 64 37 63 62 37 39 33 38 64 35  96b697d7cb7938d5
37c0: 32 35 61 32 66 33 31 61 61 66 31 36 31 64 30 2c  25a2f31aaf161d0,
37d0: 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44 35 2c 54  ,,.RFC1321-MD5,T
37e0: 43 35 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20  C5,,,"::tls::md 
37f0: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74  -digest md5 -dat
3800: 61 20 22 22 61 62 63 64 65 66 67 68 69 6a 6b 6c  a ""abcdefghijkl
3810: 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 22 22  mnopqrstuvwxyz""
3820: 22 2c 2c 2c 63 33 66 63 64 33 64 37 36 31 39 32  ",,,c3fcd3d76192
3830: 65 34 30 30 37 64 66 62 34 39 36 63 63 61 36 37  e4007dfb496cca67
3840: 65 31 33 62 2c 2c 2c 0a 52 46 43 31 33 32 31 2d  e13b,,,.RFC1321-
3850: 4d 44 35 2c 54 43 36 2c 2c 2c 22 3a 3a 74 6c 73  MD5,TC6,,,"::tls
3860: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35  ::md -digest md5
3870: 20 2d 64 61 74 61 20 22 22 41 42 43 44 45 46 47   -data ""ABCDEFG
3880: 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57  HIJKLMNOPQRSTUVW
3890: 58 59 5a 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d  XYZabcdefghijklm
38a0: 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32  nopqrstuvwxyz012
38b0: 33 34 35 36 37 38 39 22 22 22 2c 2c 2c 64 31 37  3456789""",,,d17
38c0: 34 61 62 39 38 64 32 37 37 64 39 66 35 61 35 36  4ab98d277d9f5a56
38d0: 31 31 63 32 63 39 66 34 31 39 64 39 66 2c 2c 2c  11c2c9f419d9f,,,
38e0: 0a 52 46 43 31 33 32 31 2d 4d 44 35 2c 54 43 37  .RFC1321-MD5,TC7
38f0: 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  ,,,"::tls::md -d
3900: 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20  igest md5 -data 
3910: 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22  [string repeat "
3920: 22 31 32 33 34 35 36 37 38 39 30 22 22 20 38 5d  "1234567890"" 8]
3930: 22 2c 2c 2c 35 37 65 64 66 34 61 32 32 62 65 33  ",,,57edf4a22be3
3940: 63 39 35 35 61 63 34 39 64 61 32 65 32 31 30 37  c955ac49da2e2107
3950: 62 36 37 61 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  b67a,,,.,,,,,,,,
3960: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43  ,,.command,# RFC
3970: 20 36 32 33 34 20 53 48 41 31 2c 2c 2c 2c 2c 2c   6234 SHA1,,,,,,
3980: 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53  ,,,.RFC6234-MD-S
3990: 48 41 31 2c 54 43 31 2c 2c 2c 22 3a 3a 74 6c 73  HA1,TC1,,,"::tls
39a0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
39b0: 31 20 2d 64 61 74 61 20 22 22 61 62 63 22 22 22  1 -data ""abc"""
39c0: 2c 2c 2c 61 39 39 39 33 65 33 36 34 37 30 36 38  ,,,a9993e3647068
39d0: 31 36 61 62 61 33 65 32 35 37 31 37 38 35 30 63  16aba3e25717850c
39e0: 32 36 63 39 63 64 30 64 38 39 64 2c 2c 2c 0a 52  26c9cd0d89d,,,.R
39f0: 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 31 2c 54  FC6234-MD-SHA1,T
3a00: 43 32 5f 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d  C2_1,,,"::tls::m
3a10: 64 20 2d 64 69 67 65 73 74 20 73 68 61 31 20 2d  d -digest sha1 -
3a20: 64 61 74 61 20 22 22 61 62 63 64 62 63 64 65 63  data ""abcdbcdec
3a30: 64 65 66 64 65 66 67 65 66 67 68 66 67 68 69 67  defdefgefghfghig
3a40: 68 69 6a 68 69 6a 6b 69 6a 6b 6c 6a 6b 6c 6d 6b  hijhijkijkljklmk
3a50: 6c 6d 6e 6c 6d 6e 6f 6d 6e 6f 70 6e 6f 70 71 22  lmnlmnomnopnopq"
3a60: 22 22 2c 2c 2c 38 34 39 38 33 65 34 34 31 63 33  "",,,84983e441c3
3a70: 62 64 32 36 65 62 61 61 65 34 61 61 31 66 39 35  bd26ebaae4aa1f95
3a80: 31 32 39 65 35 65 35 34 36 37 30 66 31 2c 2c 2c  129e5e54670f1,,,
3a90: 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 31  .RFC6234-MD-SHA1
3aa0: 2c 54 43 33 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d  ,TC3,,,"::tls::m
3ab0: 64 20 2d 64 69 67 65 73 74 20 73 68 61 31 20 2d  d -digest sha1 -
3ac0: 64 61 74 61 20 5b 73 74 72 69 6e 67 20 72 65 70  data [string rep
3ad0: 65 61 74 20 22 22 61 22 22 20 31 30 30 30 30 30  eat ""a"" 100000
3ae0: 30 5d 22 2c 2c 2c 33 34 61 61 39 37 33 63 64 34  0]",,,34aa973cd4
3af0: 63 34 64 61 61 34 66 36 31 65 65 62 32 62 64 62  c4daa4f61eeb2bdb
3b00: 61 64 32 37 33 31 36 35 33 34 30 31 36 66 2c 2c  ad27316534016f,,
3b10: 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41  ,.RFC6234-MD-SHA
3b20: 31 2c 54 43 34 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a  1,TC4,,,"::tls::
3b30: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 31 20  md -digest sha1 
3b40: 2d 64 61 74 61 20 5b 73 74 72 69 6e 67 20 72 65  -data [string re
3b50: 70 65 61 74 20 22 22 30 31 32 33 34 35 36 37 22  peat ""01234567"
3b60: 22 20 38 30 5d 22 2c 2c 2c 64 65 61 33 35 36 61  " 80]",,,dea356a
3b70: 32 63 64 64 64 39 30 63 37 61 37 65 63 65 64 63  2cddd90c7a7ecedc
3b80: 35 65 62 62 35 36 33 39 33 34 66 34 36 30 34 35  5ebb563934f46045
3b90: 32 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d  2,,,.RFC6234-MD-
3ba0: 53 48 41 31 2c 54 43 36 2c 2c 2c 22 3a 3a 74 6c  SHA1,TC6,,,"::tl
3bb0: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68  s::md -digest sh
3bc0: 61 31 20 2d 64 61 74 61 20 22 22 5c 78 35 65 22  a1 -data ""\x5e"
3bd0: 22 22 2c 2c 2c 35 65 36 66 38 30 61 33 34 61 39  "",,,5e6f80a34a9
3be0: 37 39 38 63 61 66 63 36 61 35 64 62 39 36 63 63  798cafc6a5db96cc
3bf0: 35 37 62 61 34 63 34 64 62 35 39 63 32 2c 2c 2c  57ba4c4db59c2,,,
3c00: 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 31  .RFC6234-MD-SHA1
3c10: 2c 54 43 38 5f 31 2c 2c 2c 22 3a 3a 74 6c 73 3a  ,TC8_1,,,"::tls:
3c20: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 31  :md -digest sha1
3c30: 20 2d 64 61 74 61 20 22 22 5c 78 39 61 5c 78 37   -data ""\x9a\x7
3c40: 64 5c 78 66 64 5c 78 66 31 5c 78 65 63 5c 78 65  d\xfd\xf1\xec\xe
3c50: 61 5c 78 64 30 5c 78 36 65 5c 78 64 36 5c 78 34  a\xd0\x6e\xd6\x4
3c60: 36 5c 78 61 61 5c 78 35 35 5c 78 66 65 5c 78 37  6\xaa\x55\xfe\x7
3c70: 35 5c 78 37 31 5c 78 34 36 22 22 22 2c 2c 2c 38  5\x71\x46""",,,8
3c80: 32 61 62 66 66 36 36 30 35 64 62 65 31 63 31 37  2abff6605dbe1c17
3c90: 64 65 66 31 32 61 33 39 34 66 61 32 32 61 38 32  def12a394fa22a82
3ca0: 62 35 34 34 61 33 35 2c 2c 2c 0a 52 46 43 36 32  b544a35,,,.RFC62
3cb0: 33 34 2d 4d 44 2d 53 48 41 31 2c 54 43 31 30 5f  34-MD-SHA1,TC10_
3cc0: 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  1,,,"::tls::md -
3cd0: 64 69 67 65 73 74 20 73 68 61 31 20 2d 64 61 74  digest sha1 -dat
3ce0: 61 20 22 22 5c 78 66 37 5c 78 38 66 5c 78 39 32  a ""\xf7\x8f\x92
3cf0: 5c 78 31 34 5c 78 31 62 5c 78 63 64 5c 78 31 37  \x14\x1b\xcd\x17
3d00: 5c 78 30 61 5c 78 65 38 5c 78 39 62 5c 78 34 66  \x0a\xe8\x9b\x4f
3d10: 5c 78 62 61 5c 78 31 35 5c 78 61 31 5c 78 64 35  \xba\x15\xa1\xd5
3d20: 5c 78 39 66 5c 78 33 66 5c 78 64 38 5c 78 34 64  \x9f\x3f\xd8\x4d
3d30: 5c 78 32 32 5c 78 33 63 5c 78 39 32 5c 78 35 31  \x22\x3c\x92\x51
3d40: 5c 78 62 64 5c 78 61 63 5c 78 62 62 5c 78 61 65  \xbd\xac\xbb\xae
3d50: 5c 78 36 31 5c 78 64 30 5c 78 35 65 5c 78 64 31  \x61\xd0\x5e\xd1
3d60: 5c 78 31 35 5c 78 61 30 5c 78 36 61 5c 78 37 63  \x15\xa0\x6a\x7c
3d70: 5c 78 65 31 5c 78 31 37 5c 78 62 37 5c 78 62 65  \xe1\x17\xb7\xbe
3d80: 5c 78 65 61 5c 78 64 32 5c 78 34 34 5c 78 32 31  \xea\xd2\x44\x21
3d90: 5c 78 64 65 5c 78 64 39 5c 78 63 33 5c 78 32 35  \xde\xd9\xc3\x25
3da0: 5c 78 39 32 5c 78 62 64 5c 78 35 37 5c 78 65 64  \x92\xbd\x57\xed
3db0: 5c 78 65 61 5c 78 65 33 5c 78 39 63 5c 78 33 39  \xea\xe3\x9c\x39
3dc0: 5c 78 66 61 5c 78 31 66 5c 78 65 38 5c 78 39 34  \xfa\x1f\xe8\x94
3dd0: 5c 78 36 61 5c 78 38 34 5c 78 64 30 5c 78 63 66  \x6a\x84\xd0\xcf
3de0: 5c 78 31 66 5c 78 37 62 5c 78 65 65 5c 78 61 64  \x1f\x7b\xee\xad
3df0: 5c 78 31 37 5c 78 31 33 5c 78 65 32 5c 78 65 30  \x17\x13\xe2\xe0
3e00: 5c 78 39 35 5c 78 39 38 5c 78 39 37 5c 78 33 34  \x95\x98\x97\x34
3e10: 5c 78 37 66 5c 78 36 37 5c 78 63 38 5c 78 30 62  \x7f\x67\xc8\x0b
3e20: 5c 78 30 34 5c 78 30 30 5c 78 63 32 5c 78 30 39  \x04\x00\xc2\x09
3e30: 5c 78 38 31 5c 78 35 64 5c 78 36 62 5c 78 31 30  \x81\x5d\x6b\x10
3e40: 5c 78 61 36 5c 78 38 33 5c 78 38 33 5c 78 36 66  \xa6\x83\x83\x6f
3e50: 5c 78 64 35 5c 78 35 36 5c 78 32 61 5c 78 35 36  \xd5\x56\x2a\x56
3e60: 5c 78 63 61 5c 78 62 31 5c 78 61 32 5c 78 38 65  \xca\xb1\xa2\x8e
3e70: 5c 78 38 31 5c 78 62 36 5c 78 35 37 5c 78 36 36  \x81\xb6\x57\x66
3e80: 5c 78 35 34 5c 78 36 33 5c 78 31 63 5c 78 66 31  \x54\x63\x1c\xf1
3e90: 5c 78 36 35 5c 78 36 36 5c 78 62 38 5c 78 36 65  \x65\x66\xb8\x6e
3ea0: 5c 78 33 62 5c 78 33 33 5c 78 61 31 5c 78 30 38  \x3b\x33\xa1\x08
3eb0: 5c 78 62 30 5c 78 35 33 5c 78 30 37 5c 78 63 30  \xb0\x53\x07\xc0
3ec0: 5c 78 30 61 5c 78 66 66 5c 78 31 34 5c 78 61 37  \x0a\xff\x14\xa7
3ed0: 5c 78 36 38 5c 78 65 64 5c 78 37 33 5c 78 35 30  \x68\xed\x73\x50
3ee0: 5c 78 36 30 5c 78 36 61 5c 78 30 66 5c 78 38 35  \x60\x6a\x0f\x85
3ef0: 5c 78 65 36 5c 78 61 39 5c 78 31 64 5c 78 33 39  \xe6\xa9\x1d\x39
3f00: 5c 78 36 66 5c 78 35 62 5c 78 35 63 5c 78 62 65  \x6f\x5b\x5c\xbe
3f10: 5c 78 35 37 5c 78 37 66 5c 78 39 62 5c 78 33 38  \x57\x7f\x9b\x38
3f20: 5c 78 38 30 5c 78 37 63 5c 78 37 64 5c 78 35 32  \x80\x7c\x7d\x52
3f30: 5c 78 33 64 5c 78 36 64 5c 78 37 39 5c 78 32 66  \x3d\x6d\x79\x2f
3f40: 5c 78 36 65 5c 78 62 63 5c 78 32 34 5c 78 61 34  \x6e\xbc\x24\xa4
3f50: 5c 78 65 63 5c 78 66 32 5c 78 62 33 5c 78 61 34  \xec\xf2\xb3\xa4
3f60: 5c 78 32 37 5c 78 63 64 5c 78 62 62 5c 78 66 62  \x27\xcd\xbb\xfb
3f70: 22 22 22 2c 2c 2c 63 62 30 30 38 32 63 38 66 31  """,,,cb0082c8f1
3f80: 39 37 64 32 36 30 39 39 31 62 61 36 61 34 36 30  97d260991ba6a460
3f90: 65 37 36 65 32 30 32 62 61 64 32 37 62 33 2c 2c  e76e202bad27b3,,
3fa0: 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  ,.,,,,,,,,,,.com
3fb0: 6d 61 6e 64 2c 23 20 52 46 43 20 36 32 33 34 20  mand,# RFC 6234 
3fc0: 53 48 41 32 35 36 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  SHA256,,,,,,,,,.
3fd0: 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 32 35  RFC6234-MD-SHA25
3fe0: 36 2c 54 43 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a  6,TC1,,,"::tls::
3ff0: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35  md -digest sha25
4000: 36 20 2d 64 61 74 61 20 22 22 61 62 63 22 22 22  6 -data ""abc"""
4010: 2c 2c 2c 62 61 37 38 31 36 62 66 38 66 30 31 63  ,,,ba7816bf8f01c
4020: 66 65 61 34 31 34 31 34 30 64 65 35 64 61 65 32  fea414140de5dae2
4030: 32 32 33 62 30 30 33 36 31 61 33 39 36 31 37 37  223b00361a396177
4040: 61 39 63 62 34 31 30 66 66 36 31 66 32 30 30 31  a9cb410ff61f2001
4050: 35 61 64 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d  5ad,,,.RFC6234-M
4060: 44 2d 53 48 41 32 35 36 2c 54 43 32 5f 31 2c 2c  D-SHA256,TC2_1,,
4070: 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,"::tls::md -dig
4080: 65 73 74 20 73 68 61 32 35 36 20 2d 64 61 74 61  est sha256 -data
4090: 20 22 22 61 62 63 64 62 63 64 65 63 64 65 66 64   ""abcdbcdecdefd
40a0: 65 66 67 65 66 67 68 66 67 68 69 67 68 69 6a 68  efgefghfghighijh
40b0: 69 6a 6b 69 6a 6b 6c 6a 6b 6c 6d 6b 6c 6d 6e 6c  ijkijkljklmklmnl
40c0: 6d 6e 6f 6d 6e 6f 70 6e 6f 70 71 22 22 22 2c 2c  mnomnopnopq""",,
40d0: 2c 32 34 38 64 36 61 36 31 64 32 30 36 33 38 62  ,248d6a61d20638b
40e0: 38 65 35 63 30 32 36 39 33 30 63 33 65 36 30 33  8e5c026930c3e603
40f0: 39 61 33 33 63 65 34 35 39 36 34 66 66 32 31 36  9a33ce45964ff216
4100: 37 66 36 65 63 65 64 64 34 31 39 64 62 30 36 63  7f6ecedd419db06c
4110: 31 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d  1,,,.RFC6234-MD-
4120: 53 48 41 32 35 36 2c 54 43 33 2c 2c 2c 22 3a 3a  SHA256,TC3,,,"::
4130: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
4140: 73 68 61 32 35 36 20 2d 64 61 74 61 20 5b 73 74  sha256 -data [st
4150: 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 61 22  ring repeat ""a"
4160: 22 20 31 30 30 30 30 30 30 5d 22 2c 2c 2c 63 64  " 1000000]",,,cd
4170: 63 37 36 65 35 63 39 39 31 34 66 62 39 32 38 31  c76e5c9914fb9281
4180: 61 31 63 37 65 32 38 34 64 37 33 65 36 37 66 31  a1c7e284d73e67f1
4190: 38 30 39 61 34 38 61 34 39 37 32 30 30 65 30 34  809a48a497200e04
41a0: 36 64 33 39 63 63 63 37 31 31 32 63 64 30 2c 2c  6d39ccc7112cd0,,
41b0: 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41  ,.RFC6234-MD-SHA
41c0: 32 35 36 2c 54 43 34 2c 2c 2c 22 3a 3a 74 6c 73  256,TC4,,,"::tls
41d0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
41e0: 32 35 36 20 2d 64 61 74 61 20 5b 73 74 72 69 6e  256 -data [strin
41f0: 67 20 72 65 70 65 61 74 20 22 22 30 31 32 33 34  g repeat ""01234
4200: 35 36 37 22 22 20 38 30 5d 22 2c 2c 2c 35 39 34  567"" 80]",,,594
4210: 38 34 37 33 32 38 34 35 31 62 64 66 61 38 35 30  847328451bdfa850
4220: 35 36 32 32 35 34 36 32 63 63 31 64 38 36 37 64  56225462cc1d867d
4230: 38 37 37 66 62 33 38 38 64 66 30 63 65 33 35 66  877fb388df0ce35f
4240: 32 35 61 62 35 35 36 32 62 66 62 62 35 2c 2c 2c  25ab5562bfbb5,,,
4250: 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 32  .RFC6234-MD-SHA2
4260: 35 36 2c 54 43 36 2c 2c 2c 22 3a 3a 74 6c 73 3a  56,TC6,,,"::tls:
4270: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32  :md -digest sha2
4280: 35 36 20 2d 64 61 74 61 20 22 22 5c 78 31 39 22  56 -data ""\x19"
4290: 22 22 2c 2c 2c 36 38 61 61 32 65 32 65 65 35 64  "",,,68aa2e2ee5d
42a0: 66 66 39 36 65 33 33 35 35 65 36 63 37 65 65 33  ff96e3355e6c7ee3
42b0: 37 33 65 33 64 36 61 34 65 31 37 66 37 35 66 39  73e3d6a4e17f75f9
42c0: 35 31 38 64 38 34 33 37 30 39 63 30 63 39 62 63  518d843709c0c9bc
42d0: 33 65 33 64 34 2c 2c 2c 0a 52 46 43 36 32 33 34  3e3d4,,,.RFC6234
42e0: 2d 4d 44 2d 53 48 41 32 35 36 2c 54 43 38 5f 32  -MD-SHA256,TC8_2
42f0: 35 36 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20  56,,,"::tls::md 
4300: 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20 2d  -digest sha256 -
4310: 64 61 74 61 20 22 22 5c 78 65 33 5c 78 64 37 5c  data ""\xe3\xd7\
4320: 78 32 35 5c 78 37 30 5c 78 64 63 5c 78 64 64 5c  x25\x70\xdc\xdd\
4330: 78 37 38 5c 78 37 63 5c 78 65 33 5c 78 38 38 5c  x78\x7c\xe3\x88\
4340: 78 37 61 5c 78 62 32 5c 78 63 64 5c 78 36 38 5c  x7a\xb2\xcd\x68\
4350: 78 34 36 5c 78 35 32 22 22 22 2c 2c 2c 31 37 35  x46\x52""",,,175
4360: 65 65 36 39 62 30 32 62 61 39 62 35 38 65 32 62  ee69b02ba9b58e2b
4370: 30 61 35 66 64 31 33 38 31 39 63 65 61 35 37 33  0a5fd13819cea573
4380: 66 33 39 34 30 61 39 34 66 38 32 35 31 32 38 63  f3940a94f825128c
4390: 66 34 32 30 39 62 65 61 62 62 34 65 38 2c 2c 2c  f4209beabb4e8,,,
43a0: 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 32  .RFC6234-MD-SHA2
43b0: 35 36 2c 54 43 31 30 5f 32 35 36 2c 2c 2c 22 3a  56,TC10_256,,,":
43c0: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
43d0: 20 73 68 61 32 35 36 20 2d 64 61 74 61 20 22 22   sha256 -data ""
43e0: 5c 78 38 33 5c 78 32 36 5c 78 37 35 5c 78 34 65  \x83\x26\x75\x4e
43f0: 5c 78 32 32 5c 78 37 37 5c 78 33 37 5c 78 32 66  \x22\x77\x37\x2f
4400: 5c 78 34 66 5c 78 63 31 5c 78 32 62 5c 78 32 30  \x4f\xc1\x2b\x20
4410: 5c 78 35 32 5c 78 37 61 5c 78 66 65 5c 78 66 30  \x52\x7a\xfe\xf0
4420: 5c 78 34 64 5c 78 38 61 5c 78 30 35 5c 78 36 39  \x4d\x8a\x05\x69
4430: 5c 78 37 31 5c 78 62 31 5c 78 31 61 5c 78 64 35  \x71\xb1\x1a\xd5
4440: 5c 78 37 31 5c 78 32 33 5c 78 61 37 5c 78 63 31  \x71\x23\xa7\xc1
4450: 5c 78 33 37 5c 78 37 36 5c 78 30 30 5c 78 30 30  \x37\x76\x00\x00
4460: 5c 78 64 37 5c 78 62 65 5c 78 66 36 5c 78 66 33  \xd7\xbe\xf6\xf3
4470: 5c 78 63 31 5c 78 66 37 5c 78 61 39 5c 78 30 38  \xc1\xf7\xa9\x08
4480: 5c 78 33 61 5c 78 61 33 5c 78 39 64 5c 78 38 31  \x3a\xa3\x9d\x81
4490: 5c 78 30 64 5c 78 62 33 5c 78 31 30 5c 78 37 37  \x0d\xb3\x10\x77
44a0: 5c 78 37 64 5c 78 61 62 5c 78 38 62 5c 78 31 65  \x7d\xab\x8b\x1e
44b0: 5c 78 37 66 5c 78 30 32 5c 78 62 38 5c 78 34 61  \x7f\x02\xb8\x4a
44c0: 5c 78 32 36 5c 78 63 37 5c 78 37 33 5c 78 33 32  \x26\xc7\x73\x32
44d0: 5c 78 35 66 5c 78 38 62 5c 78 32 33 5c 78 37 34  \x5f\x8b\x23\x74
44e0: 5c 78 64 65 5c 78 37 61 5c 78 34 62 5c 78 35 61  \xde\x7a\x4b\x5a
44f0: 5c 78 35 38 5c 78 63 62 5c 78 35 63 5c 78 35 63  \x58\xcb\x5c\x5c
4500: 5c 78 66 33 5c 78 35 62 5c 78 63 65 5c 78 65 36  \xf3\x5b\xce\xe6
4510: 5c 78 66 62 5c 78 39 34 5c 78 36 65 5c 78 35 62  \xfb\x94\x6e\x5b
4520: 5c 78 64 36 5c 78 39 34 5c 78 66 61 5c 78 35 39  \xd6\x94\xfa\x59
4530: 5c 78 33 61 5c 78 38 62 5c 78 65 62 5c 78 33 66  \x3a\x8b\xeb\x3f
4540: 5c 78 39 64 5c 78 36 35 5c 78 39 32 5c 78 65 63  \x9d\x65\x92\xec
4550: 5c 78 65 64 5c 78 61 61 5c 78 36 36 5c 78 63 61  \xed\xaa\x66\xca
4560: 5c 78 38 32 5c 78 61 32 5c 78 39 64 5c 78 30 63  \x82\xa2\x9d\x0c
4570: 5c 78 35 31 5c 78 62 63 5c 78 66 39 5c 78 33 33  \x51\xbc\xf9\x33
4580: 5c 78 36 32 5c 78 33 30 5c 78 65 35 5c 78 64 37  \x62\x30\xe5\xd7
4590: 5c 78 38 34 5c 78 65 34 5c 78 63 30 5c 78 61 34  \x84\xe4\xc0\xa4
45a0: 5c 78 33 66 5c 78 38 64 5c 78 37 39 5c 78 61 33  \x3f\x8d\x79\xa3
45b0: 5c 78 30 61 5c 78 31 36 5c 78 35 63 5c 78 62 61  \x0a\x16\x5c\xba
45c0: 5c 78 62 65 5c 78 34 35 5c 78 32 62 5c 78 37 37  \xbe\x45\x2b\x77
45d0: 5c 78 34 62 5c 78 39 63 5c 78 37 31 5c 78 30 39  \x4b\x9c\x71\x09
45e0: 5c 78 61 39 5c 78 37 64 5c 78 31 33 5c 78 38 66  \xa9\x7d\x13\x8f
45f0: 5c 78 31 32 5c 78 39 32 5c 78 32 38 5c 78 39 36  \x12\x92\x28\x96
4600: 5c 78 36 66 5c 78 36 63 5c 78 30 61 5c 78 64 63  \x6f\x6c\x0a\xdc
4610: 5c 78 31 30 5c 78 36 61 5c 78 61 64 5c 78 35 61  \x10\x6a\xad\x5a
4620: 5c 78 39 66 5c 78 64 64 5c 78 33 30 5c 78 38 32  \x9f\xdd\x30\x82
4630: 5c 78 35 37 5c 78 36 39 5c 78 62 32 5c 78 63 36  \x57\x69\xb2\xc6
4640: 5c 78 37 31 5c 78 61 66 5c 78 36 37 5c 78 35 39  \x71\xaf\x67\x59
4650: 5c 78 64 66 5c 78 32 38 5c 78 65 62 5c 78 33 39  \xdf\x28\xeb\x39
4660: 5c 78 33 64 5c 78 35 34 5c 78 64 36 22 22 22 2c  \x3d\x54\xd6""",
4670: 2c 2c 39 37 64 62 63 61 37 64 66 34 36 64 36 32  ,,97dbca7df46d62
4680: 63 38 61 34 32 32 63 39 34 31 64 64 37 65 38 33  c8a422c941dd7e83
4690: 35 62 38 61 64 33 33 36 31 37 36 33 66 37 65 39  5b8ad3361763f7e9
46a0: 62 32 64 39 35 66 34 66 30 64 61 36 65 31 63 63  b2d95f4f0da6e1cc
46b0: 62 63 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  bc,,,.,,,,,,,,,,
46c0: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34  .command,# RFC 4
46d0: 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65  231 HMAC Example
46e0: 73 20 54 65 73 74 20 43 61 73 65 20 23 31 2c 2c  s Test Case #1,,
46f0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
4700: 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79  "set key [binary
4710: 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72   decode hex [str
4720: 69 6e 67 20 72 65 70 65 61 74 20 22 22 30 62 22  ing repeat ""0b"
4730: 22 20 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c  " 20]]",,,,,,,,,
4740: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61  .command,"set da
4750: 74 61 20 22 22 48 69 20 54 68 65 72 65 22 22 22  ta ""Hi There"""
4760: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33  ,,,,,,,,,.RFC423
4770: 31 20 48 4d 41 43 20 54 43 31 2c 73 68 61 32 32  1 HMAC TC1,sha22
4780: 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  4,,,::tls::hmac 
4790: 2d 64 69 67 65 73 74 20 73 68 61 32 32 34 20 2d  -digest sha224 -
47a0: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
47b0: 64 61 74 61 2c 2c 2c 38 39 36 66 62 31 31 32 38  data,,,896fb1128
47c0: 61 62 62 64 66 31 39 36 38 33 32 31 30 37 63 64  abbdf196832107cd
47d0: 34 39 64 66 33 33 66 34 37 62 34 62 31 31 36 39  49df33f47b4b1169
47e0: 39 31 32 62 61 34 66 35 33 36 38 34 62 32 32 2c  912ba4f53684b22,
47f0: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
4800: 54 43 31 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74  TC1,sha256,,,::t
4810: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
4820: 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65   sha256 -key $ke
4830: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
4840: 62 30 33 34 34 63 36 31 64 38 64 62 33 38 35 33  b0344c61d8db3853
4850: 35 63 61 38 61 66 63 65 61 66 30 62 66 31 32 62  5ca8afceaf0bf12b
4860: 38 38 31 64 63 32 30 30 63 39 38 33 33 64 61 37  881dc200c9833da7
4870: 32 36 65 39 33 37 36 63 32 65 33 32 63 66 66 37  26e9376c2e32cff7
4880: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43  ,,,.RFC4231 HMAC
4890: 20 54 43 31 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a   TC1,sha384,,,::
48a0: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73  tls::hmac -diges
48b0: 74 20 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b  t sha384 -key $k
48c0: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c  ey -data $data,,
48d0: 2c 61 66 64 30 33 39 34 34 64 38 34 38 39 35 36  ,afd03944d848956
48e0: 32 36 62 30 38 32 35 66 34 61 62 34 36 39 30 37  26b0825f4ab46907
48f0: 66 31 35 66 39 64 61 64 62 65 34 31 30 31 65 63  f15f9dadbe4101ec
4900: 36 38 32 61 61 30 33 34 63 37 63 65 62 63 35 39  682aa034c7cebc59
4910: 63 66 61 65 61 39 65 61 39 30 37 36 65 64 65 37  cfaea9ea9076ede7
4920: 66 34 61 66 31 35 32 65 38 62 32 66 61 39 63 62  f4af152e8b2fa9cb
4930: 36 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  6,,,.RFC4231 HMA
4940: 43 20 54 43 31 2c 73 68 61 35 31 32 2c 2c 2c 3a  C TC1,sha512,,,:
4950: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
4960: 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24  st sha512 -key $
4970: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
4980: 2c 2c 38 37 61 61 37 63 64 65 61 35 65 66 36 31  ,,87aa7cdea5ef61
4990: 39 64 34 66 66 30 62 34 32 34 31 61 31 64 36 63  9d4ff0b4241a1d6c
49a0: 62 30 32 33 37 39 66 34 65 32 63 65 34 65 63 32  b02379f4e2ce4ec2
49b0: 37 38 37 61 64 30 62 33 30 35 34 35 65 31 37 63  787ad0b30545e17c
49c0: 64 65 64 61 61 38 33 33 62 37 64 36 62 38 61 37  dedaa833b7d6b8a7
49d0: 30 32 30 33 38 62 32 37 34 65 61 65 61 33 66 34  02038b274eaea3f4
49e0: 65 34 62 65 39 64 39 31 34 65 65 62 36 31 66 31  e4be9d914eeb61f1
49f0: 37 30 32 65 36 39 36 63 32 30 33 61 31 32 36 38  702e696c203a1268
4a00: 35 34 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  54,,,.,,,,,,,,,,
4a10: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34  .command,# RFC 4
4a20: 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65  231 HMAC Example
4a30: 73 20 54 65 73 74 20 43 61 73 65 20 23 32 20 2d  s Test Case #2 -
4a40: 20 54 65 73 74 20 77 69 74 68 20 61 20 6b 65 79   Test with a key
4a50: 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 74 68   shorter than th
4a60: 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20  e length of the 
4a70: 48 4d 41 43 20 6f 75 74 70 75 74 2e 2c 2c 2c 2c  HMAC output.,,,,
4a80: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
4a90: 65 74 20 6b 65 79 20 22 22 4a 65 66 65 22 22 22  et key ""Jefe"""
4aa0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
4ab0: 64 2c 22 73 65 74 20 64 61 74 61 20 22 22 77 68  d,"set data ""wh
4ac0: 61 74 20 64 6f 20 79 61 20 77 61 6e 74 20 66 6f  at do ya want fo
4ad0: 72 20 6e 6f 74 68 69 6e 67 3f 22 22 22 2c 2c 2c  r nothing?""",,,
4ae0: 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48  ,,,,,,.RFC4231 H
4af0: 4d 41 43 20 54 43 32 2c 73 68 61 32 32 34 2c 2c  MAC TC2,sha224,,
4b00: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
4b10: 67 65 73 74 20 73 68 61 32 32 34 20 2d 6b 65 79  gest sha224 -key
4b20: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
4b30: 61 2c 2c 2c 61 33 30 65 30 31 30 39 38 62 63 36  a,,,a30e01098bc6
4b40: 64 62 62 66 34 35 36 39 30 66 33 61 37 65 39 65  dbbf45690f3a7e9e
4b50: 36 64 30 66 38 62 62 65 61 32 61 33 39 65 36 31  6d0f8bbea2a39e61
4b60: 34 38 30 30 38 66 64 30 35 65 34 34 2c 2c 2c 0a  48008fd05e44,,,.
4b70: 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 32  RFC4231 HMAC TC2
4b80: 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha256,,,::tls:
4b90: 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68  :hmac -digest sh
4ba0: 61 32 35 36 20 2d 6b 65 79 20 24 6b 65 79 20 2d  a256 -key $key -
4bb0: 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 35 62 64  data $data,,,5bd
4bc0: 63 63 31 34 36 62 66 36 30 37 35 34 65 36 61 30  cc146bf60754e6a0
4bd0: 34 32 34 32 36 30 38 39 35 37 35 63 37 35 61 30  42426089575c75a0
4be0: 30 33 66 30 38 39 64 32 37 33 39 38 33 39 64 65  03f089d2739839de
4bf0: 63 35 38 62 39 36 34 65 63 33 38 34 33 2c 2c 2c  c58b964ec3843,,,
4c00: 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43  .RFC4231 HMAC TC
4c10: 32 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a 74 6c 73  2,sha384,,,::tls
4c20: 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73  ::hmac -digest s
4c30: 68 61 33 38 34 20 2d 6b 65 79 20 24 6b 65 79 20  ha384 -key $key 
4c40: 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 61 66  -data $data,,,af
4c50: 34 35 64 32 65 33 37 36 34 38 34 30 33 31 36 31  45d2e37648403161
4c60: 37 66 37 38 64 32 62 35 38 61 36 62 31 62 39 63  7f78d2b58a6b1b9c
4c70: 37 65 66 34 36 34 66 35 61 30 31 62 34 37 65 34  7ef464f5a01b47e4
4c80: 32 65 63 33 37 33 36 33 32 32 34 34 35 65 38 65  2ec3736322445e8e
4c90: 32 32 34 30 63 61 35 65 36 39 65 32 63 37 38 62  2240ca5e69e2c78b
4ca0: 33 32 33 39 65 63 66 61 62 32 31 36 34 39 2c 2c  3239ecfab21649,,
4cb0: 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54  ,.RFC4231 HMAC T
4cc0: 43 32 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c  C2,sha512,,,::tl
4cd0: 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20  s::hmac -digest 
4ce0: 73 68 61 35 31 32 20 2d 6b 65 79 20 24 6b 65 79  sha512 -key $key
4cf0: 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 31   -data $data,,,1
4d00: 36 34 62 37 61 37 62 66 63 66 38 31 39 65 32 65  64b7a7bfcf819e2e
4d10: 33 39 35 66 62 65 37 33 62 35 36 65 30 61 33 38  395fbe73b56e0a38
4d20: 37 62 64 36 34 32 32 32 65 38 33 31 66 64 36 31  7bd64222e831fd61
4d30: 30 32 37 30 63 64 37 65 61 32 35 30 35 35 34 39  0270cd7ea2505549
4d40: 37 35 38 62 66 37 35 63 30 35 61 39 39 34 61 36  758bf75c05a994a6
4d50: 64 30 33 34 66 36 35 66 38 66 30 65 36 66 64 63  d034f65f8f0e6fdc
4d60: 61 65 61 62 31 61 33 34 64 34 61 36 62 34 62 36  aeab1a34d4a6b4b6
4d70: 33 36 65 30 37 30 61 33 38 62 63 65 37 33 37 2c  36e070a38bce737,
4d80: 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ,,.,,,,,,,,,,.co
4d90: 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34 32 33 31  mmand,# RFC 4231
4da0: 20 48 4d 41 43 20 45 78 61 6d 70 6c 65 73 20 54   HMAC Examples T
4db0: 65 73 74 20 43 61 73 65 20 23 33 20 2d 20 54 65  est Case #3 - Te
4dc0: 73 74 20 77 69 74 68 20 61 20 63 6f 6d 62 69 6e  st with a combin
4dd0: 65 64 20 6c 65 6e 67 74 68 20 6f 66 20 6b 65 79  ed length of key
4de0: 20 61 6e 64 20 64 61 74 61 20 74 68 61 74 20 69   and data that i
4df0: 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 36 34  s larger than 64
4e00: 20 62 79 74 65 73 20 28 3d 20 62 6c 6f 63 6b 2d   bytes (= block-
4e10: 73 69 7a 65 20 6f 66 20 53 48 41 2d 32 32 34 20  size of SHA-224 
4e20: 61 6e 64 20 53 48 41 2d 32 35 36 29 2e 2c 2c 2c  and SHA-256).,,,
4e30: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22  ,,,,,,.command,"
4e40: 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20  set key [binary 
4e50: 64 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72 69  decode hex [stri
4e60: 6e 67 20 72 65 70 65 61 74 20 22 22 61 61 22 22  ng repeat ""aa""
4e70: 20 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a   20]]",,,,,,,,,.
4e80: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74  command,"set dat
4e90: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
4ea0: 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70   hex [string rep
4eb0: 65 61 74 20 22 22 64 64 22 22 20 35 30 5d 5d 22  eat ""dd"" 50]]"
4ec0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33  ,,,,,,,,,.RFC423
4ed0: 31 20 48 4d 41 43 20 54 43 33 2c 73 68 61 32 32  1 HMAC TC3,sha22
4ee0: 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  4,,,::tls::hmac 
4ef0: 2d 64 69 67 65 73 74 20 73 68 61 32 32 34 20 2d  -digest sha224 -
4f00: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
4f10: 64 61 74 61 2c 2c 2c 37 66 62 33 63 62 33 35 38  data,,,7fb3cb358
4f20: 38 63 36 63 31 66 36 66 66 61 39 36 39 34 64 37  8c6c1f6ffa9694d7
4f30: 64 36 61 64 32 36 34 39 33 36 35 62 30 63 31 66  d6ad2649365b0c1f
4f40: 36 35 64 36 39 64 31 65 63 38 33 33 33 65 61 2c  65d69d1ec8333ea,
4f50: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
4f60: 54 43 33 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74  TC3,sha256,,,::t
4f70: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
4f80: 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65   sha256 -key $ke
4f90: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
4fa0: 37 37 33 65 61 39 31 65 33 36 38 30 30 65 34 36  773ea91e36800e46
4fb0: 38 35 34 64 62 38 65 62 64 30 39 31 38 31 61 37  854db8ebd09181a7
4fc0: 32 39 35 39 30 39 38 62 33 65 66 38 63 31 32 32  2959098b3ef8c122
4fd0: 64 39 36 33 35 35 31 34 63 65 64 35 36 35 66 65  d9635514ced565fe
4fe0: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43  ,,,.RFC4231 HMAC
4ff0: 20 54 43 33 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a   TC3,sha384,,,::
5000: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73  tls::hmac -diges
5010: 74 20 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b  t sha384 -key $k
5020: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c  ey -data $data,,
5030: 2c 38 38 30 36 32 36 30 38 64 33 65 36 61 64 38  ,88062608d3e6ad8
5040: 61 30 61 61 32 61 63 65 30 31 34 63 38 61 38 36  a0aa2ace014c8a86
5050: 66 30 61 61 36 33 35 64 39 34 37 61 63 39 66 65  f0aa635d947ac9fe
5060: 62 65 38 33 65 66 34 65 35 35 39 36 36 31 34 34  be83ef4e55966144
5070: 62 32 61 35 61 62 33 39 64 63 31 33 38 31 34 62  b2a5ab39dc13814b
5080: 39 34 65 33 61 62 36 65 31 30 31 61 33 34 66 32  94e3ab6e101a34f2
5090: 37 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  7,,,.RFC4231 HMA
50a0: 43 20 54 43 33 2c 73 68 61 35 31 32 2c 2c 2c 3a  C TC3,sha512,,,:
50b0: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
50c0: 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24  st sha512 -key $
50d0: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
50e0: 2c 2c 66 61 37 33 62 30 30 38 39 64 35 36 61 32  ,,fa73b0089d56a2
50f0: 38 34 65 66 62 30 66 30 37 35 36 63 38 39 30 62  84efb0f0756c890b
5100: 65 39 62 31 62 35 64 62 64 64 38 65 65 38 31 61  e9b1b5dbdd8ee81a
5110: 33 36 35 35 66 38 33 65 33 33 62 32 32 37 39 64  3655f83e33b2279d
5120: 33 39 62 66 33 65 38 34 38 32 37 39 61 37 32 32  39bf3e848279a722
5130: 63 38 30 36 62 34 38 35 61 34 37 65 36 37 63 38  c806b485a47e67c8
5140: 30 37 62 39 34 36 61 33 33 37 62 65 65 38 39 34  07b946a337bee894
5150: 32 36 37 34 32 37 38 38 35 39 65 31 33 32 39 32  2674278859e13292
5160: 66 62 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  fb,,,.,,,,,,,,,,
5170: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34  .command,# RFC 4
5180: 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65  231 HMAC Example
5190: 73 20 54 65 73 74 20 43 61 73 65 20 23 34 20 2d  s Test Case #4 -
51a0: 20 54 65 73 74 20 77 69 74 68 20 61 20 63 6f 6d   Test with a com
51b0: 62 69 6e 65 64 20 6c 65 6e 67 74 68 20 6f 66 20  bined length of 
51c0: 6b 65 79 20 61 6e 64 20 64 61 74 61 20 74 68 61  key and data tha
51d0: 74 20 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e  t is larger than
51e0: 20 36 34 20 62 79 74 65 73 20 28 3d 20 62 6c 6f   64 bytes (= blo
51f0: 63 6b 2d 73 69 7a 65 20 6f 66 20 53 48 41 2d 32  ck-size of SHA-2
5200: 32 34 20 61 6e 64 20 53 48 41 2d 32 35 36 29 2e  24 and SHA-256).
5210: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
5220: 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61  d,"set key [bina
5230: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 22 22  ry decode hex ""
5240: 30 31 30 32 30 33 30 34 30 35 30 36 30 37 30 38  0102030405060708
5250: 30 39 30 61 30 62 30 63 30 64 30 65 30 66 31 30  090a0b0c0d0e0f10
5260: 31 31 31 32 31 33 31 34 31 35 31 36 31 37 31 38  1112131415161718
5270: 31 39 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  19""]",,,,,,,,,.
5280: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74  command,"set dat
5290: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
52a0: 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70   hex [string rep
52b0: 65 61 74 20 22 22 63 64 22 22 20 35 30 5d 5d 22  eat ""cd"" 50]]"
52c0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33  ,,,,,,,,,.RFC423
52d0: 31 20 48 4d 41 43 20 54 43 34 2c 73 68 61 32 32  1 HMAC TC4,sha22
52e0: 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  4,,,::tls::hmac 
52f0: 2d 64 69 67 65 73 74 20 73 68 61 32 32 34 20 2d  -digest sha224 -
5300: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
5310: 64 61 74 61 2c 2c 2c 36 63 31 31 35 30 36 38 37  data,,,6c1150687
5320: 34 30 31 33 63 61 63 36 61 32 61 62 63 31 62 62  4013cac6a2abc1bb
5330: 33 38 32 36 32 37 63 65 63 36 61 39 30 64 38 36  382627cec6a90d86
5340: 65 66 63 30 31 32 64 65 37 61 66 65 63 35 61 2c  efc012de7afec5a,
5350: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
5360: 54 43 34 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74  TC4,sha256,,,::t
5370: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
5380: 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65   sha256 -key $ke
5390: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
53a0: 38 32 35 35 38 61 33 38 39 61 34 34 33 63 30 65  82558a389a443c0e
53b0: 61 34 63 63 38 31 39 38 39 39 66 32 30 38 33 61  a4cc819899f2083a
53c0: 38 35 66 30 66 61 61 33 65 35 37 38 66 38 30 37  85f0faa3e578f807
53d0: 37 61 32 65 33 66 66 34 36 37 32 39 36 36 35 62  7a2e3ff46729665b
53e0: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43  ,,,.RFC4231 HMAC
53f0: 20 54 43 34 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a   TC4,sha384,,,::
5400: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73  tls::hmac -diges
5410: 74 20 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b  t sha384 -key $k
5420: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c  ey -data $data,,
5430: 2c 33 65 38 61 36 39 62 37 37 38 33 63 32 35 38  ,3e8a69b7783c258
5440: 35 31 39 33 33 61 62 36 32 39 30 61 66 36 63 61  51933ab6290af6ca
5450: 37 37 61 39 39 38 31 34 38 30 38 35 30 30 30 39  77a9981480850009
5460: 63 63 35 35 37 37 63 36 65 31 66 35 37 33 62 34  cc5577c6e1f573b4
5470: 65 36 38 30 31 64 64 32 33 63 34 61 37 64 36 37  e6801dd23c4a7d67
5480: 39 63 63 66 38 61 33 38 36 63 36 37 34 63 66 66  9ccf8a386c674cff
5490: 62 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  b,,,.RFC4231 HMA
54a0: 43 20 54 43 34 2c 73 68 61 35 31 32 2c 2c 2c 3a  C TC4,sha512,,,:
54b0: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
54c0: 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24  st sha512 -key $
54d0: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
54e0: 2c 2c 62 30 62 61 34 36 35 36 33 37 34 35 38 63  ,,b0ba465637458c
54f0: 36 39 39 30 65 35 61 38 63 35 66 36 31 64 34 61  6990e5a8c5f61d4a
5500: 66 37 65 35 37 36 64 39 37 66 66 39 34 62 38 37  f7e576d97ff94b87
5510: 32 64 65 37 36 66 38 30 35 30 33 36 31 65 65 33  2de76f8050361ee3
5520: 64 62 61 39 31 63 61 35 63 31 31 61 61 32 35 65  dba91ca5c11aa25e
5530: 62 34 64 36 37 39 32 37 35 63 63 35 37 38 38 30  b4d679275cc57880
5540: 36 33 61 35 66 31 39 37 34 31 31 32 30 63 34 66  63a5f19741120c4f
5550: 32 64 65 32 61 64 65 62 65 62 31 30 61 32 39 38  2de2adebeb10a298
5560: 64 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  dd,,,.,,,,,,,,,,
5570: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34  .command,# RFC 4
5580: 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65  231 HMAC Example
5590: 73 20 54 65 73 74 20 43 61 73 65 20 23 35 20 2d  s Test Case #5 -
55a0: 20 54 65 73 74 20 77 69 74 68 20 61 20 74 72 75   Test with a tru
55b0: 6e 63 61 74 69 6f 6e 20 6f 66 20 6f 75 74 70 75  ncation of outpu
55c0: 74 20 74 6f 20 31 32 38 20 62 69 74 73 2e 2c 2c  t to 128 bits.,,
55d0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
55e0: 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79  "set key [binary
55f0: 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72   decode hex [str
5600: 69 6e 67 20 72 65 70 65 61 74 20 22 22 30 63 22  ing repeat ""0c"
5610: 22 20 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c  " 20]]",,,,,,,,,
5620: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61  .command,"set da
5630: 74 61 20 22 22 54 65 73 74 20 57 69 74 68 20 54  ta ""Test With T
5640: 72 75 6e 63 61 74 69 6f 6e 22 22 22 2c 2c 2c 2c  runcation""",,,,
5650: 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d  ,,,,,.RFC4231 HM
5660: 41 43 20 54 43 35 2c 73 68 61 32 32 34 2c 2c 2c  AC TC5,sha224,,,
5670: 73 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 3a 3a  string range [::
5680: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73  tls::hmac -diges
5690: 74 20 73 68 61 32 32 34 20 2d 6b 65 79 20 24 6b  t sha224 -key $k
56a0: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 5d 20  ey -data $data] 
56b0: 30 20 33 31 2c 2c 2c 30 65 32 61 65 61 36 38 61  0 31,,,0e2aea68a
56c0: 39 30 63 38 64 33 37 63 39 38 38 62 63 64 62 39  90c8d37c988bcdb9
56d0: 66 63 61 36 66 61 38 2c 2c 2c 0a 52 46 43 34 32  fca6fa8,,,.RFC42
56e0: 33 31 20 48 4d 41 43 20 54 43 35 2c 73 68 61 32  31 HMAC TC5,sha2
56f0: 35 36 2c 2c 2c 73 74 72 69 6e 67 20 72 61 6e 67  56,,,string rang
5700: 65 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  e [::tls::hmac -
5710: 64 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b  digest sha256 -k
5720: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
5730: 61 74 61 5d 20 30 20 33 31 2c 2c 2c 61 33 62 36  ata] 0 31,,,a3b6
5740: 31 36 37 34 37 33 31 30 30 65 65 30 36 65 30 63  167473100ee06e0c
5750: 37 39 36 63 32 39 35 35 35 35 32 62 2c 2c 2c 0a  796c2955552b,,,.
5760: 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 35  RFC4231 HMAC TC5
5770: 2c 73 68 61 33 38 34 2c 2c 2c 73 74 72 69 6e 67  ,sha384,,,string
5780: 20 72 61 6e 67 65 20 5b 3a 3a 74 6c 73 3a 3a 68   range [::tls::h
5790: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 33  mac -digest sha3
57a0: 38 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  84 -key $key -da
57b0: 74 61 20 24 64 61 74 61 5d 20 30 20 33 31 2c 2c  ta $data] 0 31,,
57c0: 2c 33 61 62 66 33 34 63 33 35 30 33 62 32 61 32  ,3abf34c3503b2a2
57d0: 33 61 34 36 65 66 63 36 31 39 62 61 65 66 38 39  3a46efc619baef89
57e0: 37 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  7,,,.RFC4231 HMA
57f0: 43 20 54 43 35 2c 73 68 61 35 31 32 2c 2c 2c 73  C TC5,sha512,,,s
5800: 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 3a 3a 74  tring range [::t
5810: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
5820: 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24 6b 65   sha512 -key $ke
5830: 79 20 2d 64 61 74 61 20 24 64 61 74 61 5d 20 30  y -data $data] 0
5840: 20 33 31 2c 2c 2c 34 31 35 66 61 64 36 32 37 31   31,,,415fad6271
5850: 35 38 30 61 35 33 31 64 34 31 37 39 62 63 38 39  580a531d4179bc89
5860: 31 64 38 37 61 36 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  1d87a6,,,.,,,,,,
5870: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52  ,,,,.command,# R
5880: 46 43 20 34 32 33 31 20 48 4d 41 43 20 45 78 61  FC 4231 HMAC Exa
5890: 6d 70 6c 65 73 20 54 65 73 74 20 43 61 73 65 20  mples Test Case 
58a0: 23 36 20 2d 20 54 65 73 74 20 77 69 74 68 20 61  #6 - Test with a
58b0: 20 6b 65 79 20 6c 61 72 67 65 72 20 74 68 61 6e   key larger than
58c0: 20 31 32 38 20 62 79 74 65 73 20 28 3d 20 62 6c   128 bytes (= bl
58d0: 6f 63 6b 2d 73 69 7a 65 20 6f 66 20 53 48 41 2d  ock-size of SHA-
58e0: 33 38 34 20 61 6e 64 20 53 48 41 2d 35 31 32 29  384 and SHA-512)
58f0: 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  .,,,,,,,,,.comma
5900: 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e  nd,"set key [bin
5910: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b  ary decode hex [
5920: 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22  string repeat ""
5930: 61 61 22 22 20 31 33 31 5d 5d 22 2c 2c 2c 2c 2c  aa"" 131]]",,,,,
5940: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65  ,,,,.command,"se
5950: 74 20 64 61 74 61 20 22 22 54 65 73 74 20 55 73  t data ""Test Us
5960: 69 6e 67 20 4c 61 72 67 65 72 20 54 68 61 6e 20  ing Larger Than 
5970: 42 6c 6f 63 6b 2d 53 69 7a 65 20 4b 65 79 20 2d  Block-Size Key -
5980: 20 48 61 73 68 20 4b 65 79 20 46 69 72 73 74 22   Hash Key First"
5990: 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34  "",,,,,,,,,.RFC4
59a0: 32 33 31 20 48 4d 41 43 20 54 43 36 2c 73 68 61  231 HMAC TC6,sha
59b0: 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61  224,,,::tls::hma
59c0: 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32 34  c -digest sha224
59d0: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
59e0: 20 24 64 61 74 61 2c 2c 2c 39 35 65 39 61 30 64   $data,,,95e9a0d
59f0: 62 39 36 32 30 39 35 61 64 61 65 62 65 39 62 32  b962095adaebe9b2
5a00: 64 36 66 30 64 62 63 65 32 64 34 39 39 66 31 31  d6f0dbce2d499f11
5a10: 32 66 32 64 32 62 37 32 37 33 66 61 36 38 37 30  2f2d2b7273fa6870
5a20: 65 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  e,,,.RFC4231 HMA
5a30: 43 20 54 43 36 2c 73 68 61 32 35 36 2c 2c 2c 3a  C TC6,sha256,,,:
5a40: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
5a50: 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24  st sha256 -key $
5a60: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
5a70: 2c 2c 36 30 65 34 33 31 35 39 31 65 65 30 62 36  ,,60e431591ee0b6
5a80: 37 66 30 64 38 61 32 36 61 61 63 62 66 35 62 37  7f0d8a26aacbf5b7
5a90: 37 66 38 65 30 62 63 36 32 31 33 37 32 38 63 35  7f8e0bc6213728c5
5aa0: 31 34 30 35 34 36 30 34 30 66 30 65 65 33 37 66  140546040f0ee37f
5ab0: 35 34 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d  54,,,.RFC4231 HM
5ac0: 41 43 20 54 43 36 2c 73 68 61 33 38 34 2c 2c 2c  AC TC6,sha384,,,
5ad0: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
5ae0: 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65 79 20  est sha384 -key 
5af0: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
5b00: 2c 2c 2c 34 65 63 65 30 38 34 34 38 35 38 31 33  ,,,4ece084485813
5b10: 65 39 30 38 38 64 32 63 36 33 61 30 34 31 62 63  e9088d2c63a041bc
5b20: 35 62 34 34 66 39 65 66 31 30 31 32 61 32 62 35  5b44f9ef1012a2b5
5b30: 38 38 66 33 63 64 31 31 66 30 35 30 33 33 61 63  88f3cd11f05033ac
5b40: 34 63 36 30 63 32 65 66 36 61 62 34 30 33 30 66  4c60c2ef6ab4030f
5b50: 65 38 32 39 36 32 34 38 64 66 31 36 33 66 34 34  e8296248df163f44
5b60: 39 35 32 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48  952,,,.RFC4231 H
5b70: 4d 41 43 20 54 43 36 2c 73 68 61 35 31 32 2c 2c  MAC TC6,sha512,,
5b80: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
5b90: 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79  gest sha512 -key
5ba0: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
5bb0: 61 2c 2c 2c 38 30 62 32 34 32 36 33 63 37 63 31  a,,,80b24263c7c1
5bc0: 61 33 65 62 62 37 31 34 39 33 63 31 64 64 37 62  a3ebb71493c1dd7b
5bd0: 65 38 62 34 39 62 34 36 64 31 66 34 31 62 34 61  e8b49b46d1f41b4a
5be0: 65 65 63 31 31 32 31 62 30 31 33 37 38 33 66 38  eec1121b013783f8
5bf0: 66 33 35 32 36 62 35 36 64 30 33 37 65 30 35 66  f3526b56d037e05f
5c00: 32 35 39 38 62 64 30 66 64 32 32 31 35 64 36 61  2598bd0fd2215d6a
5c10: 31 65 35 32 39 35 65 36 34 66 37 33 66 36 33 66  1e5295e64f73f63f
5c20: 30 61 65 63 38 62 39 31 35 61 39 38 35 64 37 38  0aec8b915a985d78
5c30: 36 35 39 38 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  6598,,,.,,,,,,,,
5c40: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43  ,,.command,# RFC
5c50: 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70   4231 HMAC Examp
5c60: 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 23 37  les Test Case #7
5c70: 20 2d 20 54 65 73 74 20 77 69 74 68 20 61 20 6b   - Test with a k
5c80: 65 79 20 61 6e 64 20 64 61 74 61 20 74 68 61 74  ey and data that
5c90: 20 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20   is larger than 
5ca0: 31 32 38 20 62 79 74 65 73 20 28 3d 20 62 6c 6f  128 bytes (= blo
5cb0: 63 6b 2d 73 69 7a 65 20 6f 66 20 53 48 41 2d 33  ck-size of SHA-3
5cc0: 38 34 20 61 6e 64 20 53 48 41 2d 35 31 32 29 2e  84 and SHA-512).
5cd0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
5ce0: 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61  d,"set key [bina
5cf0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73  ry decode hex [s
5d00: 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 61  tring repeat ""a
5d10: 61 22 22 20 31 33 31 5d 5d 22 2c 2c 2c 2c 2c 2c  a"" 131]]",,,,,,
5d20: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
5d30: 20 64 61 74 61 20 22 22 54 68 69 73 20 69 73 20   data ""This is 
5d40: 61 20 74 65 73 74 20 75 73 69 6e 67 20 61 20 6c  a test using a l
5d50: 61 72 67 65 72 20 74 68 61 6e 20 62 6c 6f 63 6b  arger than block
5d60: 2d 73 69 7a 65 20 6b 65 79 20 61 6e 64 20 61 20  -size key and a 
5d70: 6c 61 72 67 65 72 20 74 68 61 6e 20 62 6c 6f 63  larger than bloc
5d80: 6b 2d 73 69 7a 65 20 64 61 74 61 2e 20 54 68 65  k-size data. The
5d90: 20 6b 65 79 20 6e 65 65 64 73 20 74 6f 20 62 65   key needs to be
5da0: 20 68 61 73 68 65 64 20 62 65 66 6f 72 65 20 62   hashed before b
5db0: 65 69 6e 67 20 75 73 65 64 20 62 79 20 74 68 65  eing used by the
5dc0: 20 48 4d 41 43 20 61 6c 67 6f 72 69 74 68 6d 2e   HMAC algorithm.
5dd0: 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43  """,,,,,,,,,.RFC
5de0: 34 32 33 31 20 48 4d 41 43 20 54 43 37 2c 73 68  4231 HMAC TC7,sh
5df0: 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d  a224,,,::tls::hm
5e00: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32  ac -digest sha22
5e10: 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  4 -key $key -dat
5e20: 61 20 24 64 61 74 61 2c 2c 2c 33 61 38 35 34 31  a $data,,,3a8541
5e30: 36 36 61 63 35 64 39 66 30 32 33 66 35 34 64 35  66ac5d9f023f54d5
5e40: 31 37 64 30 62 33 39 64 62 64 39 34 36 37 37 30  17d0b39dbd946770
5e50: 64 62 39 63 32 62 39 35 63 39 66 36 66 35 36 35  db9c2b95c9f6f565
5e60: 64 31 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d  d1,,,.RFC4231 HM
5e70: 41 43 20 54 43 37 2c 73 68 61 32 35 36 2c 2c 2c  AC TC7,sha256,,,
5e80: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
5e90: 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79 20  est sha256 -key 
5ea0: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
5eb0: 2c 2c 2c 39 62 30 39 66 66 61 37 31 62 39 34 32  ,,,9b09ffa71b942
5ec0: 66 63 62 32 37 36 33 35 66 62 63 64 35 62 30 65  fcb27635fbcd5b0e
5ed0: 39 34 34 62 66 64 63 36 33 36 34 34 66 30 37 31  944bfdc63644f071
5ee0: 33 39 33 38 61 37 66 35 31 35 33 35 63 33 61 33  3938a7f51535c3a3
5ef0: 35 65 32 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48  5e2,,,.RFC4231 H
5f00: 4d 41 43 20 54 43 37 2c 73 68 61 33 38 34 2c 2c  MAC TC7,sha384,,
5f10: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
5f20: 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65 79  gest sha384 -key
5f30: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
5f40: 61 2c 2c 2c 36 36 31 37 31 37 38 65 39 34 31 66  a,,,6617178e941f
5f50: 30 32 30 64 33 35 31 65 32 66 32 35 34 65 38 66  020d351e2f254e8f
5f60: 64 33 32 63 36 30 32 34 32 30 66 65 62 30 62 38  d32c602420feb0b8
5f70: 66 62 39 61 64 63 63 65 62 62 38 32 34 36 31 65  fb9adccebb82461e
5f80: 39 39 63 35 61 36 37 38 63 63 33 31 65 37 39 39  99c5a678cc31e799
5f90: 31 37 36 64 33 38 36 30 65 36 31 31 30 63 34 36  176d3860e6110c46
5fa0: 35 32 33 65 2c 2c 2c 0a 52 46 43 34 32 33 31 20  523e,,,.RFC4231 
5fb0: 48 4d 41 43 20 54 43 37 2c 73 68 61 35 31 32 2c  HMAC TC7,sha512,
5fc0: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
5fd0: 69 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65  igest sha512 -ke
5fe0: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
5ff0: 74 61 2c 2c 2c 65 33 37 62 36 61 37 37 35 64 63  ta,,,e37b6a775dc
6000: 38 37 64 62 61 61 34 64 66 61 39 66 39 36 65 35  87dbaa4dfa9f96e5
6010: 65 33 66 66 64 64 65 62 64 37 31 66 38 38 36 37  e3ffddebd71f8867
6020: 32 38 39 38 36 35 64 66 35 61 33 32 64 32 30 63  289865df5a32d20c
6030: 64 63 39 34 34 62 36 30 32 32 63 61 63 33 63 34  dc944b6022cac3c4
6040: 39 38 32 62 31 30 64 35 65 65 62 35 35 63 33 65  982b10d5eeb55c3e
6050: 34 64 65 31 35 31 33 34 36 37 36 66 62 36 64 65  4de15134676fb6de
6060: 30 34 34 36 30 36 35 63 39 37 34 34 30 66 61 38  0446065c97440fa8
6070: 63 36 61 35 38 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c  c6a58,,,.,,,,,,,
6080: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 4e 49  ,,,.command,# NI
6090: 53 54 20 38 30 30 2d 33 38 62 20 52 65 63 6f 6d  ST 800-38b Recom
60a0: 6d 65 6e 64 61 74 69 6f 6e 20 66 6f 72 20 42 6c  mendation for Bl
60b0: 6f 63 6b 20 43 69 70 68 65 72 20 4d 6f 64 65 73  ock Cipher Modes
60c0: 20 6f 66 20 4f 70 65 72 61 74 69 6f 6e 3a 20 54   of Operation: T
60d0: 68 65 20 43 4d 41 43 20 4d 6f 64 65 20 66 6f 72  he CMAC Mode for
60e0: 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2c   Authentication,
60f0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
6100: 2c 23 20 41 45 53 2d 31 32 38 2c 2c 2c 2c 2c 2c  ,# AES-128,,,,,,
6110: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
6120: 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63   key [binary dec
6130: 6f 64 65 20 68 65 78 20 22 22 32 62 37 65 31 35  ode hex ""2b7e15
6140: 31 36 32 38 61 65 64 32 61 36 61 62 66 37 31 35  1628aed2a6abf715
6150: 38 38 30 39 63 66 34 66 33 63 22 22 5d 22 2c 2c  8809cf4f3c""]",,
6160: 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d  ,,,,,,,.NIST800-
6170: 33 38 62 2d 41 45 53 31 32 38 2c 6c 65 6e 3d 30  38b-AES128,len=0
6180: 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  ,,,"::tls::cmac 
6190: 2d 63 69 70 68 65 72 20 61 65 73 2d 31 32 38 2d  -cipher aes-128-
61a0: 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  cbc -key $key -d
61b0: 61 74 61 20 22 22 22 22 22 2c 2c 2c 62 62 31 64  ata """"",,,bb1d
61c0: 36 39 32 39 65 39 35 39 33 37 32 38 37 66 61 33  6929e95937287fa3
61d0: 37 64 31 32 39 62 37 35 36 37 34 36 2c 2c 2c 0a  7d129b756746,,,.
61e0: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74  command,"set dat
61f0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
6200: 20 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32   hex ""6bc1bee22
6210: 65 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37  e409f96e93d7e117
6220: 33 39 33 31 37 32 61 22 22 5d 22 2c 2c 2c 2c 2c  393172a""]",,,,,
6230: 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62  ,,,,.NIST800-38b
6240: 2d 41 45 53 31 32 38 2c 6c 65 6e 3d 31 32 38 2c  -AES128,len=128,
6250: 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63  ,,::tls::cmac -c
6260: 69 70 68 65 72 20 61 65 73 2d 31 32 38 2d 63 62  ipher aes-128-cb
6270: 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  c -key $key -dat
6280: 61 20 24 64 61 74 61 2c 2c 2c 30 37 30 61 31 36  a $data,,,070a16
6290: 62 34 36 62 34 64 34 31 34 34 66 37 39 62 64 64  b46b4d4144f79bdd
62a0: 39 64 64 30 34 61 32 38 37 63 2c 2c 2c 0a 63 6f  9dd04a287c,,,.co
62b0: 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20  mmand,"set data 
62c0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
62d0: 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65 34  ex ""6bc1bee22e4
62e0: 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33 39  09f96e93d7e11739
62f0: 33 31 37 32 61 61 65 32 64 38 61 35 37 31 65 30  3172aae2d8a571e0
6300: 33 61 63 39 63 39 65 62 37 36 66 61 63 34 35 61  3ac9c9eb76fac45a
6310: 66 38 65 35 31 33 30 63 38 31 63 34 36 61 33 35  f8e5130c81c46a35
6320: 63 65 34 31 31 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c  ce411""]",,,,,,,
6330: 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41  ,,.NIST800-38b-A
6340: 45 53 31 32 38 2c 6c 65 6e 3d 33 32 30 2c 2c 2c  ES128,len=320,,,
6350: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70  ::tls::cmac -cip
6360: 68 65 72 20 61 65 73 2d 31 32 38 2d 63 62 63 20  her aes-128-cbc 
6370: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
6380: 24 64 61 74 61 2c 2c 2c 64 66 61 36 36 37 34 37  $data,,,dfa66747
6390: 64 65 39 61 65 36 33 30 33 30 63 61 33 32 36 31  de9ae63030ca3261
63a0: 31 34 39 37 63 38 32 37 2c 2c 2c 0a 63 6f 6d 6d  1497c827,,,.comm
63b0: 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20 5b 62  and,"set data [b
63c0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
63d0: 20 22 22 36 62 63 31 62 65 65 32 32 65 34 30 39   ""6bc1bee22e409
63e0: 66 39 36 65 39 33 64 37 65 31 31 37 33 39 33 31  f96e93d7e1173931
63f0: 37 32 61 61 65 32 64 38 61 35 37 31 65 30 33 61  72aae2d8a571e03a
6400: 63 39 63 39 65 62 37 36 66 61 63 34 35 61 66 38  c9c9eb76fac45af8
6410: 65 35 31 33 30 63 38 31 63 34 36 61 33 35 63 65  e5130c81c46a35ce
6420: 34 31 31 65 35 66 62 63 31 31 39 31 61 30 61 35  411e5fbc1191a0a5
6430: 32 65 66 66 36 39 66 32 34 34 35 64 66 34 66 39  2eff69f2445df4f9
6440: 62 31 37 61 64 32 62 34 31 37 62 65 36 36 63 33  b17ad2b417be66c3
6450: 37 31 30 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c  710""]",,,,,,,,,
6460: 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53  .NIST800-38b-AES
6470: 31 32 38 2c 6c 65 6e 3d 35 31 32 2c 2c 2c 3a 3a  128,len=512,,,::
6480: 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65  tls::cmac -ciphe
6490: 72 20 61 65 73 2d 31 32 38 2d 63 62 63 20 2d 6b  r aes-128-cbc -k
64a0: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
64b0: 61 74 61 2c 2c 2c 35 31 66 30 62 65 62 66 37 65  ata,,,51f0bebf7e
64c0: 33 62 39 64 39 32 66 63 34 39 37 34 31 37 37 39  3b9d92fc49741779
64d0: 33 36 33 63 66 65 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  363cfe,,,.,,,,,,
64e0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 41  ,,,,.command,# A
64f0: 45 53 2d 31 39 32 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  ES-192,,,,,,,,,.
6500: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79  command,"set key
6510: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
6520: 68 65 78 20 22 22 38 65 37 33 62 30 66 37 64 61  hex ""8e73b0f7da
6530: 30 65 36 34 35 32 63 38 31 30 66 33 32 62 38 30  0e6452c810f32b80
6540: 39 30 37 39 65 35 36 32 66 38 65 61 64 32 35 32  9079e562f8ead252
6550: 32 63 36 62 37 62 22 22 5d 22 2c 2c 2c 2c 2c 2c  2c6b7b""]",,,,,,
6560: 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d  ,,,.NIST800-38b-
6570: 41 45 53 2d 31 39 32 2c 6c 65 6e 3d 30 2c 2c 2c  AES-192,len=0,,,
6580: 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69  "::tls::cmac -ci
6590: 70 68 65 72 20 61 65 73 2d 31 39 32 2d 63 62 63  pher aes-192-cbc
65a0: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
65b0: 20 22 22 22 22 22 2c 2c 2c 64 31 37 64 64 66 34   """"",,,d17ddf4
65c0: 36 61 64 61 61 63 64 65 35 33 31 63 61 63 34 38  6adaacde531cac48
65d0: 33 64 65 37 61 39 33 36 37 2c 2c 2c 0a 63 6f 6d  3de7a9367,,,.com
65e0: 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20 5b  mand,"set data [
65f0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
6600: 78 20 22 22 36 62 63 31 62 65 65 32 32 65 34 30  x ""6bc1bee22e40
6610: 39 66 39 36 65 39 33 64 37 65 31 31 37 33 39 33  9f96e93d7e117393
6620: 31 37 32 61 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c  172a""]",,,,,,,,
6630: 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45  ,.NIST800-38b-AE
6640: 53 2d 31 39 32 2c 6c 65 6e 3d 31 32 38 2c 2c 2c  S-192,len=128,,,
6650: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70  ::tls::cmac -cip
6660: 68 65 72 20 61 65 73 2d 31 39 32 2d 63 62 63 20  her aes-192-cbc 
6670: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
6680: 24 64 61 74 61 2c 2c 2c 39 65 39 39 61 37 62 66  $data,,,9e99a7bf
6690: 33 31 65 37 31 30 39 30 30 36 36 32 66 36 35 65  31e710900662f65e
66a0: 36 31 37 63 35 31 38 34 2c 2c 2c 0a 63 6f 6d 6d  617c5184,,,.comm
66b0: 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20 5b 62  and,"set data [b
66c0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
66d0: 20 22 22 36 62 63 31 62 65 65 32 32 65 34 30 39   ""6bc1bee22e409
66e0: 66 39 36 65 39 33 64 37 65 31 31 37 33 39 33 31  f96e93d7e1173931
66f0: 37 32 61 61 65 32 64 38 61 35 37 31 65 30 33 61  72aae2d8a571e03a
6700: 63 39 63 39 65 62 37 36 66 61 63 34 35 61 66 38  c9c9eb76fac45af8
6710: 65 35 31 33 30 63 38 31 63 34 36 61 33 35 63 65  e5130c81c46a35ce
6720: 34 31 31 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c  411""]",,,,,,,,,
6730: 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53  .NIST800-38b-AES
6740: 2d 31 39 32 2c 6c 65 6e 3d 33 32 30 2c 2c 2c 3a  -192,len=320,,,:
6750: 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68  :tls::cmac -ciph
6760: 65 72 20 61 65 73 2d 31 39 32 2d 63 62 63 20 2d  er aes-192-cbc -
6770: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
6780: 64 61 74 61 2c 2c 2c 38 61 31 64 65 35 62 65 32  data,,,8a1de5be2
6790: 65 62 33 31 61 61 64 30 38 39 61 38 32 65 36 65  eb31aad089a82e6e
67a0: 65 39 30 38 62 30 65 2c 2c 2c 0a 63 6f 6d 6d 61  e908b0e,,,.comma
67b0: 6e 64 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69  nd,"set data [bi
67c0: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
67d0: 22 22 36 62 63 31 62 65 65 32 32 65 34 30 39 66  ""6bc1bee22e409f
67e0: 39 36 65 39 33 64 37 65 31 31 37 33 39 33 31 37  96e93d7e11739317
67f0: 32 61 61 65 32 64 38 61 35 37 31 65 30 33 61 63  2aae2d8a571e03ac
6800: 39 63 39 65 62 37 36 66 61 63 34 35 61 66 38 65  9c9eb76fac45af8e
6810: 35 31 33 30 63 38 31 63 34 36 61 33 35 63 65 34  5130c81c46a35ce4
6820: 31 31 65 35 66 62 63 31 31 39 31 61 30 61 35 32  11e5fbc1191a0a52
6830: 65 66 66 36 39 66 32 34 34 35 64 66 34 66 39 62  eff69f2445df4f9b
6840: 31 37 61 64 32 62 34 31 37 62 65 36 36 63 33 37  17ad2b417be66c37
6850: 31 30 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  10""]",,,,,,,,,.
6860: 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53 2d  NIST800-38b-AES-
6870: 31 39 32 2c 6c 65 6e 3d 35 31 32 2c 2c 2c 3a 3a  192,len=512,,,::
6880: 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65  tls::cmac -ciphe
6890: 72 20 61 65 73 2d 31 39 32 2d 63 62 63 20 2d 6b  r aes-192-cbc -k
68a0: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
68b0: 61 74 61 2c 2c 2c 61 31 64 35 64 66 30 65 65 64  ata,,,a1d5df0eed
68c0: 37 39 30 66 37 39 34 64 37 37 35 38 39 36 35 39  790f794d77589659
68d0: 66 33 39 61 31 31 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  f39a11,,,.,,,,,,
68e0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 41  ,,,,.command,# A
68f0: 45 53 2d 32 35 36 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  ES-256,,,,,,,,,.
6900: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79  command,"set key
6910: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
6920: 68 65 78 20 22 22 36 30 33 64 65 62 31 30 31 35  hex ""603deb1015
6930: 63 61 37 31 62 65 32 62 37 33 61 65 66 30 38 35  ca71be2b73aef085
6940: 37 64 37 37 38 31 31 66 33 35 32 63 30 37 33 62  7d77811f352c073b
6950: 36 31 30 38 64 37 32 64 39 38 31 30 61 33 30 39  6108d72d9810a309
6960: 31 34 64 66 66 34 22 22 5d 22 2c 2c 2c 2c 2c 2c  14dff4""]",,,,,,
6970: 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d  ,,,.NIST800-38b-
6980: 41 45 53 2d 32 35 36 2c 6c 65 6e 3d 30 2c 2c 2c  AES-256,len=0,,,
6990: 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69  "::tls::cmac -ci
69a0: 70 68 65 72 20 61 65 73 2d 32 35 36 2d 63 62 63  pher aes-256-cbc
69b0: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
69c0: 20 22 22 22 22 22 2c 2c 2c 30 32 38 39 36 32 66   """"",,,028962f
69d0: 36 31 62 37 62 66 38 39 65 66 63 36 62 35 35 31  61b7bf89efc6b551
69e0: 66 34 36 36 37 64 39 38 33 2c 2c 2c 0a 63 6f 6d  f4667d983,,,.com
69f0: 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20 5b  mand,"set data [
6a00: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
6a10: 78 20 22 22 36 62 63 31 62 65 65 32 32 65 34 30  x ""6bc1bee22e40
6a20: 39 66 39 36 65 39 33 64 37 65 31 31 37 33 39 33  9f96e93d7e117393
6a30: 31 37 32 61 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c  172a""]",,,,,,,,
6a40: 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45  ,.NIST800-38b-AE
6a50: 53 2d 32 35 36 2c 6c 65 6e 3d 31 32 38 2c 2c 2c  S-256,len=128,,,
6a60: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70  ::tls::cmac -cip
6a70: 68 65 72 20 61 65 73 2d 32 35 36 2d 63 62 63 20  her aes-256-cbc 
6a80: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
6a90: 24 64 61 74 61 2c 2c 2c 32 38 61 37 30 32 33 66  $data,,,28a7023f
6aa0: 34 35 32 65 38 66 38 32 62 64 34 62 66 32 38 64  452e8f82bd4bf28d
6ab0: 38 63 33 37 63 33 35 63 2c 2c 2c 0a 63 6f 6d 6d  8c37c35c,,,.comm
6ac0: 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20 5b 62  and,"set data [b
6ad0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
6ae0: 20 22 22 36 62 63 31 62 65 65 32 32 65 34 30 39   ""6bc1bee22e409
6af0: 66 39 36 65 39 33 64 37 65 31 31 37 33 39 33 31  f96e93d7e1173931
6b00: 37 32 61 61 65 32 64 38 61 35 37 31 65 30 33 61  72aae2d8a571e03a
6b10: 63 39 63 39 65 62 37 36 66 61 63 34 35 61 66 38  c9c9eb76fac45af8
6b20: 65 35 31 33 30 63 38 31 63 34 36 61 33 35 63 65  e5130c81c46a35ce
6b30: 34 31 31 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c  411""]",,,,,,,,,
6b40: 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53  .NIST800-38b-AES
6b50: 2d 32 35 36 2c 6c 65 6e 3d 33 32 30 2c 2c 2c 3a  -256,len=320,,,:
6b60: 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68  :tls::cmac -ciph
6b70: 65 72 20 61 65 73 2d 32 35 36 2d 63 62 63 20 2d  er aes-256-cbc -
6b80: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
6b90: 64 61 74 61 2c 2c 2c 61 61 66 33 64 38 66 31 64  data,,,aaf3d8f1d
6ba0: 65 35 36 34 30 63 32 33 32 66 35 62 31 36 39 62  e5640c232f5b169b
6bb0: 39 63 39 31 31 65 36 2c 2c 2c 0a 63 6f 6d 6d 61  9c911e6,,,.comma
6bc0: 6e 64 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69  nd,"set data [bi
6bd0: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
6be0: 22 22 36 62 63 31 62 65 65 32 32 65 34 30 39 66  ""6bc1bee22e409f
6bf0: 39 36 65 39 33 64 37 65 31 31 37 33 39 33 31 37  96e93d7e11739317
6c00: 32 61 61 65 32 64 38 61 35 37 31 65 30 33 61 63  2aae2d8a571e03ac
6c10: 39 63 39 65 62 37 36 66 61 63 34 35 61 66 38 65  9c9eb76fac45af8e
6c20: 35 31 33 30 63 38 31 63 34 36 61 33 35 63 65 34  5130c81c46a35ce4
6c30: 31 31 65 35 66 62 63 31 31 39 31 61 30 61 35 32  11e5fbc1191a0a52
6c40: 65 66 66 36 39 66 32 34 34 35 64 66 34 66 39 62  eff69f2445df4f9b
6c50: 31 37 61 64 32 62 34 31 37 62 65 36 36 63 33 37  17ad2b417be66c37
6c60: 31 30 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  10""]",,,,,,,,,.
6c70: 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53 2d  NIST800-38b-AES-
6c80: 32 35 36 2c 6c 65 6e 3d 35 31 32 2c 2c 2c 3a 3a  256,len=512,,,::
6c90: 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65  tls::cmac -ciphe
6ca0: 72 20 61 65 73 2d 32 35 36 2d 63 62 63 20 2d 6b  r aes-256-cbc -k
6cb0: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
6cc0: 61 74 61 2c 2c 2c 65 31 39 39 32 31 39 30 35 34  ata,,,e199219054
6cd0: 39 66 36 65 64 35 36 39 36 61 32 63 30 35 36 63  9f6ed5696a2c056c
6ce0: 33 31 35 34 31 30 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  315410,,,.,,,,,,
6cf0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 43  ,,,,.command,# C
6d00: 6c 65 61 6e 75 70 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  leanup,,,,,,,,,.
6d10: 63 6f 6d 6d 61 6e 64 2c 3a 3a 74 63 6c 74 65 73  command,::tcltes
6d20: 74 3a 3a 72 65 6d 6f 76 65 46 69 6c 65 20 24 74  t::removeFile $t
6d30: 65 73 74 5f 66 69 6c 65 2c 2c 2c 2c 2c 2c 2c 2c  est_file,,,,,,,,
6d40: 2c 0a 63 6f 6d 6d 61 6e 64 2c 3a 3a 74 63 6c 74  ,.command,::tclt
6d50: 65 73 74 3a 3a 72 65 6d 6f 76 65 46 69 6c 65 20  est::removeFile 
6d60: 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 2c 2c  $test_alt_file,,
6d70: 2c 2c 2c 2c 2c 2c 2c 0a                          ,,,,,,,.