Hex Artifact Content

Artifact e953e823d3afae18cd492c9f6ee98557c211cb643b74557b04251fd66ee662cb:


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 3a 3a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  ,::tcltest::test
00c0: 43 6f 6e 73 74 72 61 69 6e 74 20 6d 64 34 20 5b  Constraint md4 [
00d0: 65 78 70 72 20 7b 22 6d 64 34 22 20 69 6e 20 5b  expr {"md4" in [
00e0: 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74 73 5d 7d  ::tls::digests]}
00f0: 5d 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c  ],,,,,,,,,.,,,,,
0100: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
0110: 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 73  Helper functions
0120: 20 2d 20 53 65 65 20 63 6f 6d 6d 6f 6e 2e 74 63   - See common.tc
0130: 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  l,,,,,,,,,.comma
0140: 6e 64 2c 70 72 6f 63 20 64 69 67 65 73 74 5f 72  nd,proc digest_r
0150: 65 61 64 5f 63 68 61 6e 20 7b 63 6d 64 20 66 69  ead_chan {cmd fi
0160: 6c 65 6e 61 6d 65 20 61 72 67 73 7d 20 7b 3b 73  lename args} {;s
0170: 65 74 20 63 68 20 5b 6f 70 65 6e 20 24 66 69 6c  et ch [open $fil
0180: 65 6e 61 6d 65 20 72 62 5d 3b 73 65 74 20 62 73  ename rb];set bs
0190: 69 7a 65 20 5b 66 63 6f 6e 66 69 67 75 72 65 20  ize [fconfigure 
01a0: 24 63 68 20 2d 62 75 66 66 65 72 73 69 7a 65 5d  $ch -buffersize]
01b0: 3b 73 65 74 20 6e 65 77 20 5b 24 63 6d 64 20 7b  ;set new [$cmd {
01c0: 2a 7d 24 61 72 67 73 20 2d 63 68 61 6e 20 24 63  *}$args -chan $c
01d0: 68 5d 3b 77 68 69 6c 65 20 7b 21 5b 65 6f 66 20  h];while {![eof 
01e0: 24 6e 65 77 5d 7d 20 7b 73 65 74 20 6d 64 20 5b  $new]} {set md [
01f0: 72 65 61 64 20 24 6e 65 77 20 24 62 73 69 7a 65  read $new $bsize
0200: 5d 7d 3b 63 6c 6f 73 65 20 24 6e 65 77 3b 72 65  ]};close $new;re
0210: 74 75 72 6e 20 24 6d 64 7d 2c 2c 2c 2c 2c 2c 2c  turn $md},,,,,,,
0220: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 70 72 6f 63 20  ,,.command,proc 
0230: 64 69 67 65 73 74 5f 77 72 69 74 65 5f 63 68 61  digest_write_cha
0240: 6e 20 7b 63 6d 64 20 66 69 6c 65 6e 61 6d 65 20  n {cmd filename 
0250: 64 61 74 61 20 61 72 67 73 7d 20 7b 3b 73 65 74  data args} {;set
0260: 20 63 68 20 5b 6f 70 65 6e 20 24 66 69 6c 65 6e   ch [open $filen
0270: 61 6d 65 20 77 62 5d 3b 73 65 74 20 6e 65 77 20  ame wb];set new 
0280: 5b 24 63 6d 64 20 7b 2a 7d 24 61 72 67 73 20 2d  [$cmd {*}$args -
0290: 63 68 61 6e 20 24 63 68 5d 3b 70 75 74 73 20 2d  chan $ch];puts -
02a0: 6e 6f 6e 65 77 6c 69 6e 65 20 24 6e 65 77 20 24  nonewline $new $
02b0: 64 61 74 61 3b 66 6c 75 73 68 20 24 6e 65 77 3b  data;flush $new;
02c0: 63 6c 6f 73 65 20 24 6e 65 77 3b 73 65 74 20 63  close $new;set c
02d0: 68 20 5b 6f 70 65 6e 20 24 66 69 6c 65 6e 61 6d  h [open $filenam
02e0: 65 20 72 62 5d 3b 73 65 74 20 6d 64 20 5b 72 65  e rb];set md [re
02f0: 61 64 20 24 63 68 5d 3b 63 6c 6f 73 65 20 24 63  ad $ch];close $c
0300: 68 3b 72 65 74 75 72 6e 20 24 6d 64 7d 2c 2c 2c  h;return $md},,,
0310: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 70  ,,,,,,.command,p
0320: 72 6f 63 20 64 69 67 65 73 74 5f 61 63 63 75 6d  roc digest_accum
0330: 75 6c 61 74 65 20 7b 73 74 72 69 6e 67 20 61 72  ulate {string ar
0340: 67 73 7d 20 7b 3b 73 65 74 20 63 6d 64 20 5b 7b  gs} {;set cmd [{
0350: 2a 7d 24 61 72 67 73 20 2d 63 6f 6d 6d 61 6e 64  *}$args -command
0360: 20 64 63 6d 64 5d 3b 20 24 63 6d 64 20 75 70 64   dcmd]; $cmd upd
0370: 61 74 65 20 5b 73 74 72 69 6e 67 20 72 61 6e 67  ate [string rang
0380: 65 20 24 73 74 72 69 6e 67 20 30 20 32 30 5d 3b  e $string 0 20];
0390: 24 63 6d 64 20 75 70 64 61 74 65 20 5b 73 74 72  $cmd update [str
03a0: 69 6e 67 20 72 61 6e 67 65 20 24 73 74 72 69 6e  ing range $strin
03b0: 67 20 32 31 20 65 6e 64 5d 3b 72 65 74 75 72 6e  g 21 end];return
03c0: 20 5b 24 63 6d 64 20 66 69 6e 61 6c 69 7a 65 5d   [$cmd finalize]
03d0: 7d 2c 24 63 6d 64 20 75 70 64 61 74 65 20 5b 73  },$cmd update [s
03e0: 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73 74 72  tring range $str
03f0: 69 6e 67 20 30 20 32 30 5d 3b 24 63 6d 64 20 75  ing 0 20];$cmd u
0400: 70 64 61 74 65 20 5b 73 74 72 69 6e 67 20 72 61  pdate [string ra
0410: 6e 67 65 20 24 73 74 72 69 6e 67 20 32 31 20 65  nge $string 21 e
0420: 6e 64 5d 3b 72 65 74 75 72 6e 20 5b 24 63 6d 64  nd];return [$cmd
0430: 20 66 69 6e 61 6c 69 7a 65 5d 7d 2c 2c 2c 2c 2c   finalize]},,,,,
0440: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
0450: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 73 74  ommand,"set test
0460: 5f 64 61 74 61 20 22 22 45 78 61 6d 70 6c 65 20  _data ""Example 
0470: 73 74 72 69 6e 67 20 66 6f 72 20 6d 65 73 73 61  string for messa
0480: 67 65 20 64 69 67 65 73 74 20 74 65 73 74 73 2e  ge digest tests.
0490: 5c 6e 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  \n""",,,,,,,,,.c
04a0: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 73 74  ommand,"set test
04b0: 5f 66 69 6c 65 20 22 22 6d 64 5f 64 61 74 61 2e  _file ""md_data.
04c0: 64 61 74 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  dat""",,,,,,,,,.
04d0: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 73  command,"set tes
04e0: 74 5f 61 6c 74 5f 66 69 6c 65 20 22 22 6d 64 5f  t_alt_file ""md_
04f0: 61 6c 74 5f 64 61 74 61 2e 64 61 74 22 22 22 2c  alt_data.dat""",
0500: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
0510: 2c 22 73 65 74 20 74 65 73 74 5f 6b 65 79 20 22  ,"set test_key "
0520: 22 45 78 61 6d 70 6c 65 20 6b 65 79 22 22 22 2c  "Example key""",
0530: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
0540: 2c 3a 3a 74 63 6c 74 65 73 74 3a 3a 6d 61 6b 65  ,::tcltest::make
0550: 46 69 6c 65 20 24 74 65 73 74 5f 64 61 74 61 20  File $test_data 
0560: 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 2c 2c 2c  $test_file,,,,,,
0570: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
0580: 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 73 68  ommand,# Test sh
0590: 6f 72 74 2d 63 75 74 20 63 6f 6d 6d 61 6e 64 73  ort-cut commands
05a0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 53 68 6f 72 74 63  ,,,,,,,,,.Shortc
05b0: 75 74 20 43 6d 64 73 2c 6d 64 34 20 63 6d 64 2c  ut Cmds,md4 cmd,
05c0: 6d 64 34 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 34 20  md4,,::tls::md4 
05d0: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 37 39 33  $test_data,,,793
05e0: 33 39 39 66 37 39 32 65 63 61 32 37 35 32 63 36  399f792eca2752c6
05f0: 61 66 33 32 33 34 62 61 37 30 38 35 38 2c 2c 2c  af3234ba70858,,,
0600: 0a 53 68 6f 72 74 63 75 74 20 43 6d 64 73 2c 6d  .Shortcut Cmds,m
0610: 64 35 20 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a  d5 cmd,,,::tls::
0620: 6d 64 35 20 24 74 65 73 74 5f 64 61 74 61 2c 2c  md5 $test_data,,
0630: 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65  ,962bf0803b4232e
0640: 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30  c23bd8427bb94ea0
0650: 39 2c 2c 2c 0a 53 68 6f 72 74 63 75 74 20 43 6d  9,,,.Shortcut Cm
0660: 64 73 2c 73 68 61 31 20 63 6d 64 2c 2c 2c 3a 3a  ds,sha1 cmd,,,::
0670: 74 6c 73 3a 3a 73 68 61 31 20 24 74 65 73 74 5f  tls::sha1 $test_
0680: 64 61 74 61 2c 2c 2c 34 66 65 30 33 62 37 66 32  data,,,4fe03b7f2
0690: 35 36 38 35 35 31 64 66 61 66 62 39 38 63 61 36  568551dfafb98ca6
06a0: 30 30 34 65 36 35 63 34 62 37 31 61 61 37 64 2c  004e65c4b71aa7d,
06b0: 2c 2c 0a 53 68 6f 72 74 63 75 74 20 43 6d 64 73  ,,.Shortcut Cmds
06c0: 2c 73 68 61 32 35 36 20 63 6d 64 2c 2c 2c 3a 3a  ,sha256 cmd,,,::
06d0: 74 6c 73 3a 3a 73 68 61 32 35 36 20 24 74 65 73  tls::sha256 $tes
06e0: 74 5f 64 61 74 61 2c 2c 2c 39 64 33 35 37 38 66  t_data,,,9d3578f
06f0: 63 31 33 38 32 30 35 63 66 30 65 65 34 62 34 63  c138205cf0ee4b4c
0700: 65 66 33 35 66 65 31 30 31 62 62 34 65 63 61 63  ef35fe101bb4ecac
0710: 37 62 31 36 31 34 63 31 38 65 36 66 61 34 38 62  7b1614c18e6fa48b
0720: 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 53 68 6f  5c7f95e19,,,.Sho
0730: 72 74 63 75 74 20 43 6d 64 73 2c 73 68 61 35 31  rtcut Cmds,sha51
0740: 32 20 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 73  2 cmd,,,::tls::s
0750: 68 61 35 31 32 20 24 74 65 73 74 5f 64 61 74 61  ha512 $test_data
0760: 2c 2c 2c 64 31 37 38 65 37 35 39 64 63 35 39 31  ,,,d178e759dc591
0770: 32 37 30 37 31 35 38 38 64 32 66 61 64 31 37 33  27071588d2fad173
0780: 63 30 36 32 33 38 64 38 37 65 38 30 30 61 36 34  c06238d87e800a64
0790: 30 33 63 30 61 33 30 64 61 61 34 66 61 61 66 30  03c0a30daa4faaf0
07a0: 35 64 30 65 37 63 65 30 34 39 31 36 61 66 61 61  5d0e7ce04916afaa
07b0: 36 61 35 38 61 33 30 63 62 65 62 35 39 37 64 61  6a58a30cbeb597da
07c0: 63 62 30 31 63 36 32 66 39 66 62 39 64 38 39 62  cb01c62f9fb9d89b
07d0: 61 62 39 64 61 36 33 30 63 36 39 39 65 34 38 31  ab9da630c699e481
07e0: 36 66 31 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c  6f1,,,.,,,,,,,,,
07f0: 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  ,.,,,,,,,,,,.com
0800: 6d 61 6e 64 2c 23 20 54 65 73 74 20 4d 44 20 63  mand,# Test MD c
0810: 6f 6d 6d 61 6e 64 20 66 6f 72 20 72 65 61 64 20  ommand for read 
0820: 63 68 61 6e 6e 65 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c  channel,,,,,,,,,
0830: 0a 4d 44 20 43 68 61 6e 20 52 65 61 64 2c 6d 64  .MD Chan Read,md
0840: 34 2c 6d 64 34 2c 2c 64 69 67 65 73 74 5f 72 65  4,md4,,digest_re
0850: 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d  ad_chan ::tls::m
0860: 64 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 64 69  d $test_file -di
0870: 67 65 73 74 20 6d 64 34 2c 2c 2c 37 39 33 33 39  gest md4,,,79339
0880: 39 66 37 39 32 65 63 61 32 37 35 32 63 36 61 66  9f792eca2752c6af
0890: 33 32 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a 4d  3234ba70858,,,.M
08a0: 44 20 43 68 61 6e 20 52 65 61 64 2c 6d 64 35 2c  D Chan Read,md5,
08b0: 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68  ,,digest_read_ch
08c0: 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65  an ::tls::md $te
08d0: 73 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20  st_file -digest 
08e0: 6d 64 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62  md5,,,962bf0803b
08f0: 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62  4232ec23bd8427bb
0900: 39 34 65 61 30 39 2c 2c 2c 0a 4d 44 20 43 68 61  94ea09,,,.MD Cha
0910: 6e 20 52 65 61 64 2c 73 68 61 31 2c 2c 2c 64 69  n Read,sha1,,,di
0920: 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a  gest_read_chan :
0930: 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66  :tls::md $test_f
0940: 69 6c 65 20 2d 64 69 67 65 73 74 20 73 68 61 31  ile -digest sha1
0950: 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 36 38 35  ,,,4fe03b7f25685
0960: 35 31 64 66 61 66 62 39 38 63 61 36 30 30 34 65  51dfafb98ca6004e
0970: 36 35 63 34 62 37 31 61 61 37 64 2c 2c 2c 0a 4d  65c4b71aa7d,,,.M
0980: 44 20 43 68 61 6e 20 52 65 61 64 2c 73 68 61 32  D Chan Read,sha2
0990: 35 36 2c 2c 2c 64 69 67 65 73 74 5f 72 65 61 64  56,,,digest_read
09a0: 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20  _chan ::tls::md 
09b0: 24 74 65 73 74 5f 66 69 6c 65 20 2d 64 69 67 65  $test_file -dige
09c0: 73 74 20 73 68 61 32 35 36 2c 2c 2c 39 64 33 35  st sha256,,,9d35
09d0: 37 38 66 63 31 33 38 32 30 35 63 66 30 65 65 34  78fc138205cf0ee4
09e0: 62 34 63 65 66 33 35 66 65 31 30 31 62 62 34 65  b4cef35fe101bb4e
09f0: 63 61 63 37 62 31 36 31 34 63 31 38 65 36 66 61  cac7b1614c18e6fa
0a00: 34 38 62 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a  48b5c7f95e19,,,.
0a10: 4d 44 20 43 68 61 6e 20 52 65 61 64 2c 73 68 61  MD Chan Read,sha
0a20: 35 31 32 2c 2c 2c 64 69 67 65 73 74 5f 72 65 61  512,,,digest_rea
0a30: 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64  d_chan ::tls::md
0a40: 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 64 69 67   $test_file -dig
0a50: 65 73 74 20 73 68 61 35 31 32 2c 2c 2c 64 31 37  est sha512,,,d17
0a60: 38 65 37 35 39 64 63 35 39 31 32 37 30 37 31 35  8e759dc591270715
0a70: 38 38 64 32 66 61 64 31 37 33 63 30 36 32 33 38  88d2fad173c06238
0a80: 64 38 37 65 38 30 30 61 36 34 30 33 63 30 61 33  d87e800a6403c0a3
0a90: 30 64 61 61 34 66 61 61 66 30 35 64 30 65 37 63  0daa4faaf05d0e7c
0aa0: 65 30 34 39 31 36 61 66 61 61 36 61 35 38 61 33  e04916afaa6a58a3
0ab0: 30 63 62 65 62 35 39 37 64 61 63 62 30 31 63 36  0cbeb597dacb01c6
0ac0: 32 66 39 66 62 39 64 38 39 62 61 62 39 64 61 36  2f9fb9d89bab9da6
0ad0: 33 30 63 36 39 39 65 34 38 31 36 66 31 2c 2c 2c  30c699e4816f1,,,
0ae0: 0a 4d 44 20 43 68 61 6e 20 52 65 61 64 2c 6d 64  .MD Chan Read,md
0af0: 35 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65  5 bin,,,binary e
0b00: 6e 63 6f 64 65 20 68 65 78 20 5b 64 69 67 65 73  ncode hex [diges
0b10: 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c  t_read_chan ::tl
0b20: 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65  s::md $test_file
0b30: 20 2d 62 69 6e 20 2d 64 69 67 65 73 74 20 6d 64   -bin -digest md
0b40: 35 5d 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34  5],,,962bf0803b4
0b50: 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39  232ec23bd8427bb9
0b60: 34 65 61 30 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e  4ea09,,,.MD Chan
0b70: 20 52 65 61 64 2c 6d 64 35 20 68 65 78 2c 2c 2c   Read,md5 hex,,,
0b80: 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e  digest_read_chan
0b90: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74   ::tls::md $test
0ba0: 5f 66 69 6c 65 20 2d 68 65 78 20 2d 64 69 67 65  _file -hex -dige
0bb0: 73 74 20 6d 64 35 2c 2c 2c 39 36 32 62 66 30 38  st md5,,,962bf08
0bc0: 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32  03b4232ec23bd842
0bd0: 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c  7bb94ea09,,,.,,,
0be0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
0bf0: 23 20 54 65 73 74 20 4d 44 20 63 6f 6d 6d 61 6e  # Test MD comman
0c00: 64 20 66 6f 72 20 77 72 69 74 65 20 63 68 61 6e  d for write chan
0c10: 6e 65 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20  nel,,,,,,,,,.MD 
0c20: 43 68 61 6e 20 57 72 69 74 65 2c 6d 64 34 2c 6d  Chan Write,md4,m
0c30: 64 34 2c 2c 64 69 67 65 73 74 5f 77 72 69 74 65  d4,,digest_write
0c40: 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20  _chan ::tls::md 
0c50: 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20 24  $test_alt_file $
0c60: 74 65 73 74 5f 64 61 74 61 20 2d 64 69 67 65 73  test_data -diges
0c70: 74 20 6d 64 34 2c 2c 2c 37 39 33 33 39 39 66 37  t md4,,,793399f7
0c80: 39 32 65 63 61 32 37 35 32 63 36 61 66 33 32 33  92eca2752c6af323
0c90: 34 62 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 43  4ba70858,,,.MD C
0ca0: 68 61 6e 20 57 72 69 74 65 2c 6d 64 35 2c 2c 2c  han Write,md5,,,
0cb0: 64 69 67 65 73 74 5f 77 72 69 74 65 5f 63 68 61  digest_write_cha
0cc0: 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73  n ::tls::md $tes
0cd0: 74 5f 61 6c 74 5f 66 69 6c 65 20 24 74 65 73 74  t_alt_file $test
0ce0: 5f 64 61 74 61 20 2d 64 69 67 65 73 74 20 6d 64  _data -digest md
0cf0: 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  5,,,962bf0803b42
0d00: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
0d10: 65 61 30 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20  ea09,,,.MD Chan 
0d20: 57 72 69 74 65 2c 73 68 61 31 2c 2c 2c 64 69 67  Write,sha1,,,dig
0d30: 65 73 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a  est_write_chan :
0d40: 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61  :tls::md $test_a
0d50: 6c 74 5f 66 69 6c 65 20 24 74 65 73 74 5f 64 61  lt_file $test_da
0d60: 74 61 20 2d 64 69 67 65 73 74 20 73 68 61 31 2c  ta -digest sha1,
0d70: 2c 2c 34 66 65 30 33 62 37 66 32 35 36 38 35 35  ,,4fe03b7f256855
0d80: 31 64 66 61 66 62 39 38 63 61 36 30 30 34 65 36  1dfafb98ca6004e6
0d90: 35 63 34 62 37 31 61 61 37 64 2c 2c 2c 0a 4d 44  5c4b71aa7d,,,.MD
0da0: 20 43 68 61 6e 20 57 72 69 74 65 2c 73 68 61 32   Chan Write,sha2
0db0: 35 36 2c 2c 2c 64 69 67 65 73 74 5f 77 72 69 74  56,,,digest_writ
0dc0: 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64  e_chan ::tls::md
0dd0: 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20   $test_alt_file 
0de0: 24 74 65 73 74 5f 64 61 74 61 20 2d 64 69 67 65  $test_data -dige
0df0: 73 74 20 73 68 61 32 35 36 2c 2c 2c 39 64 33 35  st sha256,,,9d35
0e00: 37 38 66 63 31 33 38 32 30 35 63 66 30 65 65 34  78fc138205cf0ee4
0e10: 62 34 63 65 66 33 35 66 65 31 30 31 62 62 34 65  b4cef35fe101bb4e
0e20: 63 61 63 37 62 31 36 31 34 63 31 38 65 36 66 61  cac7b1614c18e6fa
0e30: 34 38 62 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a  48b5c7f95e19,,,.
0e40: 4d 44 20 43 68 61 6e 20 57 72 69 74 65 2c 73 68  MD Chan Write,sh
0e50: 61 35 31 32 2c 2c 2c 64 69 67 65 73 74 5f 77 72  a512,,,digest_wr
0e60: 69 74 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a  ite_chan ::tls::
0e70: 6d 64 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c  md $test_alt_fil
0e80: 65 20 24 74 65 73 74 5f 64 61 74 61 20 2d 64 69  e $test_data -di
0e90: 67 65 73 74 20 73 68 61 35 31 32 2c 2c 2c 64 31  gest sha512,,,d1
0ea0: 37 38 65 37 35 39 64 63 35 39 31 32 37 30 37 31  78e759dc59127071
0eb0: 35 38 38 64 32 66 61 64 31 37 33 63 30 36 32 33  588d2fad173c0623
0ec0: 38 64 38 37 65 38 30 30 61 36 34 30 33 63 30 61  8d87e800a6403c0a
0ed0: 33 30 64 61 61 34 66 61 61 66 30 35 64 30 65 37  30daa4faaf05d0e7
0ee0: 63 65 30 34 39 31 36 61 66 61 61 36 61 35 38 61  ce04916afaa6a58a
0ef0: 33 30 63 62 65 62 35 39 37 64 61 63 62 30 31 63  30cbeb597dacb01c
0f00: 36 32 66 39 66 62 39 64 38 39 62 61 62 39 64 61  62f9fb9d89bab9da
0f10: 36 33 30 63 36 39 39 65 34 38 31 36 66 31 2c 2c  630c699e4816f1,,
0f20: 2c 0a 4d 44 20 43 68 61 6e 20 57 72 69 74 65 2c  ,.MD Chan Write,
0f30: 6d 64 35 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79  md5 bin,,,binary
0f40: 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 64 69 67   encode hex [dig
0f50: 65 73 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a  est_write_chan :
0f60: 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61  :tls::md $test_a
0f70: 6c 74 5f 66 69 6c 65 20 24 74 65 73 74 5f 64 61  lt_file $test_da
0f80: 74 61 20 2d 62 69 6e 20 2d 64 69 67 65 73 74 20  ta -bin -digest 
0f90: 6d 64 35 5d 2c 2c 2c 39 36 32 62 66 30 38 30 33  md5],,,962bf0803
0fa0: 62 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62  b4232ec23bd8427b
0fb0: 62 39 34 65 61 30 39 2c 2c 2c 0a 4d 44 20 43 68  b94ea09,,,.MD Ch
0fc0: 61 6e 20 57 72 69 74 65 2c 6d 64 35 20 68 65 78  an Write,md5 hex
0fd0: 2c 2c 2c 64 69 67 65 73 74 5f 77 72 69 74 65 5f  ,,,digest_write_
0fe0: 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24  chan ::tls::md $
0ff0: 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20 24 74  test_alt_file $t
1000: 65 73 74 5f 64 61 74 61 20 2d 68 65 78 20 2d 64  est_data -hex -d
1010: 69 67 65 73 74 20 6d 64 35 2c 2c 2c 39 36 32 62  igest md5,,,962b
1020: 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62 64  f0803b4232ec23bd
1030: 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a  8427bb94ea09,,,.
1040: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ,,,,,,,,,,.comma
1050: 6e 64 2c 23 20 54 65 73 74 20 4d 44 20 63 6f 6d  nd,# Test MD com
1060: 6d 61 6e 64 20 66 6f 72 20 6f 62 6a 65 63 74 20  mand for object 
1070: 63 6f 6d 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c  command,,,,,,,,,
1080: 0a 4d 44 20 43 6f 6d 6d 61 6e 64 2c 6d 64 34 2c  .MD Command,md4,
1090: 6d 64 34 2c 2c 64 69 67 65 73 74 5f 61 63 63 75  md4,,digest_accu
10a0: 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74  mulate $test_dat
10b0: 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  a ::tls::md -dig
10c0: 65 73 74 20 6d 64 34 2c 2c 2c 37 39 33 33 39 39  est md4,,,793399
10d0: 66 37 39 32 65 63 61 32 37 35 32 63 36 61 66 33  f792eca2752c6af3
10e0: 32 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a 4d 44  234ba70858,,,.MD
10f0: 20 43 6f 6d 6d 61 6e 64 2c 6d 64 35 2c 2c 2c 64   Command,md5,,,d
1100: 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65  igest_accumulate
1110: 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c   $test_data ::tl
1120: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64  s::md -digest md
1130: 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  5,,,962bf0803b42
1140: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
1150: 65 61 30 39 2c 2c 2c 0a 4d 44 20 43 6f 6d 6d 61  ea09,,,.MD Comma
1160: 6e 64 2c 73 68 61 31 2c 2c 2c 64 69 67 65 73 74  nd,sha1,,,digest
1170: 5f 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73  _accumulate $tes
1180: 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64  t_data ::tls::md
1190: 20 2d 64 69 67 65 73 74 20 73 68 61 31 2c 2c 2c   -digest sha1,,,
11a0: 34 66 65 30 33 62 37 66 32 35 36 38 35 35 31 64  4fe03b7f2568551d
11b0: 66 61 66 62 39 38 63 61 36 30 30 34 65 36 35 63  fafb98ca6004e65c
11c0: 34 62 37 31 61 61 37 64 2c 2c 2c 0a 4d 44 20 43  4b71aa7d,,,.MD C
11d0: 6f 6d 6d 61 6e 64 2c 73 68 61 32 35 36 2c 2c 2c  ommand,sha256,,,
11e0: 64 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74  digest_accumulat
11f0: 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74  e $test_data ::t
1200: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
1210: 68 61 32 35 36 2c 2c 2c 39 64 33 35 37 38 66 63  ha256,,,9d3578fc
1220: 31 33 38 32 30 35 63 66 30 65 65 34 62 34 63 65  138205cf0ee4b4ce
1230: 66 33 35 66 65 31 30 31 62 62 34 65 63 61 63 37  f35fe101bb4ecac7
1240: 62 31 36 31 34 63 31 38 65 36 66 61 34 38 62 35  b1614c18e6fa48b5
1250: 63 37 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 43  c7f95e19,,,.MD C
1260: 6f 6d 6d 61 6e 64 2c 73 68 61 35 31 32 2c 2c 2c  ommand,sha512,,,
1270: 64 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74  digest_accumulat
1280: 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74  e $test_data ::t
1290: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
12a0: 68 61 35 31 32 2c 2c 2c 64 31 37 38 65 37 35 39  ha512,,,d178e759
12b0: 64 63 35 39 31 32 37 30 37 31 35 38 38 64 32 66  dc59127071588d2f
12c0: 61 64 31 37 33 63 30 36 32 33 38 64 38 37 65 38  ad173c06238d87e8
12d0: 30 30 61 36 34 30 33 63 30 61 33 30 64 61 61 34  00a6403c0a30daa4
12e0: 66 61 61 66 30 35 64 30 65 37 63 65 30 34 39 31  faaf05d0e7ce0491
12f0: 36 61 66 61 61 36 61 35 38 61 33 30 63 62 65 62  6afaa6a58a30cbeb
1300: 35 39 37 64 61 63 62 30 31 63 36 32 66 39 66 62  597dacb01c62f9fb
1310: 39 64 38 39 62 61 62 39 64 61 36 33 30 63 36 39  9d89bab9da630c69
1320: 39 65 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 43  9e4816f1,,,.MD 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 4d 44 20 43 6f 6d 6d 61 6e 64 2c 6d 64  ,,.MD Command,md
13c0: 35 20 68 65 78 2c 2c 2c 64 69 67 65 73 74 5f 61  5 hex,,,digest_a
13d0: 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f  ccumulate $test_
13e0: 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  data ::tls::md -
13f0: 64 69 67 65 73 74 20 6d 64 35 20 2d 68 65 78 2c  digest md5 -hex,
1400: 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32  ,,962bf0803b4232
1410: 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61  ec23bd8427bb94ea
1420: 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  09,,,.,,,,,,,,,,
1430: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20  .command,# Test 
1440: 4d 44 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 64  MD command for d
1450: 61 74 61 20 73 68 6f 72 74 63 75 74 2c 2c 2c 2c  ata shortcut,,,,
1460: 2c 2c 2c 2c 2c 0a 4d 44 20 53 68 6f 72 74 63 75  ,,,,,.MD Shortcu
1470: 74 2c 6d 64 34 2c 6d 64 34 2c 2c 3a 3a 74 6c 73  t,md4,md4,,::tls
1480: 3a 3a 6d 64 20 6d 64 34 20 24 74 65 73 74 5f 64  ::md md4 $test_d
1490: 61 74 61 2c 2c 2c 37 39 33 33 39 39 66 37 39 32  ata,,,793399f792
14a0: 65 63 61 32 37 35 32 63 36 61 66 33 32 33 34 62  eca2752c6af3234b
14b0: 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 53 68 6f  a70858,,,.MD Sho
14c0: 72 74 63 75 74 2c 6d 64 35 2c 2c 2c 3a 3a 74 6c  rtcut,md5,,,::tl
14d0: 73 3a 3a 6d 64 20 6d 64 35 20 24 74 65 73 74 5f  s::md md5 $test_
14e0: 64 61 74 61 2c 2c 2c 39 36 32 62 66 30 38 30 33  data,,,962bf0803
14f0: 62 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62  b4232ec23bd8427b
1500: 62 39 34 65 61 30 39 2c 2c 2c 0a 4d 44 20 53 68  b94ea09,,,.MD Sh
1510: 6f 72 74 63 75 74 2c 73 68 61 31 2c 2c 2c 3a 3a  ortcut,sha1,,,::
1520: 74 6c 73 3a 3a 6d 64 20 73 68 61 31 20 24 74 65  tls::md sha1 $te
1530: 73 74 5f 64 61 74 61 2c 2c 2c 34 66 65 30 33 62  st_data,,,4fe03b
1540: 37 66 32 35 36 38 35 35 31 64 66 61 66 62 39 38  7f2568551dfafb98
1550: 63 61 36 30 30 34 65 36 35 63 34 62 37 31 61 61  ca6004e65c4b71aa
1560: 37 64 2c 2c 2c 0a 4d 44 20 53 68 6f 72 74 63 75  7d,,,.MD Shortcu
1570: 74 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73  t,sha256,,,::tls
1580: 3a 3a 6d 64 20 73 68 61 32 35 36 20 24 74 65 73  ::md sha256 $tes
1590: 74 5f 64 61 74 61 2c 2c 2c 39 64 33 35 37 38 66  t_data,,,9d3578f
15a0: 63 31 33 38 32 30 35 63 66 30 65 65 34 62 34 63  c138205cf0ee4b4c
15b0: 65 66 33 35 66 65 31 30 31 62 62 34 65 63 61 63  ef35fe101bb4ecac
15c0: 37 62 31 36 31 34 63 31 38 65 36 66 61 34 38 62  7b1614c18e6fa48b
15d0: 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20  5c7f95e19,,,.MD 
15e0: 53 68 6f 72 74 63 75 74 2c 73 68 61 35 31 32 2c  Shortcut,sha512,
15f0: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 73 68 61 35  ,,::tls::md sha5
1600: 31 32 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  12 $test_data,,,
1610: 64 31 37 38 65 37 35 39 64 63 35 39 31 32 37 30  d178e759dc591270
1620: 37 31 35 38 38 64 32 66 61 64 31 37 33 63 30 36  71588d2fad173c06
1630: 32 33 38 64 38 37 65 38 30 30 61 36 34 30 33 63  238d87e800a6403c
1640: 30 61 33 30 64 61 61 34 66 61 61 66 30 35 64 30  0a30daa4faaf05d0
1650: 65 37 63 65 30 34 39 31 36 61 66 61 61 36 61 35  e7ce04916afaa6a5
1660: 38 61 33 30 63 62 65 62 35 39 37 64 61 63 62 30  8a30cbeb597dacb0
1670: 31 63 36 32 66 39 66 62 39 64 38 39 62 61 62 39  1c62f9fb9d89bab9
1680: 64 61 36 33 30 63 36 39 39 65 34 38 31 36 66 31  da630c699e4816f1
1690: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
16a0: 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 4d 44  ommand,# Test MD
16b0: 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 64 61 74   command for dat
16c0: 61 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 44 61  a,,,,,,,,,.MD Da
16d0: 74 61 2c 6d 64 34 2c 6d 64 34 2c 2c 3a 3a 74 6c  ta,md4,md4,,::tl
16e0: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64  s::md -digest md
16f0: 34 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  4 -data $test_da
1700: 74 61 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65  ta,,,793399f792e
1710: 63 61 32 37 35 32 63 36 61 66 33 32 33 34 62 61  ca2752c6af3234ba
1720: 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 44 61 74 61  70858,,,.MD Data
1730: 2c 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64  ,md5,,,::tls::md
1740: 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61   -digest md5 -da
1750: 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  ta $test_data,,,
1760: 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63  962bf0803b4232ec
1770: 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39  23bd8427bb94ea09
1780: 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c 73 68 61 31  ,,,.MD Data,sha1
1790: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ,,,::tls::md -di
17a0: 67 65 73 74 20 73 68 61 31 20 2d 64 61 74 61 20  gest sha1 -data 
17b0: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 34 66 65  $test_data,,,4fe
17c0: 30 33 62 37 66 32 35 36 38 35 35 31 64 66 61 66  03b7f2568551dfaf
17d0: 62 39 38 63 61 36 30 30 34 65 36 35 63 34 62 37  b98ca6004e65c4b7
17e0: 31 61 61 37 64 2c 2c 2c 0a 4d 44 20 44 61 74 61  1aa7d,,,.MD Data
17f0: 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha256,,,::tls:
1800: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32  :md -digest sha2
1810: 35 36 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64  56 -data $test_d
1820: 61 74 61 2c 2c 2c 39 64 33 35 37 38 66 63 31 33  ata,,,9d3578fc13
1830: 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66 33  8205cf0ee4b4cef3
1840: 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62 31  5fe101bb4ecac7b1
1850: 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63 37  614c18e6fa48b5c7
1860: 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 44 61 74  f95e19,,,.MD Dat
1870: 61 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73  a,sha512,,,::tls
1880: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
1890: 35 31 32 20 2d 64 61 74 61 20 24 74 65 73 74 5f  512 -data $test_
18a0: 64 61 74 61 2c 2c 2c 64 31 37 38 65 37 35 39 64  data,,,d178e759d
18b0: 63 35 39 31 32 37 30 37 31 35 38 38 64 32 66 61  c59127071588d2fa
18c0: 64 31 37 33 63 30 36 32 33 38 64 38 37 65 38 30  d173c06238d87e80
18d0: 30 61 36 34 30 33 63 30 61 33 30 64 61 61 34 66  0a6403c0a30daa4f
18e0: 61 61 66 30 35 64 30 65 37 63 65 30 34 39 31 36  aaf05d0e7ce04916
18f0: 61 66 61 61 36 61 35 38 61 33 30 63 62 65 62 35  afaa6a58a30cbeb5
1900: 39 37 64 61 63 62 30 31 63 36 32 66 39 66 62 39  97dacb01c62f9fb9
1910: 64 38 39 62 61 62 39 64 61 36 33 30 63 36 39 39  d89bab9da630c699
1920: 65 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 44 61  e4816f1,,,.MD Da
1930: 74 61 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62 69 6e  ta,md5 bin,,,bin
1940: 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b  ary encode hex [
1950: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
1960: 74 20 6d 64 35 20 2d 64 61 74 61 20 24 74 65 73  t md5 -data $tes
1970: 74 5f 64 61 74 61 20 2d 62 69 6e 5d 2c 2c 2c 39  t_data -bin],,,9
1980: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
1990: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
19a0: 2c 2c 0a 4d 44 20 44 61 74 61 2c 6d 64 35 20 68  ,,.MD Data,md5 h
19b0: 65 78 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  ex,,,::tls::md -
19c0: 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61  digest md5 -data
19d0: 20 24 74 65 73 74 5f 64 61 74 61 20 2d 68 65 78   $test_data -hex
19e0: 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33  ,,,962bf0803b423
19f0: 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65  2ec23bd8427bb94e
1a00: 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c  a09,,,.,,,,,,,,,
1a10: 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74  ,.command,# Test
1a20: 20 4d 44 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20   MD command for 
1a30: 66 69 6c 65 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44  file,,,,,,,,,.MD
1a40: 20 46 69 6c 65 2c 6d 64 34 2c 6d 64 34 2c 2c 3a   File,md4,md4,,:
1a50: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
1a60: 20 6d 64 34 20 2d 66 69 6c 65 20 24 74 65 73 74   md4 -file $test
1a70: 5f 66 69 6c 65 2c 2c 2c 37 39 33 33 39 39 66 37  _file,,,793399f7
1a80: 39 32 65 63 61 32 37 35 32 63 36 61 66 33 32 33  92eca2752c6af323
1a90: 34 62 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 46  4ba70858,,,.MD F
1aa0: 69 6c 65 2c 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a  ile,md5,,,::tls:
1ab0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20  :md -digest md5 
1ac0: 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65  -file $test_file
1ad0: 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33  ,,,962bf0803b423
1ae0: 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65  2ec23bd8427bb94e
1af0: 61 30 39 2c 2c 2c 0a 4d 44 20 46 69 6c 65 2c 73  a09,,,.MD File,s
1b00: 68 61 31 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  ha1,,,::tls::md 
1b10: 2d 64 69 67 65 73 74 20 73 68 61 31 20 2d 66 69  -digest sha1 -fi
1b20: 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c  le $test_file,,,
1b30: 34 66 65 30 33 62 37 66 32 35 36 38 35 35 31 64  4fe03b7f2568551d
1b40: 66 61 66 62 39 38 63 61 36 30 30 34 65 36 35 63  fafb98ca6004e65c
1b50: 34 62 37 31 61 61 37 64 2c 2c 2c 0a 4d 44 20 46  4b71aa7d,,,.MD F
1b60: 69 6c 65 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74  ile,sha256,,,::t
1b70: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
1b80: 68 61 32 35 36 20 2d 66 69 6c 65 20 24 74 65 73  ha256 -file $tes
1b90: 74 5f 66 69 6c 65 2c 2c 2c 39 64 33 35 37 38 66  t_file,,,9d3578f
1ba0: 63 31 33 38 32 30 35 63 66 30 65 65 34 62 34 63  c138205cf0ee4b4c
1bb0: 65 66 33 35 66 65 31 30 31 62 62 34 65 63 61 63  ef35fe101bb4ecac
1bc0: 37 62 31 36 31 34 63 31 38 65 36 66 61 34 38 62  7b1614c18e6fa48b
1bd0: 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20  5c7f95e19,,,.MD 
1be0: 46 69 6c 65 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a  File,sha512,,,::
1bf0: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
1c00: 73 68 61 35 31 32 20 2d 66 69 6c 65 20 24 74 65  sha512 -file $te
1c10: 73 74 5f 66 69 6c 65 2c 2c 2c 64 31 37 38 65 37  st_file,,,d178e7
1c20: 35 39 64 63 35 39 31 32 37 30 37 31 35 38 38 64  59dc59127071588d
1c30: 32 66 61 64 31 37 33 63 30 36 32 33 38 64 38 37  2fad173c06238d87
1c40: 65 38 30 30 61 36 34 30 33 63 30 61 33 30 64 61  e800a6403c0a30da
1c50: 61 34 66 61 61 66 30 35 64 30 65 37 63 65 30 34  a4faaf05d0e7ce04
1c60: 39 31 36 61 66 61 61 36 61 35 38 61 33 30 63 62  916afaa6a58a30cb
1c70: 65 62 35 39 37 64 61 63 62 30 31 63 36 32 66 39  eb597dacb01c62f9
1c80: 66 62 39 64 38 39 62 61 62 39 64 61 36 33 30 63  fb9d89bab9da630c
1c90: 36 39 39 65 34 38 31 36 66 31 2c 2c 2c 0a 4d 44  699e4816f1,,,.MD
1ca0: 20 46 69 6c 65 2c 6d 64 35 20 62 69 6e 2c 2c 2c   File,md5 bin,,,
1cb0: 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65  binary encode he
1cc0: 78 20 5b 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  x [::tls::md -di
1cd0: 67 65 73 74 20 6d 64 35 20 2d 66 69 6c 65 20 24  gest md5 -file $
1ce0: 74 65 73 74 5f 66 69 6c 65 20 2d 62 69 6e 5d 2c  test_file -bin],
1cf0: 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32  ,,962bf0803b4232
1d00: 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61  ec23bd8427bb94ea
1d10: 30 39 2c 2c 2c 0a 4d 44 20 46 69 6c 65 2c 6d 64  09,,,.MD File,md
1d20: 35 20 68 65 78 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  5 hex,,,::tls::m
1d30: 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 66  d -digest md5 -f
1d40: 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 20 2d  ile $test_file -
1d50: 68 65 78 2c 2c 2c 39 36 32 62 66 30 38 30 33 62  hex,,,962bf0803b
1d60: 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62  4232ec23bd8427bb
1d70: 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  94ea09,,,.,,,,,,
1d80: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 4d  ,,,,.command,# M
1d90: 44 20 45 72 72 6f 72 20 43 61 73 65 73 2c 2c 2c  D Error Cases,,,
1da0: 2c 2c 2c 2c 2c 2c 0a 4d 44 20 45 72 72 6f 72 73  ,,,,,,.MD Errors
1db0: 2c 54 6f 6f 20 66 65 77 20 61 72 67 73 2c 2c 2c  ,Too few args,,,
1dc0: 3a 3a 74 6c 73 3a 3a 6d 64 2c 2c 2c 22 77 72 6f  ::tls::md,,,"wro
1dd0: 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c  ng # args: shoul
1de0: 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 6d 64  d be ""::tls::md
1df0: 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63   ?-bin|-hex? ?-c
1e00: 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69  ipher name? ?-di
1e10: 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79  gest name? ?-key
1e20: 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65   key? ?-mac name
1e30: 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e  ? [-channel chan
1e40: 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e   | -command cmdN
1e50: 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65  ame | -file file
1e60: 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64  name | ?-data? d
1e70: 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 4d 44 20 45  ata]""",,,1.MD E
1e80: 72 72 6f 72 73 2c 54 6f 6f 20 6d 61 6e 79 20 61  rrors,Too many a
1e90: 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  rgs,,,::tls::md 
1ea0: 74 6f 6f 20 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64  too many command
1eb0: 20 6c 69 6e 65 20 61 72 67 73 20 74 6f 20 70 61   line args to pa
1ec0: 73 73 20 74 68 65 20 74 65 73 74 20 77 69 74 68  ss the test with
1ed0: 6f 75 74 20 61 6e 20 65 72 72 6f 72 20 6f 72 20  out an error or 
1ee0: 66 61 69 6c 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67  failing,,,"wrong
1ef0: 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20   # args: should 
1f00: 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 6d 64 20 3f  be ""::tls::md ?
1f10: 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70  -bin|-hex? ?-cip
1f20: 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65  her name? ?-dige
1f30: 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b  st name? ?-key k
1f40: 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20  ey? ?-mac name? 
1f50: 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c  [-channel chan |
1f60: 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d   -command cmdNam
1f70: 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61  e | -file filena
1f80: 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74  me | ?-data? dat
1f90: 61 5d 22 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72  a]""",,,1.MD Err
1fa0: 6f 72 73 2c 49 6e 76 61 6c 69 64 20 64 69 67 65  ors,Invalid dige
1fb0: 73 74 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 62  st,,,::tls::md b
1fc0: 6f 67 75 73 20 64 61 74 61 2c 2c 2c 22 69 6e 76  ogus data,,,"inv
1fd0: 61 6c 69 64 20 64 69 67 65 73 74 20 22 22 62 6f  alid digest ""bo
1fe0: 67 75 73 22 22 22 2c 2c 2c 31 0a 4d 44 20 45 72  gus""",,,1.MD Er
1ff0: 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 64 69 67  rors,Invalid dig
2000: 65 73 74 20 41 72 67 2c 2c 2c 3a 3a 74 6c 73 3a  est Arg,,,::tls:
2010: 3a 6d 64 20 2d 64 69 67 65 73 74 20 62 6f 67 75  :md -digest bogu
2020: 73 20 2d 64 61 74 61 20 64 61 74 61 2c 2c 2c 22  s -data data,,,"
2030: 69 6e 76 61 6c 69 64 20 64 69 67 65 73 74 20 22  invalid digest "
2040: 22 62 6f 67 75 73 22 22 22 2c 2c 2c 31 0a 4d 44  "bogus""",,,1.MD
2050: 20 45 72 72 6f 72 73 2c 4e 6f 20 64 69 67 65 73   Errors,No diges
2060: 74 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 68  t,,,::tls::md -h
2070: 65 78 20 2d 64 61 74 61 20 76 61 6c 75 65 2c 2c  ex -data value,,
2080: 2c 6e 6f 20 64 69 67 65 73 74 2c 2c 2c 31 0a 4d  ,no digest,,,1.M
2090: 44 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64  D Errors,Invalid
20a0: 20 6f 70 74 69 6f 6e 2c 2c 2c 3a 3a 74 6c 73 3a   option,,,::tls:
20b0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32  :md -digest sha2
20c0: 35 36 20 2d 62 6f 67 75 73 20 76 61 6c 75 65 2c  56 -bogus value,
20d0: 2c 2c 22 62 61 64 20 6f 70 74 69 6f 6e 20 22 22  ,,"bad option ""
20e0: 2d 62 6f 67 75 73 22 22 3a 20 6d 75 73 74 20 62  -bogus"": must b
20f0: 65 20 2d 62 69 6e 2c 20 2d 62 69 6e 61 72 79 2c  e -bin, -binary,
2100: 20 2d 68 65 78 2c 20 2d 68 65 78 61 64 65 63 69   -hex, -hexadeci
2110: 6d 61 6c 2c 20 2d 63 68 61 6e 2c 20 2d 63 68 61  mal, -chan, -cha
2120: 6e 6e 65 6c 2c 20 2d 63 69 70 68 65 72 2c 20 2d  nnel, -cipher, -
2130: 63 6f 6d 6d 61 6e 64 2c 20 2d 64 61 74 61 2c 20  command, -data, 
2140: 2d 64 69 67 65 73 74 2c 20 2d 66 69 6c 65 2c 20  -digest, -file, 
2150: 2d 66 69 6c 65 6e 61 6d 65 2c 20 2d 68 61 73 68  -filename, -hash
2160: 2c 20 2d 6b 65 79 2c 20 6f 72 20 2d 6d 61 63 22  , -key, or -mac"
2170: 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72 73 2c 49  ,,,1.MD Errors,I
2180: 6e 76 61 6c 69 64 20 66 69 6c 65 2c 2c 2c 3a 3a  nvalid file,,,::
2190: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
21a0: 73 68 61 32 35 36 20 2d 66 69 6c 65 20 62 6f 67  sha256 -file bog
21b0: 75 73 2c 2c 2c 22 63 6f 75 6c 64 6e 27 74 20 6f  us,,,"couldn't o
21c0: 70 65 6e 20 22 22 62 6f 67 75 73 22 22 3a 20 6e  pen ""bogus"": n
21d0: 6f 20 73 75 63 68 20 66 69 6c 65 20 6f 72 20 64  o such file or d
21e0: 69 72 65 63 74 6f 72 79 22 2c 2c 2c 31 0a 4d 44  irectory",,,1.MD
21f0: 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20   Errors,Invalid 
2200: 63 68 61 6e 6e 65 6c 2c 2c 2c 3a 3a 74 6c 73 3a  channel,,,::tls:
2210: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32  :md -digest sha2
2220: 35 36 20 2d 63 68 61 6e 6e 65 6c 20 62 6f 67 75  56 -channel bogu
2230: 73 2c 2c 2c 22 63 61 6e 20 6e 6f 74 20 66 69 6e  s,,,"can not fin
2240: 64 20 63 68 61 6e 6e 65 6c 20 6e 61 6d 65 64 20  d channel named 
2250: 22 22 62 6f 67 75 73 22 22 22 2c 2c 2c 31 0a 4d  ""bogus""",,,1.M
2260: 44 20 45 72 72 6f 72 73 2c 4e 6f 20 6f 70 65 72  D Errors,No oper
2270: 61 74 69 6f 6e 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ation,,,::tls::m
2280: 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  d -digest sha256
2290: 20 2d 62 69 6e 2c 2c 2c 22 4e 6f 20 6f 70 65 72   -bin,,,"No oper
22a0: 61 74 69 6f 6e 3a 20 55 73 65 20 2d 63 68 61 6e  ation: Use -chan
22b0: 6e 65 6c 2c 20 2d 63 6f 6d 6d 61 6e 64 2c 20 2d  nel, -command, -
22c0: 64 61 74 61 2c 20 6f 72 20 2d 66 69 6c 65 20 6f  data, or -file o
22d0: 70 74 69 6f 6e 22 2c 2c 2c 31 0a 2c 2c 2c 2c 2c  ption",,,1.,,,,,
22e0: 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  ,,,,,.,,,,,,,,,,
22f0: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20  .command,# Test 
2300: 43 4d 41 43 20 63 6f 6d 6d 61 6e 64 2c 2c 2c 2c  CMAC command,,,,
2310: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
2320: 65 74 20 74 65 73 74 5f 63 69 70 68 65 72 20 22  et test_cipher "
2330: 22 61 65 73 2d 31 32 38 2d 63 62 63 22 22 22 2c  "aes-128-cbc""",
2340: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
2350: 2c 22 73 65 74 20 74 65 73 74 5f 6b 65 79 20 22  ,"set test_key "
2360: 22 45 78 61 6d 70 6c 65 20 6b 65 79 20 31 32 33  "Example key 123
2370: 34 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d  4""",,,,,,,,,.CM
2380: 41 43 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a  AC,data,,,::tls:
2390: 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20 24 74  :cmac -cipher $t
23a0: 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20  est_cipher -key 
23b0: 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74 61 20  $test_key -data 
23c0: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 62 61 66  $test_data,,,baf
23d0: 35 63 32 30 66 39 39 37 33 65 32 64 36 30 36 62  5c20f9973e2d606b
23e0: 31 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c  14c7efdfe52fa,,,
23f0: 0a 43 4d 41 43 2c 66 69 6c 65 2c 2c 2c 3a 3a 74  .CMAC,file,,,::t
2400: 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72  ls::cmac -cipher
2410: 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b   $test_cipher -k
2420: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 66 69  ey $test_key -fi
2430: 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c  le $test_file,,,
2440: 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36  baf5c20f9973e2d6
2450: 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61  06b14c7efdfe52fa
2460: 2c 2c 2c 0a 43 4d 41 43 2c 63 68 61 6e 6e 65 6c  ,,,.CMAC,channel
2470: 2c 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63  ,,,digest_read_c
2480: 68 61 6e 20 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  han ::tls::cmac 
2490: 24 74 65 73 74 5f 66 69 6c 65 20 2d 63 69 70 68  $test_file -ciph
24a0: 65 72 20 24 74 65 73 74 5f 63 69 70 68 65 72 20  er $test_cipher 
24b0: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c  -key $test_key,,
24c0: 2c 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64  ,baf5c20f9973e2d
24d0: 36 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66  606b14c7efdfe52f
24e0: 61 2c 2c 2c 0a 43 4d 41 43 2c 63 6f 6d 6d 61 6e  a,,,.CMAC,comman
24f0: 64 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63 75 6d  d,,,digest_accum
2500: 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74 61  ulate $test_data
2510: 20 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69   ::tls::cmac -ci
2520: 70 68 65 72 20 24 74 65 73 74 5f 63 69 70 68 65  pher $test_ciphe
2530: 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79  r -key $test_key
2540: 2c 2c 2c 62 61 66 35 63 32 30 66 39 39 37 33 65  ,,,baf5c20f9973e
2550: 32 64 36 30 36 62 31 34 63 37 65 66 64 66 65 35  2d606b14c7efdfe5
2560: 32 66 61 2c 2c 2c 0a 43 4d 41 43 2c 64 61 74 61  2fa,,,.CMAC,data
2570: 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e   bin,,,binary en
2580: 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a  code hex [::tls:
2590: 3a 63 6d 61 63 20 2d 62 69 6e 20 2d 63 69 70 68  :cmac -bin -ciph
25a0: 65 72 20 24 74 65 73 74 5f 63 69 70 68 65 72 20  er $test_cipher 
25b0: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d  -key $test_key -
25c0: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 5d  data $test_data]
25d0: 2c 2c 2c 62 61 66 35 63 32 30 66 39 39 37 33 65  ,,,baf5c20f9973e
25e0: 32 64 36 30 36 62 31 34 63 37 65 66 64 66 65 35  2d606b14c7efdfe5
25f0: 32 66 61 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c  2fa,,,.,,,,,,,,,
2600: 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74  ,.command,# Test
2610: 20 4d 44 20 43 4d 41 43 2c 2c 2c 2c 2c 2c 2c 2c   MD CMAC,,,,,,,,
2620: 2c 0a 4d 44 20 43 4d 41 43 2c 64 61 74 61 2c 2c  ,.MD CMAC,data,,
2630: 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 63 69 70 68  ,::tls::md -ciph
2640: 65 72 20 24 74 65 73 74 5f 63 69 70 68 65 72 20  er $test_cipher 
2650: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d  -key $test_key -
2660: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
2670: 2c 2c 62 61 66 35 63 32 30 66 39 39 37 33 65 32  ,,baf5c20f9973e2
2680: 64 36 30 36 62 31 34 63 37 65 66 64 66 65 35 32  d606b14c7efdfe52
2690: 66 61 2c 2c 2c 0a 4d 44 20 43 4d 41 43 2c 66 69  fa,,,.MD CMAC,fi
26a0: 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  le,,,::tls::md -
26b0: 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69 70  cipher $test_cip
26c0: 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  her -key $test_k
26d0: 65 79 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66  ey -file $test_f
26e0: 69 6c 65 2c 2c 2c 62 61 66 35 63 32 30 66 39 39  ile,,,baf5c20f99
26f0: 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66 64  73e2d606b14c7efd
2700: 66 65 35 32 66 61 2c 2c 2c 0a 4d 44 20 43 4d 41  fe52fa,,,.MD CMA
2710: 43 2c 63 68 61 6e 6e 65 6c 2c 2c 2c 64 69 67 65  C,channel,,,dige
2720: 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74  st_read_chan ::t
2730: 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c  ls::md $test_fil
2740: 65 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f  e -cipher $test_
2750: 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73  cipher -key $tes
2760: 74 5f 6b 65 79 2c 2c 2c 62 61 66 35 63 32 30 66  t_key,,,baf5c20f
2770: 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65  9973e2d606b14c7e
2780: 66 64 66 65 35 32 66 61 2c 2c 2c 0a 4d 44 20 43  fdfe52fa,,,.MD C
2790: 4d 41 43 2c 63 6f 6d 6d 61 6e 64 2c 2c 2c 64 69  MAC,command,,,di
27a0: 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20  gest_accumulate 
27b0: 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73  $test_data ::tls
27c0: 3a 3a 6d 64 20 2d 63 69 70 68 65 72 20 24 74 65  ::md -cipher $te
27d0: 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24  st_cipher -key $
27e0: 74 65 73 74 5f 6b 65 79 2c 2c 2c 62 61 66 35 63  test_key,,,baf5c
27f0: 32 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34  20f9973e2d606b14
2800: 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 4d  c7efdfe52fa,,,.M
2810: 44 20 43 4d 41 43 2c 64 61 74 61 20 62 69 6e 2c  D CMAC,data bin,
2820: 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20  ,,binary encode 
2830: 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  hex [::tls::md -
2840: 62 69 6e 20 2d 63 69 70 68 65 72 20 24 74 65 73  bin -cipher $tes
2850: 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74  t_cipher -key $t
2860: 65 73 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 74  est_key -data $t
2870: 65 73 74 5f 64 61 74 61 5d 2c 2c 2c 62 61 66 35  est_data],,,baf5
2880: 63 32 30 66 39 39 37 33 65 32 64 36 30 36 62 31  c20f9973e2d606b1
2890: 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a  4c7efdfe52fa,,,.
28a0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ,,,,,,,,,,.comma
28b0: 6e 64 2c 23 20 54 65 73 74 20 43 4d 41 43 20 53  nd,# Test CMAC S
28c0: 68 6f 72 74 63 75 74 2c 2c 2c 2c 2c 2c 2c 2c 2c  hortcut,,,,,,,,,
28d0: 0a 43 4d 41 43 20 53 68 6f 72 74 63 75 74 2c 64  .CMAC Shortcut,d
28e0: 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61  ata,,,::tls::cma
28f0: 63 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d  c $test_cipher -
2900: 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 24 74  key $test_key $t
2910: 65 73 74 5f 64 61 74 61 2c 2c 2c 62 61 66 35 63  est_data,,,baf5c
2920: 32 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34  20f9973e2d606b14
2930: 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 2c  c7efdfe52fa,,,.,
2940: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
2950: 64 2c 23 20 43 4d 41 43 20 45 72 72 6f 72 20 43  d,# CMAC Error C
2960: 61 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d  ases,,,,,,,,,.CM
2970: 41 43 20 45 72 72 6f 72 73 2c 54 6f 6f 20 66 65  AC Errors,Too fe
2980: 77 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a  w args,,,::tls::
2990: 63 6d 61 63 2c 2c 2c 22 77 72 6f 6e 67 20 23 20  cmac,,,"wrong # 
29a0: 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20  args: should be 
29b0: 22 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 3f 2d  ""::tls::cmac ?-
29c0: 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68  bin|-hex? ?-ciph
29d0: 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73  er name? ?-diges
29e0: 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65  t name? ?-key ke
29f0: 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b  y? ?-mac name? [
2a00: 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20  -channel chan | 
2a10: 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65  -command cmdName
2a20: 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d   | -file filenam
2a30: 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61  e | ?-data? data
2a40: 5d 22 22 22 2c 2c 2c 31 0a 43 4d 41 43 20 45 72  ]""",,,1.CMAC Er
2a50: 72 6f 72 73 2c 54 6f 6f 20 6d 61 6e 79 20 61 72  rors,Too many ar
2a60: 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63  gs,,,::tls::cmac
2a70: 20 74 6f 6f 20 6d 61 6e 79 20 63 6f 6d 6d 61 6e   too many comman
2a80: 64 20 6c 69 6e 65 20 61 72 67 73 20 74 6f 20 70  d line args to p
2a90: 61 73 73 20 74 68 65 20 74 65 73 74 20 77 69 74  ass the test wit
2aa0: 68 6f 75 74 20 61 6e 20 65 72 72 6f 72 20 6f 72  hout an error or
2ab0: 20 66 61 69 6c 69 6e 67 2c 2c 2c 22 77 72 6f 6e   failing,,,"wron
2ac0: 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64  g # args: should
2ad0: 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 63 6d 61   be ""::tls::cma
2ae0: 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d  c ?-bin|-hex? ?-
2af0: 63 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64  cipher name? ?-d
2b00: 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65  igest name? ?-ke
2b10: 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d  y key? ?-mac nam
2b20: 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61  e? [-channel cha
2b30: 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64  n | -command cmd
2b40: 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c  Name | -file fil
2b50: 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20  ename | ?-data? 
2b60: 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 43 4d 41  data]""",,,1.CMA
2b70: 43 20 45 72 72 6f 72 73 2c 4e 6f 20 63 69 70 68  C Errors,No ciph
2b80: 65 72 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63  er,,,::tls::cmac
2b90: 20 2d 68 65 78 20 2d 64 61 74 61 20 24 74 65 73   -hex -data $tes
2ba0: 74 5f 64 61 74 61 2c 2c 2c 6e 6f 20 63 69 70 68  t_data,,,no ciph
2bb0: 65 72 2c 2c 2c 31 0a 43 4d 41 43 20 45 72 72 6f  er,,,1.CMAC Erro
2bc0: 72 73 2c 4e 6f 20 6b 65 79 2c 2c 2c 3a 3a 74 6c  rs,No key,,,::tl
2bd0: 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20  s::cmac -cipher 
2be0: 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 64 61  $test_cipher -da
2bf0: 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  ta $test_data,,,
2c00: 6e 6f 20 6b 65 79 2c 2c 2c 31 0a 43 4d 41 43 20  no key,,,1.CMAC 
2c10: 45 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 63  Errors,Invalid c
2c20: 69 70 68 65 72 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63  ipher,,,::tls::c
2c30: 6d 61 63 20 2d 63 69 70 68 65 72 20 62 6f 67 75  mac -cipher bogu
2c40: 73 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  s -data $test_da
2c50: 74 61 2c 2c 2c 22 69 6e 76 61 6c 69 64 20 63 69  ta,,,"invalid ci
2c60: 70 68 65 72 20 22 22 62 6f 67 75 73 22 22 22 2c  pher ""bogus""",
2c70: 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c  ,,1.,,,,,,,,,,.,
2c80: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
2c90: 64 2c 23 20 54 65 73 74 20 48 4d 41 43 20 63 6f  d,# Test HMAC co
2ca0: 6d 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  mmand,,,,,,,,,.c
2cb0: 6f 6d 6d 61 6e 64 2c 73 65 74 20 74 65 73 74 5f  ommand,set test_
2cc0: 64 69 67 65 73 74 20 6d 64 35 2c 2c 2c 2c 2c 2c  digest md5,,,,,,
2cd0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
2ce0: 20 74 65 73 74 5f 6b 65 79 20 22 22 45 78 61 6d   test_key ""Exam
2cf0: 70 6c 65 20 6b 65 79 22 22 22 2c 2c 2c 2c 2c 2c  ple key""",,,,,,
2d00: 2c 2c 2c 0a 48 4d 41 43 2c 64 61 74 61 2c 2c 2c  ,,,.HMAC,data,,,
2d10: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
2d20: 65 73 74 20 24 74 65 73 74 5f 64 69 67 65 73 74  est $test_digest
2d30: 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20   -key $test_key 
2d40: 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61  -data $test_data
2d50: 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30 61  ,,,f98327ef3e20a
2d60: 62 36 64 33 38 38 66 36 37 36 63 36 61 37 39 64  b6d388f676c6a79d
2d70: 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c 66 69 6c 65  93d,,,.HMAC,file
2d80: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
2d90: 64 69 67 65 73 74 20 24 74 65 73 74 5f 64 69 67  digest $test_dig
2da0: 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  est -key $test_k
2db0: 65 79 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66  ey -file $test_f
2dc0: 69 6c 65 2c 2c 2c 66 39 38 33 32 37 65 66 33 65  ile,,,f98327ef3e
2dd0: 32 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61  20ab6d388f676c6a
2de0: 37 39 64 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c 63  79d93d,,,.HMAC,c
2df0: 68 61 6e 6e 65 6c 2c 2c 2c 64 69 67 65 73 74 5f  hannel,,,digest_
2e00: 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a  read_chan ::tls:
2e10: 3a 68 6d 61 63 20 24 74 65 73 74 5f 66 69 6c 65  :hmac $test_file
2e20: 20 2d 64 69 67 65 73 74 20 24 74 65 73 74 5f 64   -digest $test_d
2e30: 69 67 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74  igest -key $test
2e40: 5f 6b 65 79 2c 2c 2c 66 39 38 33 32 37 65 66 33  _key,,,f98327ef3
2e50: 65 32 30 61 62 36 64 33 38 38 66 36 37 36 63 36  e20ab6d388f676c6
2e60: 61 37 39 64 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c  a79d93d,,,.HMAC,
2e70: 63 6f 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74  command,,,digest
2e80: 5f 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73  _accumulate $tes
2e90: 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 68 6d  t_data ::tls::hm
2ea0: 61 63 20 2d 64 69 67 65 73 74 20 24 74 65 73 74  ac -digest $test
2eb0: 5f 64 69 67 65 73 74 20 2d 6b 65 79 20 24 74 65  _digest -key $te
2ec0: 73 74 5f 6b 65 79 2c 2c 2c 66 39 38 33 32 37 65  st_key,,,f98327e
2ed0: 66 33 65 32 30 61 62 36 64 33 38 38 66 36 37 36  f3e20ab6d388f676
2ee0: 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a 48 4d 41  c6a79d93d,,,.HMA
2ef0: 43 2c 64 61 74 61 20 62 69 6e 2c 2c 2c 62 69 6e  C,data bin,,,bin
2f00: 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b  ary encode hex [
2f10: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
2f20: 65 73 74 20 24 74 65 73 74 5f 64 69 67 65 73 74  est $test_digest
2f30: 20 2d 62 69 6e 20 2d 6b 65 79 20 24 74 65 73 74   -bin -key $test
2f40: 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74  _key -data $test
2f50: 5f 64 61 74 61 5d 2c 2c 2c 66 39 38 33 32 37 65  _data],,,f98327e
2f60: 66 33 65 32 30 61 62 36 64 33 38 38 66 36 37 36  f3e20ab6d388f676
2f70: 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a 2c 2c 2c  c6a79d93d,,,.,,,
2f80: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
2f90: 23 20 54 65 73 74 20 4d 44 20 48 4d 41 43 2c 2c  # Test MD HMAC,,
2fa0: 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 48 4d 41 43 2c  ,,,,,,,.MD HMAC,
2fb0: 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64  data,,,::tls::md
2fc0: 20 2d 64 69 67 65 73 74 20 24 74 65 73 74 5f 64   -digest $test_d
2fd0: 69 67 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74  igest -key $test
2fe0: 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74  _key -data $test
2ff0: 5f 64 61 74 61 2c 2c 2c 66 39 38 33 32 37 65 66  _data,,,f98327ef
3000: 33 65 32 30 61 62 36 64 33 38 38 66 36 37 36 63  3e20ab6d388f676c
3010: 36 61 37 39 64 39 33 64 2c 2c 2c 0a 4d 44 20 48  6a79d93d,,,.MD H
3020: 4d 41 43 2c 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73  MAC,file,,,::tls
3030: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 24 74 65  ::md -digest $te
3040: 73 74 5f 64 69 67 65 73 74 20 2d 6b 65 79 20 24  st_digest -key $
3050: 74 65 73 74 5f 6b 65 79 20 2d 66 69 6c 65 20 24  test_key -file $
3060: 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 66 39 38 33  test_file,,,f983
3070: 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38 66  27ef3e20ab6d388f
3080: 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a  676c6a79d93d,,,.
3090: 4d 44 20 48 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c  MD HMAC,channel,
30a0: 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68  ,,digest_read_ch
30b0: 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65  an ::tls::md $te
30c0: 73 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20  st_file -digest 
30d0: 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d 6b 65  $test_digest -ke
30e0: 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39  y $test_key,,,f9
30f0: 38 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38  8327ef3e20ab6d38
3100: 38 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c  8f676c6a79d93d,,
3110: 2c 0a 4d 44 20 48 4d 41 43 2c 63 6f 6d 6d 61 6e  ,.MD HMAC,comman
3120: 64 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63 75 6d  d,,,digest_accum
3130: 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74 61  ulate $test_data
3140: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65   ::tls::md -dige
3150: 73 74 20 24 74 65 73 74 5f 64 69 67 65 73 74 20  st $test_digest 
3160: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c  -key $test_key,,
3170: 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 62 36  ,f98327ef3e20ab6
3180: 64 33 38 38 66 36 37 36 63 36 61 37 39 64 39 33  d388f676c6a79d93
3190: 64 2c 2c 2c 0a 4d 44 20 48 4d 41 43 2c 64 61 74  d,,,.MD HMAC,dat
31a0: 61 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65  a bin,,,binary e
31b0: 6e 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73  ncode hex [::tls
31c0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 24 74 65  ::md -digest $te
31d0: 73 74 5f 64 69 67 65 73 74 20 2d 62 69 6e 20 2d  st_digest -bin -
31e0: 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64  key $test_key -d
31f0: 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 5d 2c  ata $test_data],
3200: 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 62  ,,f98327ef3e20ab
3210: 36 64 33 38 38 66 36 37 36 63 36 61 37 39 64 39  6d388f676c6a79d9
3220: 33 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  3d,,,.,,,,,,,,,,
3230: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20  .command,# Test 
3240: 48 4d 41 43 20 53 68 6f 72 74 63 75 74 2c 2c 2c  HMAC Shortcut,,,
3250: 2c 2c 2c 2c 2c 2c 0a 48 4d 41 43 20 53 68 6f 72  ,,,,,,.HMAC Shor
3260: 74 63 75 74 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c  tcut,data,,,::tl
3270: 73 3a 3a 68 6d 61 63 20 24 74 65 73 74 5f 64 69  s::hmac $test_di
3280: 67 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f  gest -key $test_
3290: 6b 65 79 20 24 74 65 73 74 5f 64 61 74 61 2c 2c  key $test_data,,
32a0: 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 62 36  ,f98327ef3e20ab6
32b0: 64 33 38 38 66 36 37 36 63 36 61 37 39 64 39 33  d388f676c6a79d93
32c0: 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  d,,,.,,,,,,,,,,.
32d0: 63 6f 6d 6d 61 6e 64 2c 23 20 48 4d 41 43 20 45  command,# HMAC E
32e0: 72 72 6f 72 20 43 61 73 65 73 2c 2c 2c 2c 2c 2c  rror Cases,,,,,,
32f0: 2c 2c 2c 0a 48 4d 41 43 20 45 72 72 6f 72 73 2c  ,,,.HMAC Errors,
3300: 54 6f 6f 20 66 65 77 20 61 72 67 73 2c 2c 2c 3a  Too few args,,,:
3310: 3a 74 6c 73 3a 3a 68 6d 61 63 2c 2c 2c 22 77 72  :tls::hmac,,,"wr
3320: 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75  ong # args: shou
3330: 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 68  ld be ""::tls::h
3340: 6d 61 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20  mac ?-bin|-hex? 
3350: 3f 2d 63 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f  ?-cipher name? ?
3360: 2d 64 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d  -digest name? ?-
3370: 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e  key key? ?-mac n
3380: 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63  ame? [-channel c
3390: 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63  han | -command c
33a0: 6d 64 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66  mdName | -file f
33b0: 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61  ilename | ?-data
33c0: 3f 20 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 48  ? data]""",,,1.H
33d0: 4d 41 43 20 45 72 72 6f 72 73 2c 54 6f 6f 20 6d  MAC Errors,Too m
33e0: 61 6e 79 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73  any args,,,::tls
33f0: 3a 3a 68 6d 61 63 20 74 6f 6f 20 6d 61 6e 79 20  ::hmac too many 
3400: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67  command line arg
3410: 73 20 74 6f 20 70 61 73 73 20 74 68 65 20 74 65  s to pass the te
3420: 73 74 20 77 69 74 68 6f 75 74 20 61 6e 20 65 72  st without an er
3430: 72 6f 72 20 6f 72 20 66 61 69 6c 69 6e 67 2c 2c  ror or failing,,
3440: 2c 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20  ,"wrong # args: 
3450: 73 68 6f 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c  should be ""::tl
3460: 73 3a 3a 68 6d 61 63 20 3f 2d 62 69 6e 7c 2d 68  s::hmac ?-bin|-h
3470: 65 78 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61 6d  ex? ?-cipher nam
3480: 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d 65  e? ?-digest name
3490: 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d  ? ?-key key? ?-m
34a0: 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e  ac name? [-chann
34b0: 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61  el chan | -comma
34c0: 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66 69  nd cmdName | -fi
34d0: 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d  le filename | ?-
34e0: 64 61 74 61 3f 20 64 61 74 61 5d 22 22 22 2c 2c  data? data]""",,
34f0: 2c 31 0a 48 4d 41 43 20 45 72 72 6f 72 73 2c 4e  ,1.HMAC Errors,N
3500: 6f 20 64 69 67 65 73 74 2c 2c 2c 3a 3a 74 6c 73  o digest,,,::tls
3510: 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 61 74  ::hmac -hex -dat
3520: 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 6e  a $test_data,,,n
3530: 6f 20 64 69 67 65 73 74 2c 2c 2c 31 0a 48 4d 41  o digest,,,1.HMA
3540: 43 20 45 72 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c  C Errors,No key,
3550: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
3560: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 64 61  igest sha256 -da
3570: 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  ta $test_data,,,
3580: 6e 6f 20 6b 65 79 2c 2c 2c 31 0a 48 4d 41 43 20  no key,,,1.HMAC 
3590: 45 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 64  Errors,Invalid d
35a0: 69 67 65 73 74 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  igest,,,::tls::m
35b0: 64 20 2d 64 69 67 65 73 74 20 62 6f 67 75 73 20  d -digest bogus 
35c0: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d  -key $test_key -
35d0: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
35e0: 2c 2c 22 69 6e 76 61 6c 69 64 20 64 69 67 65 73  ,,"invalid diges
35f0: 74 20 22 22 62 6f 67 75 73 22 22 22 2c 2c 2c 31  t ""bogus""",,,1
3600: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c  .,,,,,,,,,,.,,,,
3610: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
3620: 20 54 65 73 74 20 4d 41 43 20 63 6f 6d 6d 61 6e   Test MAC comman
3630: 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  d,,,,,,,,,.comma
3640: 6e 64 2c 22 73 65 74 20 74 65 73 74 5f 63 69 70  nd,"set test_cip
3650: 68 65 72 20 22 22 61 65 73 2d 31 32 38 2d 63 62  her ""aes-128-cb
3660: 63 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  c""",,,,,,,,,.co
3670: 6d 6d 61 6e 64 2c 73 65 74 20 74 65 73 74 5f 64  mmand,set test_d
3680: 69 67 65 73 74 20 73 68 61 32 35 36 2c 2c 2c 2c  igest sha256,,,,
3690: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
36a0: 65 74 20 74 65 73 74 5f 6b 65 79 20 22 22 45 78  et test_key ""Ex
36b0: 61 6d 70 6c 65 20 6b 65 79 20 31 32 33 34 22 22  ample key 1234""
36c0: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 41 43 2c 43  ",,,,,,,,,.MAC,C
36d0: 4d 41 43 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63  MAC,,,::tls::mac
36e0: 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63   -cipher $test_c
36f0: 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74  ipher -key $test
3700: 5f 6b 65 79 20 2d 6d 61 63 20 63 6d 61 63 20 2d  _key -mac cmac -
3710: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
3720: 2c 2c 62 61 66 35 63 32 30 66 39 39 37 33 65 32  ,,baf5c20f9973e2
3730: 64 36 30 36 62 31 34 63 37 65 66 64 66 65 35 32  d606b14c7efdfe52
3740: 66 61 2c 2c 2c 0a 4d 41 43 2c 48 4d 41 43 2c 2c  fa,,,.MAC,HMAC,,
3750: 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d 64 69 67  ,::tls::mac -dig
3760: 65 73 74 20 24 74 65 73 74 5f 64 69 67 65 73 74  est $test_digest
3770: 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20   -key $test_key 
3780: 2d 6d 61 63 20 68 6d 61 63 20 2d 64 61 74 61 20  -mac hmac -data 
3790: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 36 37 36  $test_data,,,676
37a0: 64 61 66 39 36 33 37 30 64 30 65 33 63 35 35 39  daf96370d0e3c559
37b0: 38 35 35 37 64 61 33 38 61 39 61 38 31 30 61 34  8557da38a9a810a4
37c0: 66 62 61 63 62 62 32 64 31 30 63 36 37 66 36 64  fbacbb2d10c67f6d
37d0: 66 61 38 33 66 31 30 66 34 38 65 39 36 2c 2c 2c  fa83f10f48e96,,,
37e0: 0a 4d 41 43 2c 4d 44 2d 43 4d 41 43 2c 2c 2c 3a  .MAC,MD-CMAC,,,:
37f0: 3a 74 6c 73 3a 3a 6d 64 20 2d 63 69 70 68 65 72  :tls::md -cipher
3800: 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b   $test_cipher -k
3810: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 6d 61  ey $test_key -ma
3820: 63 20 63 6d 61 63 20 2d 64 61 74 61 20 24 74 65  c cmac -data $te
3830: 73 74 5f 64 61 74 61 2c 2c 2c 62 61 66 35 63 32  st_data,,,baf5c2
3840: 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63  0f9973e2d606b14c
3850: 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 4d 41  7efdfe52fa,,,.MA
3860: 43 2c 4d 44 2d 48 4d 41 43 2c 2c 2c 3a 3a 74 6c  C,MD-HMAC,,,::tl
3870: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 24 74  s::md -digest $t
3880: 65 73 74 5f 64 69 67 65 73 74 20 2d 6b 65 79 20  est_digest -key 
3890: 24 74 65 73 74 5f 6b 65 79 20 2d 6d 61 63 20 68  $test_key -mac h
38a0: 6d 61 63 20 2d 64 61 74 61 20 24 74 65 73 74 5f  mac -data $test_
38b0: 64 61 74 61 2c 2c 2c 36 37 36 64 61 66 39 36 33  data,,,676daf963
38c0: 37 30 64 30 65 33 63 35 35 39 38 35 35 37 64 61  70d0e3c5598557da
38d0: 33 38 61 39 61 38 31 30 61 34 66 62 61 63 62 62  38a9a810a4fbacbb
38e0: 32 64 31 30 63 36 37 66 36 64 66 61 38 33 66 31  2d10c67f6dfa83f1
38f0: 30 66 34 38 65 39 36 2c 2c 2c 0a 2c 2c 2c 2c 2c  0f48e96,,,.,,,,,
3900: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
3910: 4d 41 43 20 45 72 72 6f 72 20 43 61 73 65 73 2c  MAC Error Cases,
3920: 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 41 43 20 45 72 72  ,,,,,,,,.MAC Err
3930: 6f 72 73 2c 54 6f 6f 20 66 65 77 20 61 72 67 73  ors,Too few args
3940: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 2c 2c 2c  ,,,::tls::mac,,,
3950: 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73  "wrong # args: s
3960: 68 6f 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73  hould be ""::tls
3970: 3a 3a 6d 61 63 20 3f 2d 62 69 6e 7c 2d 68 65 78  ::mac ?-bin|-hex
3980: 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61 6d 65 3f  ? ?-cipher name?
3990: 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d 65 3f 20   ?-digest name? 
39a0: 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d 61 63  ?-key key? ?-mac
39b0: 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c   name? [-channel
39c0: 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64   chan | -command
39d0: 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66 69 6c 65   cmdName | -file
39e0: 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64 61   filename | ?-da
39f0: 74 61 3f 20 64 61 74 61 5d 22 22 22 2c 2c 2c 31  ta? data]""",,,1
3a00: 0a 4d 41 43 20 45 72 72 6f 72 73 2c 4e 6f 20 6d  .MAC Errors,No m
3a10: 61 63 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20  ac,,,::tls::mac 
3a20: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d  -key $test_key -
3a30: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
3a40: 2c 2c 6e 6f 20 4d 41 43 2c 2c 2c 31 0a 4d 41 43  ,,no MAC,,,1.MAC
3a50: 20 45 72 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c 2c   Errors,No key,,
3a60: 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d 6d 61 63  ,::tls::mac -mac
3a70: 20 68 6d 61 63 20 2d 64 69 67 65 73 74 20 24 74   hmac -digest $t
3a80: 65 73 74 5f 64 69 67 65 73 74 20 2d 64 61 74 61  est_digest -data
3a90: 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 6e 6f   $test_data,,,no
3aa0: 20 6b 65 79 2c 2c 2c 31 0a 4d 41 43 20 45 72 72   key,,,1.MAC Err
3ab0: 6f 72 73 2c 49 6e 76 61 6c 69 64 20 4d 41 43 2c  ors,Invalid MAC,
3ac0: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d 6d 61  ,,::tls::mac -ma
3ad0: 63 20 62 6f 67 75 73 20 2d 6b 65 79 20 24 74 65  c bogus -key $te
3ae0: 73 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65  st_key -data $te
3af0: 73 74 5f 64 61 74 61 2c 2c 2c 22 69 6e 76 61 6c  st_data,,,"inval
3b00: 69 64 20 4d 41 43 20 22 22 62 6f 67 75 73 22 22  id MAC ""bogus""
3b10: 22 2c 2c 2c 31 0a 4d 41 43 20 45 72 72 6f 72 73  ",,,1.MAC Errors
3b20: 2c 54 6f 6f 20 6d 61 6e 79 20 61 72 67 73 2c 2c  ,Too many args,,
3b30: 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20 74 6f 6f 20  ,::tls::mac too 
3b40: 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e  many command lin
3b50: 65 20 61 72 67 73 20 74 6f 20 70 61 73 73 20 74  e args to pass t
3b60: 68 65 20 74 65 73 74 20 77 69 74 68 6f 75 74 20  he test without 
3b70: 61 6e 20 65 72 72 6f 72 20 6f 72 20 66 61 69 6c  an error or fail
3b80: 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61  ing,,,"wrong # a
3b90: 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22  rgs: should be "
3ba0: 22 3a 3a 74 6c 73 3a 3a 6d 61 63 20 3f 2d 62 69  "::tls::mac ?-bi
3bb0: 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65 72  n|-hex? ?-cipher
3bc0: 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20   name? ?-digest 
3bd0: 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f  name? ?-key key?
3be0: 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63   ?-mac name? [-c
3bf0: 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63  hannel chan | -c
3c00: 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c  ommand cmdName |
3c10: 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20   -file filename 
3c20: 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d 22  | ?-data? data]"
3c30: 22 22 2c 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c  "",,,1.,,,,,,,,,
3c40: 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  ,.,,,,,,,,,,.com
3c50: 6d 61 6e 64 2c 23 20 52 46 43 20 31 33 32 31 20  mand,# RFC 1321 
3c60: 4d 65 73 73 61 67 65 20 44 69 67 65 73 74 20 35  Message Digest 5
3c70: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 31 33 32  ,,,,,,,,,.RFC132
3c80: 31 2d 4d 44 35 2c 54 43 31 2c 2c 2c 22 3a 3a 74  1-MD5,TC1,,,"::t
3c90: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d  ls::md -digest m
3ca0: 64 35 20 2d 64 61 74 61 20 22 22 22 22 22 2c 2c  d5 -data """"",,
3cb0: 2c 64 34 31 64 38 63 64 39 38 66 30 30 62 32 30  ,d41d8cd98f00b20
3cc0: 34 65 39 38 30 30 39 39 38 65 63 66 38 34 32 37  4e9800998ecf8427
3cd0: 65 2c 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44 35  e,,,.RFC1321-MD5
3ce0: 2c 54 43 32 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d  ,TC2,,,"::tls::m
3cf0: 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64  d -digest md5 -d
3d00: 61 74 61 20 22 22 61 22 22 22 2c 2c 2c 30 63 63  ata ""a""",,,0cc
3d10: 31 37 35 62 39 63 30 66 31 62 36 61 38 33 31 63  175b9c0f1b6a831c
3d20: 33 39 39 65 32 36 39 37 37 32 36 36 31 2c 2c 2c  399e269772661,,,
3d30: 0a 52 46 43 31 33 32 31 2d 4d 44 35 2c 54 43 33  .RFC1321-MD5,TC3
3d40: 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  ,,,"::tls::md -d
3d50: 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20  igest md5 -data 
3d60: 22 22 61 62 63 22 22 22 2c 2c 2c 39 30 30 31 35  ""abc""",,,90015
3d70: 30 39 38 33 63 64 32 34 66 62 30 64 36 39 36 33  0983cd24fb0d6963
3d80: 66 37 64 32 38 65 31 37 66 37 32 2c 2c 2c 0a 52  f7d28e17f72,,,.R
3d90: 46 43 31 33 32 31 2d 4d 44 35 2c 54 43 34 2c 2c  FC1321-MD5,TC4,,
3da0: 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,"::tls::md -dig
3db0: 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20 22 22  est md5 -data ""
3dc0: 6d 65 73 73 61 67 65 20 64 69 67 65 73 74 22 22  message digest""
3dd0: 22 2c 2c 2c 66 39 36 62 36 39 37 64 37 63 62 37  ",,,f96b697d7cb7
3de0: 39 33 38 64 35 32 35 61 32 66 33 31 61 61 66 31  938d525a2f31aaf1
3df0: 36 31 64 30 2c 2c 2c 0a 52 46 43 31 33 32 31 2d  61d0,,,.RFC1321-
3e00: 4d 44 35 2c 54 43 35 2c 2c 2c 22 3a 3a 74 6c 73  MD5,TC5,,,"::tls
3e10: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35  ::md -digest md5
3e20: 20 2d 64 61 74 61 20 22 22 61 62 63 64 65 66 67   -data ""abcdefg
3e30: 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77  hijklmnopqrstuvw
3e40: 78 79 7a 22 22 22 2c 2c 2c 63 33 66 63 64 33 64  xyz""",,,c3fcd3d
3e50: 37 36 31 39 32 65 34 30 30 37 64 66 62 34 39 36  76192e4007dfb496
3e60: 63 63 61 36 37 65 31 33 62 2c 2c 2c 0a 52 46 43  cca67e13b,,,.RFC
3e70: 31 33 32 31 2d 4d 44 35 2c 54 43 36 2c 2c 2c 22  1321-MD5,TC6,,,"
3e80: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
3e90: 74 20 6d 64 35 20 2d 64 61 74 61 20 22 22 41 42  t md5 -data ""AB
3ea0: 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52  CDEFGHIJKLMNOPQR
3eb0: 53 54 55 56 57 58 59 5a 61 62 63 64 65 66 67 68  STUVWXYZabcdefgh
3ec0: 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78  ijklmnopqrstuvwx
3ed0: 79 7a 30 31 32 33 34 35 36 37 38 39 22 22 22 2c  yz0123456789""",
3ee0: 2c 2c 64 31 37 34 61 62 39 38 64 32 37 37 64 39  ,,d174ab98d277d9
3ef0: 66 35 61 35 36 31 31 63 32 63 39 66 34 31 39 64  f5a5611c2c9f419d
3f00: 39 66 2c 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44  9f,,,.RFC1321-MD
3f10: 35 2c 54 43 37 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a  5,TC7,,,"::tls::
3f20: 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d  md -digest md5 -
3f30: 64 61 74 61 20 5b 73 74 72 69 6e 67 20 72 65 70  data [string rep
3f40: 65 61 74 20 22 22 31 32 33 34 35 36 37 38 39 30  eat ""1234567890
3f50: 22 22 20 38 5d 22 2c 2c 2c 35 37 65 64 66 34 61  "" 8]",,,57edf4a
3f60: 32 32 62 65 33 63 39 35 35 61 63 34 39 64 61 32  22be3c955ac49da2
3f70: 65 32 31 30 37 62 36 37 61 2c 2c 2c 0a 2c 2c 2c  e2107b67a,,,.,,,
3f80: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
3f90: 23 20 52 46 43 20 36 32 33 34 20 53 48 41 31 2c  # RFC 6234 SHA1,
3fa0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 36 32 33 34  ,,,,,,,,.RFC6234
3fb0: 2d 4d 44 2d 53 48 41 31 2c 54 43 31 2c 2c 2c 22  -MD-SHA1,TC1,,,"
3fc0: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
3fd0: 74 20 73 68 61 31 20 2d 64 61 74 61 20 22 22 61  t sha1 -data ""a
3fe0: 62 63 22 22 22 2c 2c 2c 61 39 39 39 33 65 33 36  bc""",,,a9993e36
3ff0: 34 37 30 36 38 31 36 61 62 61 33 65 32 35 37 31  4706816aba3e2571
4000: 37 38 35 30 63 32 36 63 39 63 64 30 64 38 39 64  7850c26c9cd0d89d
4010: 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53  ,,,.RFC6234-MD-S
4020: 48 41 31 2c 54 43 32 5f 31 2c 2c 2c 22 3a 3a 74  HA1,TC2_1,,,"::t
4030: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
4040: 68 61 31 20 2d 64 61 74 61 20 22 22 61 62 63 64  ha1 -data ""abcd
4050: 62 63 64 65 63 64 65 66 64 65 66 67 65 66 67 68  bcdecdefdefgefgh
4060: 66 67 68 69 67 68 69 6a 68 69 6a 6b 69 6a 6b 6c  fghighijhijkijkl
4070: 6a 6b 6c 6d 6b 6c 6d 6e 6c 6d 6e 6f 6d 6e 6f 70  jklmklmnlmnomnop
4080: 6e 6f 70 71 22 22 22 2c 2c 2c 38 34 39 38 33 65  nopq""",,,84983e
4090: 34 34 31 63 33 62 64 32 36 65 62 61 61 65 34 61  441c3bd26ebaae4a
40a0: 61 31 66 39 35 31 32 39 65 35 65 35 34 36 37 30  a1f95129e5e54670
40b0: 66 31 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44  f1,,,.RFC6234-MD
40c0: 2d 53 48 41 31 2c 54 43 33 2c 2c 2c 22 3a 3a 74  -SHA1,TC3,,,"::t
40d0: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
40e0: 68 61 31 20 2d 64 61 74 61 20 5b 73 74 72 69 6e  ha1 -data [strin
40f0: 67 20 72 65 70 65 61 74 20 22 22 61 22 22 20 31  g repeat ""a"" 1
4100: 30 30 30 30 30 30 5d 22 2c 2c 2c 33 34 61 61 39  000000]",,,34aa9
4110: 37 33 63 64 34 63 34 64 61 61 34 66 36 31 65 65  73cd4c4daa4f61ee
4120: 62 32 62 64 62 61 64 32 37 33 31 36 35 33 34 30  b2bdbad273165340
4130: 31 36 66 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d  16f,,,.RFC6234-M
4140: 44 2d 53 48 41 31 2c 54 43 34 2c 2c 2c 22 3a 3a  D-SHA1,TC4,,,"::
4150: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
4160: 73 68 61 31 20 2d 64 61 74 61 20 5b 73 74 72 69  sha1 -data [stri
4170: 6e 67 20 72 65 70 65 61 74 20 22 22 30 31 32 33  ng repeat ""0123
4180: 34 35 36 37 22 22 20 38 30 5d 22 2c 2c 2c 64 65  4567"" 80]",,,de
4190: 61 33 35 36 61 32 63 64 64 64 39 30 63 37 61 37  a356a2cddd90c7a7
41a0: 65 63 65 64 63 35 65 62 62 35 36 33 39 33 34 66  ecedc5ebb563934f
41b0: 34 36 30 34 35 32 2c 2c 2c 0a 52 46 43 36 32 33  460452,,,.RFC623
41c0: 34 2d 4d 44 2d 53 48 41 31 2c 54 43 36 2c 2c 2c  4-MD-SHA1,TC6,,,
41d0: 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65  "::tls::md -dige
41e0: 73 74 20 73 68 61 31 20 2d 64 61 74 61 20 22 22  st sha1 -data ""
41f0: 5c 78 35 65 22 22 22 2c 2c 2c 35 65 36 66 38 30  \x5e""",,,5e6f80
4200: 61 33 34 61 39 37 39 38 63 61 66 63 36 61 35 64  a34a9798cafc6a5d
4210: 62 39 36 63 63 35 37 62 61 34 63 34 64 62 35 39  b96cc57ba4c4db59
4220: 63 32 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44  c2,,,.RFC6234-MD
4230: 2d 53 48 41 31 2c 54 43 38 5f 31 2c 2c 2c 22 3a  -SHA1,TC8_1,,,":
4240: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
4250: 20 73 68 61 31 20 2d 64 61 74 61 20 22 22 5c 78   sha1 -data ""\x
4260: 39 61 5c 78 37 64 5c 78 66 64 5c 78 66 31 5c 78  9a\x7d\xfd\xf1\x
4270: 65 63 5c 78 65 61 5c 78 64 30 5c 78 36 65 5c 78  ec\xea\xd0\x6e\x
4280: 64 36 5c 78 34 36 5c 78 61 61 5c 78 35 35 5c 78  d6\x46\xaa\x55\x
4290: 66 65 5c 78 37 35 5c 78 37 31 5c 78 34 36 22 22  fe\x75\x71\x46""
42a0: 22 2c 2c 2c 38 32 61 62 66 66 36 36 30 35 64 62  ",,,82abff6605db
42b0: 65 31 63 31 37 64 65 66 31 32 61 33 39 34 66 61  e1c17def12a394fa
42c0: 32 32 61 38 32 62 35 34 34 61 33 35 2c 2c 2c 0a  22a82b544a35,,,.
42d0: 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 31 2c  RFC6234-MD-SHA1,
42e0: 54 43 31 30 5f 31 2c 2c 2c 22 3a 3a 74 6c 73 3a  TC10_1,,,"::tls:
42f0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 31  :md -digest sha1
4300: 20 2d 64 61 74 61 20 22 22 5c 78 66 37 5c 78 38   -data ""\xf7\x8
4310: 66 5c 78 39 32 5c 78 31 34 5c 78 31 62 5c 78 63  f\x92\x14\x1b\xc
4320: 64 5c 78 31 37 5c 78 30 61 5c 78 65 38 5c 78 39  d\x17\x0a\xe8\x9
4330: 62 5c 78 34 66 5c 78 62 61 5c 78 31 35 5c 78 61  b\x4f\xba\x15\xa
4340: 31 5c 78 64 35 5c 78 39 66 5c 78 33 66 5c 78 64  1\xd5\x9f\x3f\xd
4350: 38 5c 78 34 64 5c 78 32 32 5c 78 33 63 5c 78 39  8\x4d\x22\x3c\x9
4360: 32 5c 78 35 31 5c 78 62 64 5c 78 61 63 5c 78 62  2\x51\xbd\xac\xb
4370: 62 5c 78 61 65 5c 78 36 31 5c 78 64 30 5c 78 35  b\xae\x61\xd0\x5
4380: 65 5c 78 64 31 5c 78 31 35 5c 78 61 30 5c 78 36  e\xd1\x15\xa0\x6
4390: 61 5c 78 37 63 5c 78 65 31 5c 78 31 37 5c 78 62  a\x7c\xe1\x17\xb
43a0: 37 5c 78 62 65 5c 78 65 61 5c 78 64 32 5c 78 34  7\xbe\xea\xd2\x4
43b0: 34 5c 78 32 31 5c 78 64 65 5c 78 64 39 5c 78 63  4\x21\xde\xd9\xc
43c0: 33 5c 78 32 35 5c 78 39 32 5c 78 62 64 5c 78 35  3\x25\x92\xbd\x5
43d0: 37 5c 78 65 64 5c 78 65 61 5c 78 65 33 5c 78 39  7\xed\xea\xe3\x9
43e0: 63 5c 78 33 39 5c 78 66 61 5c 78 31 66 5c 78 65  c\x39\xfa\x1f\xe
43f0: 38 5c 78 39 34 5c 78 36 61 5c 78 38 34 5c 78 64  8\x94\x6a\x84\xd
4400: 30 5c 78 63 66 5c 78 31 66 5c 78 37 62 5c 78 65  0\xcf\x1f\x7b\xe
4410: 65 5c 78 61 64 5c 78 31 37 5c 78 31 33 5c 78 65  e\xad\x17\x13\xe
4420: 32 5c 78 65 30 5c 78 39 35 5c 78 39 38 5c 78 39  2\xe0\x95\x98\x9
4430: 37 5c 78 33 34 5c 78 37 66 5c 78 36 37 5c 78 63  7\x34\x7f\x67\xc
4440: 38 5c 78 30 62 5c 78 30 34 5c 78 30 30 5c 78 63  8\x0b\x04\x00\xc
4450: 32 5c 78 30 39 5c 78 38 31 5c 78 35 64 5c 78 36  2\x09\x81\x5d\x6
4460: 62 5c 78 31 30 5c 78 61 36 5c 78 38 33 5c 78 38  b\x10\xa6\x83\x8
4470: 33 5c 78 36 66 5c 78 64 35 5c 78 35 36 5c 78 32  3\x6f\xd5\x56\x2
4480: 61 5c 78 35 36 5c 78 63 61 5c 78 62 31 5c 78 61  a\x56\xca\xb1\xa
4490: 32 5c 78 38 65 5c 78 38 31 5c 78 62 36 5c 78 35  2\x8e\x81\xb6\x5
44a0: 37 5c 78 36 36 5c 78 35 34 5c 78 36 33 5c 78 31  7\x66\x54\x63\x1
44b0: 63 5c 78 66 31 5c 78 36 35 5c 78 36 36 5c 78 62  c\xf1\x65\x66\xb
44c0: 38 5c 78 36 65 5c 78 33 62 5c 78 33 33 5c 78 61  8\x6e\x3b\x33\xa
44d0: 31 5c 78 30 38 5c 78 62 30 5c 78 35 33 5c 78 30  1\x08\xb0\x53\x0
44e0: 37 5c 78 63 30 5c 78 30 61 5c 78 66 66 5c 78 31  7\xc0\x0a\xff\x1
44f0: 34 5c 78 61 37 5c 78 36 38 5c 78 65 64 5c 78 37  4\xa7\x68\xed\x7
4500: 33 5c 78 35 30 5c 78 36 30 5c 78 36 61 5c 78 30  3\x50\x60\x6a\x0
4510: 66 5c 78 38 35 5c 78 65 36 5c 78 61 39 5c 78 31  f\x85\xe6\xa9\x1
4520: 64 5c 78 33 39 5c 78 36 66 5c 78 35 62 5c 78 35  d\x39\x6f\x5b\x5
4530: 63 5c 78 62 65 5c 78 35 37 5c 78 37 66 5c 78 39  c\xbe\x57\x7f\x9
4540: 62 5c 78 33 38 5c 78 38 30 5c 78 37 63 5c 78 37  b\x38\x80\x7c\x7
4550: 64 5c 78 35 32 5c 78 33 64 5c 78 36 64 5c 78 37  d\x52\x3d\x6d\x7
4560: 39 5c 78 32 66 5c 78 36 65 5c 78 62 63 5c 78 32  9\x2f\x6e\xbc\x2
4570: 34 5c 78 61 34 5c 78 65 63 5c 78 66 32 5c 78 62  4\xa4\xec\xf2\xb
4580: 33 5c 78 61 34 5c 78 32 37 5c 78 63 64 5c 78 62  3\xa4\x27\xcd\xb
4590: 62 5c 78 66 62 22 22 22 2c 2c 2c 63 62 30 30 38  b\xfb""",,,cb008
45a0: 32 63 38 66 31 39 37 64 32 36 30 39 39 31 62 61  2c8f197d260991ba
45b0: 36 61 34 36 30 65 37 36 65 32 30 32 62 61 64 32  6a460e76e202bad2
45c0: 37 62 33 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c  7b3,,,.,,,,,,,,,
45d0: 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20  ,.command,# RFC 
45e0: 36 32 33 34 20 53 48 41 32 35 36 2c 2c 2c 2c 2c  6234 SHA256,,,,,
45f0: 2c 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d  ,,,,.RFC6234-MD-
4600: 53 48 41 32 35 36 2c 54 43 31 2c 2c 2c 22 3a 3a  SHA256,TC1,,,"::
4610: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
4620: 73 68 61 32 35 36 20 2d 64 61 74 61 20 22 22 61  sha256 -data ""a
4630: 62 63 22 22 22 2c 2c 2c 62 61 37 38 31 36 62 66  bc""",,,ba7816bf
4640: 38 66 30 31 63 66 65 61 34 31 34 31 34 30 64 65  8f01cfea414140de
4650: 35 64 61 65 32 32 32 33 62 30 30 33 36 31 61 33  5dae2223b00361a3
4660: 39 36 31 37 37 61 39 63 62 34 31 30 66 66 36 31  96177a9cb410ff61
4670: 66 32 30 30 31 35 61 64 2c 2c 2c 0a 52 46 43 36  f20015ad,,,.RFC6
4680: 32 33 34 2d 4d 44 2d 53 48 41 32 35 36 2c 54 43  234-MD-SHA256,TC
4690: 32 5f 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64  2_1,,,"::tls::md
46a0: 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20   -digest sha256 
46b0: 2d 64 61 74 61 20 22 22 61 62 63 64 62 63 64 65  -data ""abcdbcde
46c0: 63 64 65 66 64 65 66 67 65 66 67 68 66 67 68 69  cdefdefgefghfghi
46d0: 67 68 69 6a 68 69 6a 6b 69 6a 6b 6c 6a 6b 6c 6d  ghijhijkijkljklm
46e0: 6b 6c 6d 6e 6c 6d 6e 6f 6d 6e 6f 70 6e 6f 70 71  klmnlmnomnopnopq
46f0: 22 22 22 2c 2c 2c 32 34 38 64 36 61 36 31 64 32  """,,,248d6a61d2
4700: 30 36 33 38 62 38 65 35 63 30 32 36 39 33 30 63  0638b8e5c026930c
4710: 33 65 36 30 33 39 61 33 33 63 65 34 35 39 36 34  3e6039a33ce45964
4720: 66 66 32 31 36 37 66 36 65 63 65 64 64 34 31 39  ff2167f6ecedd419
4730: 64 62 30 36 63 31 2c 2c 2c 0a 52 46 43 36 32 33  db06c1,,,.RFC623
4740: 34 2d 4d 44 2d 53 48 41 32 35 36 2c 54 43 33 2c  4-MD-SHA256,TC3,
4750: 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ,,"::tls::md -di
4760: 67 65 73 74 20 73 68 61 32 35 36 20 2d 64 61 74  gest sha256 -dat
4770: 61 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74  a [string repeat
4780: 20 22 22 61 22 22 20 31 30 30 30 30 30 30 5d 22   ""a"" 1000000]"
4790: 2c 2c 2c 63 64 63 37 36 65 35 63 39 39 31 34 66  ,,,cdc76e5c9914f
47a0: 62 39 32 38 31 61 31 63 37 65 32 38 34 64 37 33  b9281a1c7e284d73
47b0: 65 36 37 66 31 38 30 39 61 34 38 61 34 39 37 32  e67f1809a48a4972
47c0: 30 30 65 30 34 36 64 33 39 63 63 63 37 31 31 32  00e046d39ccc7112
47d0: 63 64 30 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d  cd0,,,.RFC6234-M
47e0: 44 2d 53 48 41 32 35 36 2c 54 43 34 2c 2c 2c 22  D-SHA256,TC4,,,"
47f0: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
4800: 74 20 73 68 61 32 35 36 20 2d 64 61 74 61 20 5b  t sha256 -data [
4810: 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22  string repeat ""
4820: 30 31 32 33 34 35 36 37 22 22 20 38 30 5d 22 2c  01234567"" 80]",
4830: 2c 2c 35 39 34 38 34 37 33 32 38 34 35 31 62 64  ,,594847328451bd
4840: 66 61 38 35 30 35 36 32 32 35 34 36 32 63 63 31  fa85056225462cc1
4850: 64 38 36 37 64 38 37 37 66 62 33 38 38 64 66 30  d867d877fb388df0
4860: 63 65 33 35 66 32 35 61 62 35 35 36 32 62 66 62  ce35f25ab5562bfb
4870: 62 35 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44  b5,,,.RFC6234-MD
4880: 2d 53 48 41 32 35 36 2c 54 43 36 2c 2c 2c 22 3a  -SHA256,TC6,,,":
4890: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
48a0: 20 73 68 61 32 35 36 20 2d 64 61 74 61 20 22 22   sha256 -data ""
48b0: 5c 78 31 39 22 22 22 2c 2c 2c 36 38 61 61 32 65  \x19""",,,68aa2e
48c0: 32 65 65 35 64 66 66 39 36 65 33 33 35 35 65 36  2ee5dff96e3355e6
48d0: 63 37 65 65 33 37 33 65 33 64 36 61 34 65 31 37  c7ee373e3d6a4e17
48e0: 66 37 35 66 39 35 31 38 64 38 34 33 37 30 39 63  f75f9518d843709c
48f0: 30 63 39 62 63 33 65 33 64 34 2c 2c 2c 0a 52 46  0c9bc3e3d4,,,.RF
4900: 43 36 32 33 34 2d 4d 44 2d 53 48 41 32 35 36 2c  C6234-MD-SHA256,
4910: 54 43 38 5f 32 35 36 2c 2c 2c 22 3a 3a 74 6c 73  TC8_256,,,"::tls
4920: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
4930: 32 35 36 20 2d 64 61 74 61 20 22 22 5c 78 65 33  256 -data ""\xe3
4940: 5c 78 64 37 5c 78 32 35 5c 78 37 30 5c 78 64 63  \xd7\x25\x70\xdc
4950: 5c 78 64 64 5c 78 37 38 5c 78 37 63 5c 78 65 33  \xdd\x78\x7c\xe3
4960: 5c 78 38 38 5c 78 37 61 5c 78 62 32 5c 78 63 64  \x88\x7a\xb2\xcd
4970: 5c 78 36 38 5c 78 34 36 5c 78 35 32 22 22 22 2c  \x68\x46\x52""",
4980: 2c 2c 31 37 35 65 65 36 39 62 30 32 62 61 39 62  ,,175ee69b02ba9b
4990: 35 38 65 32 62 30 61 35 66 64 31 33 38 31 39 63  58e2b0a5fd13819c
49a0: 65 61 35 37 33 66 33 39 34 30 61 39 34 66 38 32  ea573f3940a94f82
49b0: 35 31 32 38 63 66 34 32 30 39 62 65 61 62 62 34  5128cf4209beabb4
49c0: 65 38 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44  e8,,,.RFC6234-MD
49d0: 2d 53 48 41 32 35 36 2c 54 43 31 30 5f 32 35 36  -SHA256,TC10_256
49e0: 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  ,,,"::tls::md -d
49f0: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 64 61  igest sha256 -da
4a00: 74 61 20 22 22 5c 78 38 33 5c 78 32 36 5c 78 37  ta ""\x83\x26\x7
4a10: 35 5c 78 34 65 5c 78 32 32 5c 78 37 37 5c 78 33  5\x4e\x22\x77\x3
4a20: 37 5c 78 32 66 5c 78 34 66 5c 78 63 31 5c 78 32  7\x2f\x4f\xc1\x2
4a30: 62 5c 78 32 30 5c 78 35 32 5c 78 37 61 5c 78 66  b\x20\x52\x7a\xf
4a40: 65 5c 78 66 30 5c 78 34 64 5c 78 38 61 5c 78 30  e\xf0\x4d\x8a\x0
4a50: 35 5c 78 36 39 5c 78 37 31 5c 78 62 31 5c 78 31  5\x69\x71\xb1\x1
4a60: 61 5c 78 64 35 5c 78 37 31 5c 78 32 33 5c 78 61  a\xd5\x71\x23\xa
4a70: 37 5c 78 63 31 5c 78 33 37 5c 78 37 36 5c 78 30  7\xc1\x37\x76\x0
4a80: 30 5c 78 30 30 5c 78 64 37 5c 78 62 65 5c 78 66  0\x00\xd7\xbe\xf
4a90: 36 5c 78 66 33 5c 78 63 31 5c 78 66 37 5c 78 61  6\xf3\xc1\xf7\xa
4aa0: 39 5c 78 30 38 5c 78 33 61 5c 78 61 33 5c 78 39  9\x08\x3a\xa3\x9
4ab0: 64 5c 78 38 31 5c 78 30 64 5c 78 62 33 5c 78 31  d\x81\x0d\xb3\x1
4ac0: 30 5c 78 37 37 5c 78 37 64 5c 78 61 62 5c 78 38  0\x77\x7d\xab\x8
4ad0: 62 5c 78 31 65 5c 78 37 66 5c 78 30 32 5c 78 62  b\x1e\x7f\x02\xb
4ae0: 38 5c 78 34 61 5c 78 32 36 5c 78 63 37 5c 78 37  8\x4a\x26\xc7\x7
4af0: 33 5c 78 33 32 5c 78 35 66 5c 78 38 62 5c 78 32  3\x32\x5f\x8b\x2
4b00: 33 5c 78 37 34 5c 78 64 65 5c 78 37 61 5c 78 34  3\x74\xde\x7a\x4
4b10: 62 5c 78 35 61 5c 78 35 38 5c 78 63 62 5c 78 35  b\x5a\x58\xcb\x5
4b20: 63 5c 78 35 63 5c 78 66 33 5c 78 35 62 5c 78 63  c\x5c\xf3\x5b\xc
4b30: 65 5c 78 65 36 5c 78 66 62 5c 78 39 34 5c 78 36  e\xe6\xfb\x94\x6
4b40: 65 5c 78 35 62 5c 78 64 36 5c 78 39 34 5c 78 66  e\x5b\xd6\x94\xf
4b50: 61 5c 78 35 39 5c 78 33 61 5c 78 38 62 5c 78 65  a\x59\x3a\x8b\xe
4b60: 62 5c 78 33 66 5c 78 39 64 5c 78 36 35 5c 78 39  b\x3f\x9d\x65\x9
4b70: 32 5c 78 65 63 5c 78 65 64 5c 78 61 61 5c 78 36  2\xec\xed\xaa\x6
4b80: 36 5c 78 63 61 5c 78 38 32 5c 78 61 32 5c 78 39  6\xca\x82\xa2\x9
4b90: 64 5c 78 30 63 5c 78 35 31 5c 78 62 63 5c 78 66  d\x0c\x51\xbc\xf
4ba0: 39 5c 78 33 33 5c 78 36 32 5c 78 33 30 5c 78 65  9\x33\x62\x30\xe
4bb0: 35 5c 78 64 37 5c 78 38 34 5c 78 65 34 5c 78 63  5\xd7\x84\xe4\xc
4bc0: 30 5c 78 61 34 5c 78 33 66 5c 78 38 64 5c 78 37  0\xa4\x3f\x8d\x7
4bd0: 39 5c 78 61 33 5c 78 30 61 5c 78 31 36 5c 78 35  9\xa3\x0a\x16\x5
4be0: 63 5c 78 62 61 5c 78 62 65 5c 78 34 35 5c 78 32  c\xba\xbe\x45\x2
4bf0: 62 5c 78 37 37 5c 78 34 62 5c 78 39 63 5c 78 37  b\x77\x4b\x9c\x7
4c00: 31 5c 78 30 39 5c 78 61 39 5c 78 37 64 5c 78 31  1\x09\xa9\x7d\x1
4c10: 33 5c 78 38 66 5c 78 31 32 5c 78 39 32 5c 78 32  3\x8f\x12\x92\x2
4c20: 38 5c 78 39 36 5c 78 36 66 5c 78 36 63 5c 78 30  8\x96\x6f\x6c\x0
4c30: 61 5c 78 64 63 5c 78 31 30 5c 78 36 61 5c 78 61  a\xdc\x10\x6a\xa
4c40: 64 5c 78 35 61 5c 78 39 66 5c 78 64 64 5c 78 33  d\x5a\x9f\xdd\x3
4c50: 30 5c 78 38 32 5c 78 35 37 5c 78 36 39 5c 78 62  0\x82\x57\x69\xb
4c60: 32 5c 78 63 36 5c 78 37 31 5c 78 61 66 5c 78 36  2\xc6\x71\xaf\x6
4c70: 37 5c 78 35 39 5c 78 64 66 5c 78 32 38 5c 78 65  7\x59\xdf\x28\xe
4c80: 62 5c 78 33 39 5c 78 33 64 5c 78 35 34 5c 78 64  b\x39\x3d\x54\xd
4c90: 36 22 22 22 2c 2c 2c 39 37 64 62 63 61 37 64 66  6""",,,97dbca7df
4ca0: 34 36 64 36 32 63 38 61 34 32 32 63 39 34 31 64  46d62c8a422c941d
4cb0: 64 37 65 38 33 35 62 38 61 64 33 33 36 31 37 36  d7e835b8ad336176
4cc0: 33 66 37 65 39 62 32 64 39 35 66 34 66 30 64 61  3f7e9b2d95f4f0da
4cd0: 36 65 31 63 63 62 63 2c 2c 2c 0a 2c 2c 2c 2c 2c  6e1ccbc,,,.,,,,,
4ce0: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
4cf0: 52 46 43 20 34 32 33 31 20 48 4d 41 43 20 45 78  RFC 4231 HMAC Ex
4d00: 61 6d 70 6c 65 73 20 54 65 73 74 20 43 61 73 65  amples Test Case
4d10: 20 23 31 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d   #1,,,,,,,,,.com
4d20: 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62  mand,"set key [b
4d30: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
4d40: 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20   [string repeat 
4d50: 22 22 30 62 22 22 20 32 30 5d 5d 22 2c 2c 2c 2c  ""0b"" 20]]",,,,
4d60: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
4d70: 65 74 20 64 61 74 61 20 22 22 48 69 20 54 68 65  et data ""Hi The
4d80: 72 65 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52  re""",,,,,,,,,.R
4d90: 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 31 2c  FC4231 HMAC TC1,
4da0: 73 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha224,,,::tls::
4db0: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61  hmac -digest sha
4dc0: 32 32 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  224 -key $key -d
4dd0: 61 74 61 20 24 64 61 74 61 2c 2c 2c 38 39 36 66  ata $data,,,896f
4de0: 62 31 31 32 38 61 62 62 64 66 31 39 36 38 33 32  b1128abbdf196832
4df0: 31 30 37 63 64 34 39 64 66 33 33 66 34 37 62 34  107cd49df33f47b4
4e00: 62 31 31 36 39 39 31 32 62 61 34 66 35 33 36 38  b1169912ba4f5368
4e10: 34 62 32 32 2c 2c 2c 0a 52 46 43 34 32 33 31 20  4b22,,,.RFC4231 
4e20: 48 4d 41 43 20 54 43 31 2c 73 68 61 32 35 36 2c  HMAC TC1,sha256,
4e30: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
4e40: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65  igest sha256 -ke
4e50: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
4e60: 74 61 2c 2c 2c 62 30 33 34 34 63 36 31 64 38 64  ta,,,b0344c61d8d
4e70: 62 33 38 35 33 35 63 61 38 61 66 63 65 61 66 30  b38535ca8afceaf0
4e80: 62 66 31 32 62 38 38 31 64 63 32 30 30 63 39 38  bf12b881dc200c98
4e90: 33 33 64 61 37 32 36 65 39 33 37 36 63 32 65 33  33da726e9376c2e3
4ea0: 32 63 66 66 37 2c 2c 2c 0a 52 46 43 34 32 33 31  2cff7,,,.RFC4231
4eb0: 20 48 4d 41 43 20 54 43 31 2c 73 68 61 33 38 34   HMAC TC1,sha384
4ec0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
4ed0: 64 69 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b  digest sha384 -k
4ee0: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
4ef0: 61 74 61 2c 2c 2c 61 66 64 30 33 39 34 34 64 38  ata,,,afd03944d8
4f00: 34 38 39 35 36 32 36 62 30 38 32 35 66 34 61 62  4895626b0825f4ab
4f10: 34 36 39 30 37 66 31 35 66 39 64 61 64 62 65 34  46907f15f9dadbe4
4f20: 31 30 31 65 63 36 38 32 61 61 30 33 34 63 37 63  101ec682aa034c7c
4f30: 65 62 63 35 39 63 66 61 65 61 39 65 61 39 30 37  ebc59cfaea9ea907
4f40: 36 65 64 65 37 66 34 61 66 31 35 32 65 38 62 32  6ede7f4af152e8b2
4f50: 66 61 39 63 62 36 2c 2c 2c 0a 52 46 43 34 32 33  fa9cb6,,,.RFC423
4f60: 31 20 48 4d 41 43 20 54 43 31 2c 73 68 61 35 31  1 HMAC TC1,sha51
4f70: 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  2,,,::tls::hmac 
4f80: 2d 64 69 67 65 73 74 20 73 68 61 35 31 32 20 2d  -digest sha512 -
4f90: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
4fa0: 64 61 74 61 2c 2c 2c 38 37 61 61 37 63 64 65 61  data,,,87aa7cdea
4fb0: 35 65 66 36 31 39 64 34 66 66 30 62 34 32 34 31  5ef619d4ff0b4241
4fc0: 61 31 64 36 63 62 30 32 33 37 39 66 34 65 32 63  a1d6cb02379f4e2c
4fd0: 65 34 65 63 32 37 38 37 61 64 30 62 33 30 35 34  e4ec2787ad0b3054
4fe0: 35 65 31 37 63 64 65 64 61 61 38 33 33 62 37 64  5e17cdedaa833b7d
4ff0: 36 62 38 61 37 30 32 30 33 38 62 32 37 34 65 61  6b8a702038b274ea
5000: 65 61 33 66 34 65 34 62 65 39 64 39 31 34 65 65  ea3f4e4be9d914ee
5010: 62 36 31 66 31 37 30 32 65 36 39 36 63 32 30 33  b61f1702e696c203
5020: 61 31 32 36 38 35 34 2c 2c 2c 0a 2c 2c 2c 2c 2c  a126854,,,.,,,,,
5030: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
5040: 52 46 43 20 34 32 33 31 20 48 4d 41 43 20 45 78  RFC 4231 HMAC Ex
5050: 61 6d 70 6c 65 73 20 54 65 73 74 20 43 61 73 65  amples Test Case
5060: 20 23 32 20 2d 20 54 65 73 74 20 77 69 74 68 20   #2 - Test with 
5070: 61 20 6b 65 79 20 73 68 6f 72 74 65 72 20 74 68  a key shorter th
5080: 61 6e 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66  an the length of
5090: 20 74 68 65 20 48 4d 41 43 20 6f 75 74 70 75 74   the HMAC output
50a0: 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  .,,,,,,,,,.comma
50b0: 6e 64 2c 22 73 65 74 20 6b 65 79 20 22 22 4a 65  nd,"set key ""Je
50c0: 66 65 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  fe""",,,,,,,,,.c
50d0: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61  ommand,"set data
50e0: 20 22 22 77 68 61 74 20 64 6f 20 79 61 20 77 61   ""what do ya wa
50f0: 6e 74 20 66 6f 72 20 6e 6f 74 68 69 6e 67 3f 22  nt for nothing?"
5100: 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34  "",,,,,,,,,.RFC4
5110: 32 33 31 20 48 4d 41 43 20 54 43 32 2c 73 68 61  231 HMAC TC2,sha
5120: 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61  224,,,::tls::hma
5130: 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32 34  c -digest sha224
5140: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
5150: 20 24 64 61 74 61 2c 2c 2c 61 33 30 65 30 31 30   $data,,,a30e010
5160: 39 38 62 63 36 64 62 62 66 34 35 36 39 30 66 33  98bc6dbbf45690f3
5170: 61 37 65 39 65 36 64 30 66 38 62 62 65 61 32 61  a7e9e6d0f8bbea2a
5180: 33 39 65 36 31 34 38 30 30 38 66 64 30 35 65 34  39e6148008fd05e4
5190: 34 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  4,,,.RFC4231 HMA
51a0: 43 20 54 43 32 2c 73 68 61 32 35 36 2c 2c 2c 3a  C TC2,sha256,,,:
51b0: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
51c0: 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24  st sha256 -key $
51d0: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
51e0: 2c 2c 35 62 64 63 63 31 34 36 62 66 36 30 37 35  ,,5bdcc146bf6075
51f0: 34 65 36 61 30 34 32 34 32 36 30 38 39 35 37 35  4e6a042426089575
5200: 63 37 35 61 30 30 33 66 30 38 39 64 32 37 33 39  c75a003f089d2739
5210: 38 33 39 64 65 63 35 38 62 39 36 34 65 63 33 38  839dec58b964ec38
5220: 34 33 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d  43,,,.RFC4231 HM
5230: 41 43 20 54 43 32 2c 73 68 61 33 38 34 2c 2c 2c  AC TC2,sha384,,,
5240: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
5250: 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65 79 20  est sha384 -key 
5260: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
5270: 2c 2c 2c 61 66 34 35 64 32 65 33 37 36 34 38 34  ,,,af45d2e376484
5280: 30 33 31 36 31 37 66 37 38 64 32 62 35 38 61 36  031617f78d2b58a6
5290: 62 31 62 39 63 37 65 66 34 36 34 66 35 61 30 31  b1b9c7ef464f5a01
52a0: 62 34 37 65 34 32 65 63 33 37 33 36 33 32 32 34  b47e42ec37363224
52b0: 34 35 65 38 65 32 32 34 30 63 61 35 65 36 39 65  45e8e2240ca5e69e
52c0: 32 63 37 38 62 33 32 33 39 65 63 66 61 62 32 31  2c78b3239ecfab21
52d0: 36 34 39 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48  649,,,.RFC4231 H
52e0: 4d 41 43 20 54 43 32 2c 73 68 61 35 31 32 2c 2c  MAC TC2,sha512,,
52f0: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
5300: 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79  gest sha512 -key
5310: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
5320: 61 2c 2c 2c 31 36 34 62 37 61 37 62 66 63 66 38  a,,,164b7a7bfcf8
5330: 31 39 65 32 65 33 39 35 66 62 65 37 33 62 35 36  19e2e395fbe73b56
5340: 65 30 61 33 38 37 62 64 36 34 32 32 32 65 38 33  e0a387bd64222e83
5350: 31 66 64 36 31 30 32 37 30 63 64 37 65 61 32 35  1fd610270cd7ea25
5360: 30 35 35 34 39 37 35 38 62 66 37 35 63 30 35 61  05549758bf75c05a
5370: 39 39 34 61 36 64 30 33 34 66 36 35 66 38 66 30  994a6d034f65f8f0
5380: 65 36 66 64 63 61 65 61 62 31 61 33 34 64 34 61  e6fdcaeab1a34d4a
5390: 36 62 34 62 36 33 36 65 30 37 30 61 33 38 62 63  6b4b636e070a38bc
53a0: 65 37 33 37 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  e737,,,.,,,,,,,,
53b0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43  ,,.command,# RFC
53c0: 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70   4231 HMAC Examp
53d0: 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 23 33  les Test Case #3
53e0: 20 2d 20 54 65 73 74 20 77 69 74 68 20 61 20 63   - Test with a c
53f0: 6f 6d 62 69 6e 65 64 20 6c 65 6e 67 74 68 20 6f  ombined length o
5400: 66 20 6b 65 79 20 61 6e 64 20 64 61 74 61 20 74  f key and data t
5410: 68 61 74 20 69 73 20 6c 61 72 67 65 72 20 74 68  hat is larger th
5420: 61 6e 20 36 34 20 62 79 74 65 73 20 28 3d 20 62  an 64 bytes (= b
5430: 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20 53 48 41  lock-size of SHA
5440: 2d 32 32 34 20 61 6e 64 20 53 48 41 2d 32 35 36  -224 and SHA-256
5450: 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  ).,,,,,,,,,.comm
5460: 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 69  and,"set key [bi
5470: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
5480: 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22  [string repeat "
5490: 22 61 61 22 22 20 32 30 5d 5d 22 2c 2c 2c 2c 2c  "aa"" 20]]",,,,,
54a0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65  ,,,,.command,"se
54b0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
54c0: 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72 69 6e  ecode hex [strin
54d0: 67 20 72 65 70 65 61 74 20 22 22 64 64 22 22 20  g repeat ""dd"" 
54e0: 35 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52  50]]",,,,,,,,,.R
54f0: 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 33 2c  FC4231 HMAC TC3,
5500: 73 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha224,,,::tls::
5510: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61  hmac -digest sha
5520: 32 32 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  224 -key $key -d
5530: 61 74 61 20 24 64 61 74 61 2c 2c 2c 37 66 62 33  ata $data,,,7fb3
5540: 63 62 33 35 38 38 63 36 63 31 66 36 66 66 61 39  cb3588c6c1f6ffa9
5550: 36 39 34 64 37 64 36 61 64 32 36 34 39 33 36 35  694d7d6ad2649365
5560: 62 30 63 31 66 36 35 64 36 39 64 31 65 63 38 33  b0c1f65d69d1ec83
5570: 33 33 65 61 2c 2c 2c 0a 52 46 43 34 32 33 31 20  33ea,,,.RFC4231 
5580: 48 4d 41 43 20 54 43 33 2c 73 68 61 32 35 36 2c  HMAC TC3,sha256,
5590: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
55a0: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65  igest sha256 -ke
55b0: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
55c0: 74 61 2c 2c 2c 37 37 33 65 61 39 31 65 33 36 38  ta,,,773ea91e368
55d0: 30 30 65 34 36 38 35 34 64 62 38 65 62 64 30 39  00e46854db8ebd09
55e0: 31 38 31 61 37 32 39 35 39 30 39 38 62 33 65 66  181a72959098b3ef
55f0: 38 63 31 32 32 64 39 36 33 35 35 31 34 63 65 64  8c122d9635514ced
5600: 35 36 35 66 65 2c 2c 2c 0a 52 46 43 34 32 33 31  565fe,,,.RFC4231
5610: 20 48 4d 41 43 20 54 43 33 2c 73 68 61 33 38 34   HMAC TC3,sha384
5620: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
5630: 64 69 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b  digest sha384 -k
5640: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
5650: 61 74 61 2c 2c 2c 38 38 30 36 32 36 30 38 64 33  ata,,,88062608d3
5660: 65 36 61 64 38 61 30 61 61 32 61 63 65 30 31 34  e6ad8a0aa2ace014
5670: 63 38 61 38 36 66 30 61 61 36 33 35 64 39 34 37  c8a86f0aa635d947
5680: 61 63 39 66 65 62 65 38 33 65 66 34 65 35 35 39  ac9febe83ef4e559
5690: 36 36 31 34 34 62 32 61 35 61 62 33 39 64 63 31  66144b2a5ab39dc1
56a0: 33 38 31 34 62 39 34 65 33 61 62 36 65 31 30 31  3814b94e3ab6e101
56b0: 61 33 34 66 32 37 2c 2c 2c 0a 52 46 43 34 32 33  a34f27,,,.RFC423
56c0: 31 20 48 4d 41 43 20 54 43 33 2c 73 68 61 35 31  1 HMAC TC3,sha51
56d0: 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  2,,,::tls::hmac 
56e0: 2d 64 69 67 65 73 74 20 73 68 61 35 31 32 20 2d  -digest sha512 -
56f0: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
5700: 64 61 74 61 2c 2c 2c 66 61 37 33 62 30 30 38 39  data,,,fa73b0089
5710: 64 35 36 61 32 38 34 65 66 62 30 66 30 37 35 36  d56a284efb0f0756
5720: 63 38 39 30 62 65 39 62 31 62 35 64 62 64 64 38  c890be9b1b5dbdd8
5730: 65 65 38 31 61 33 36 35 35 66 38 33 65 33 33 62  ee81a3655f83e33b
5740: 32 32 37 39 64 33 39 62 66 33 65 38 34 38 32 37  2279d39bf3e84827
5750: 39 61 37 32 32 63 38 30 36 62 34 38 35 61 34 37  9a722c806b485a47
5760: 65 36 37 63 38 30 37 62 39 34 36 61 33 33 37 62  e67c807b946a337b
5770: 65 65 38 39 34 32 36 37 34 32 37 38 38 35 39 65  ee8942674278859e
5780: 31 33 32 39 32 66 62 2c 2c 2c 0a 2c 2c 2c 2c 2c  13292fb,,,.,,,,,
5790: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
57a0: 52 46 43 20 34 32 33 31 20 48 4d 41 43 20 45 78  RFC 4231 HMAC Ex
57b0: 61 6d 70 6c 65 73 20 54 65 73 74 20 43 61 73 65  amples Test Case
57c0: 20 23 34 20 2d 20 54 65 73 74 20 77 69 74 68 20   #4 - Test with 
57d0: 61 20 63 6f 6d 62 69 6e 65 64 20 6c 65 6e 67 74  a combined lengt
57e0: 68 20 6f 66 20 6b 65 79 20 61 6e 64 20 64 61 74  h of key and dat
57f0: 61 20 74 68 61 74 20 69 73 20 6c 61 72 67 65 72  a that is larger
5800: 20 74 68 61 6e 20 36 34 20 62 79 74 65 73 20 28   than 64 bytes (
5810: 3d 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20  = block-size of 
5820: 53 48 41 2d 32 32 34 20 61 6e 64 20 53 48 41 2d  SHA-224 and SHA-
5830: 32 35 36 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  256).,,,,,,,,,.c
5840: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20  ommand,"set key 
5850: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
5860: 65 78 20 22 22 30 31 30 32 30 33 30 34 30 35 30  ex ""01020304050
5870: 36 30 37 30 38 30 39 30 61 30 62 30 63 30 64 30  60708090a0b0c0d0
5880: 65 30 66 31 30 31 31 31 32 31 33 31 34 31 35 31  e0f1011121314151
5890: 36 31 37 31 38 31 39 22 22 5d 22 2c 2c 2c 2c 2c  6171819""]",,,,,
58a0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65  ,,,,.command,"se
58b0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
58c0: 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72 69 6e  ecode hex [strin
58d0: 67 20 72 65 70 65 61 74 20 22 22 63 64 22 22 20  g repeat ""cd"" 
58e0: 35 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52  50]]",,,,,,,,,.R
58f0: 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 34 2c  FC4231 HMAC TC4,
5900: 73 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha224,,,::tls::
5910: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61  hmac -digest sha
5920: 32 32 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  224 -key $key -d
5930: 61 74 61 20 24 64 61 74 61 2c 2c 2c 36 63 31 31  ata $data,,,6c11
5940: 35 30 36 38 37 34 30 31 33 63 61 63 36 61 32 61  506874013cac6a2a
5950: 62 63 31 62 62 33 38 32 36 32 37 63 65 63 36 61  bc1bb382627cec6a
5960: 39 30 64 38 36 65 66 63 30 31 32 64 65 37 61 66  90d86efc012de7af
5970: 65 63 35 61 2c 2c 2c 0a 52 46 43 34 32 33 31 20  ec5a,,,.RFC4231 
5980: 48 4d 41 43 20 54 43 34 2c 73 68 61 32 35 36 2c  HMAC TC4,sha256,
5990: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
59a0: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65  igest sha256 -ke
59b0: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
59c0: 74 61 2c 2c 2c 38 32 35 35 38 61 33 38 39 61 34  ta,,,82558a389a4
59d0: 34 33 63 30 65 61 34 63 63 38 31 39 38 39 39 66  43c0ea4cc819899f
59e0: 32 30 38 33 61 38 35 66 30 66 61 61 33 65 35 37  2083a85f0faa3e57
59f0: 38 66 38 30 37 37 61 32 65 33 66 66 34 36 37 32  8f8077a2e3ff4672
5a00: 39 36 36 35 62 2c 2c 2c 0a 52 46 43 34 32 33 31  9665b,,,.RFC4231
5a10: 20 48 4d 41 43 20 54 43 34 2c 73 68 61 33 38 34   HMAC TC4,sha384
5a20: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
5a30: 64 69 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b  digest sha384 -k
5a40: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
5a50: 61 74 61 2c 2c 2c 33 65 38 61 36 39 62 37 37 38  ata,,,3e8a69b778
5a60: 33 63 32 35 38 35 31 39 33 33 61 62 36 32 39 30  3c25851933ab6290
5a70: 61 66 36 63 61 37 37 61 39 39 38 31 34 38 30 38  af6ca77a99814808
5a80: 35 30 30 30 39 63 63 35 35 37 37 63 36 65 31 66  50009cc5577c6e1f
5a90: 35 37 33 62 34 65 36 38 30 31 64 64 32 33 63 34  573b4e6801dd23c4
5aa0: 61 37 64 36 37 39 63 63 66 38 61 33 38 36 63 36  a7d679ccf8a386c6
5ab0: 37 34 63 66 66 62 2c 2c 2c 0a 52 46 43 34 32 33  74cffb,,,.RFC423
5ac0: 31 20 48 4d 41 43 20 54 43 34 2c 73 68 61 35 31  1 HMAC TC4,sha51
5ad0: 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  2,,,::tls::hmac 
5ae0: 2d 64 69 67 65 73 74 20 73 68 61 35 31 32 20 2d  -digest sha512 -
5af0: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
5b00: 64 61 74 61 2c 2c 2c 62 30 62 61 34 36 35 36 33  data,,,b0ba46563
5b10: 37 34 35 38 63 36 39 39 30 65 35 61 38 63 35 66  7458c6990e5a8c5f
5b20: 36 31 64 34 61 66 37 65 35 37 36 64 39 37 66 66  61d4af7e576d97ff
5b30: 39 34 62 38 37 32 64 65 37 36 66 38 30 35 30 33  94b872de76f80503
5b40: 36 31 65 65 33 64 62 61 39 31 63 61 35 63 31 31  61ee3dba91ca5c11
5b50: 61 61 32 35 65 62 34 64 36 37 39 32 37 35 63 63  aa25eb4d679275cc
5b60: 35 37 38 38 30 36 33 61 35 66 31 39 37 34 31 31  5788063a5f197411
5b70: 32 30 63 34 66 32 64 65 32 61 64 65 62 65 62 31  20c4f2de2adebeb1
5b80: 30 61 32 39 38 64 64 2c 2c 2c 0a 2c 2c 2c 2c 2c  0a298dd,,,.,,,,,
5b90: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
5ba0: 52 46 43 20 34 32 33 31 20 48 4d 41 43 20 45 78  RFC 4231 HMAC Ex
5bb0: 61 6d 70 6c 65 73 20 54 65 73 74 20 43 61 73 65  amples Test Case
5bc0: 20 23 35 20 2d 20 54 65 73 74 20 77 69 74 68 20   #5 - Test with 
5bd0: 61 20 74 72 75 6e 63 61 74 69 6f 6e 20 6f 66 20  a truncation of 
5be0: 6f 75 74 70 75 74 20 74 6f 20 31 32 38 20 62 69  output to 128 bi
5bf0: 74 73 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  ts.,,,,,,,,,.com
5c00: 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62  mand,"set key [b
5c10: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
5c20: 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20   [string repeat 
5c30: 22 22 30 63 22 22 20 32 30 5d 5d 22 2c 2c 2c 2c  ""0c"" 20]]",,,,
5c40: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
5c50: 65 74 20 64 61 74 61 20 22 22 54 65 73 74 20 57  et data ""Test W
5c60: 69 74 68 20 54 72 75 6e 63 61 74 69 6f 6e 22 22  ith Truncation""
5c70: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32  ",,,,,,,,,.RFC42
5c80: 33 31 20 48 4d 41 43 20 54 43 35 2c 73 68 61 32  31 HMAC TC5,sha2
5c90: 32 34 2c 2c 2c 73 74 72 69 6e 67 20 72 61 6e 67  24,,,string rang
5ca0: 65 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  e [::tls::hmac -
5cb0: 64 69 67 65 73 74 20 73 68 61 32 32 34 20 2d 6b  digest sha224 -k
5cc0: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
5cd0: 61 74 61 5d 20 30 20 33 31 2c 2c 2c 30 65 32 61  ata] 0 31,,,0e2a
5ce0: 65 61 36 38 61 39 30 63 38 64 33 37 63 39 38 38  ea68a90c8d37c988
5cf0: 62 63 64 62 39 66 63 61 36 66 61 38 2c 2c 2c 0a  bcdb9fca6fa8,,,.
5d00: 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 35  RFC4231 HMAC TC5
5d10: 2c 73 68 61 32 35 36 2c 2c 2c 73 74 72 69 6e 67  ,sha256,,,string
5d20: 20 72 61 6e 67 65 20 5b 3a 3a 74 6c 73 3a 3a 68   range [::tls::h
5d30: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32  mac -digest sha2
5d40: 35 36 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  56 -key $key -da
5d50: 74 61 20 24 64 61 74 61 5d 20 30 20 33 31 2c 2c  ta $data] 0 31,,
5d60: 2c 61 33 62 36 31 36 37 34 37 33 31 30 30 65 65  ,a3b6167473100ee
5d70: 30 36 65 30 63 37 39 36 63 32 39 35 35 35 35 32  06e0c796c2955552
5d80: 62 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  b,,,.RFC4231 HMA
5d90: 43 20 54 43 35 2c 73 68 61 33 38 34 2c 2c 2c 73  C TC5,sha384,,,s
5da0: 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 3a 3a 74  tring range [::t
5db0: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
5dc0: 20 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b 65   sha384 -key $ke
5dd0: 79 20 2d 64 61 74 61 20 24 64 61 74 61 5d 20 30  y -data $data] 0
5de0: 20 33 31 2c 2c 2c 33 61 62 66 33 34 63 33 35 30   31,,,3abf34c350
5df0: 33 62 32 61 32 33 61 34 36 65 66 63 36 31 39 62  3b2a23a46efc619b
5e00: 61 65 66 38 39 37 2c 2c 2c 0a 52 46 43 34 32 33  aef897,,,.RFC423
5e10: 31 20 48 4d 41 43 20 54 43 35 2c 73 68 61 35 31  1 HMAC TC5,sha51
5e20: 32 2c 2c 2c 73 74 72 69 6e 67 20 72 61 6e 67 65  2,,,string range
5e30: 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64   [::tls::hmac -d
5e40: 69 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65  igest sha512 -ke
5e50: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
5e60: 74 61 5d 20 30 20 33 31 2c 2c 2c 34 31 35 66 61  ta] 0 31,,,415fa
5e70: 64 36 32 37 31 35 38 30 61 35 33 31 64 34 31 37  d6271580a531d417
5e80: 39 62 63 38 39 31 64 38 37 61 36 2c 2c 2c 0a 2c  9bc891d87a6,,,.,
5e90: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
5ea0: 64 2c 23 20 52 46 43 20 34 32 33 31 20 48 4d 41  d,# RFC 4231 HMA
5eb0: 43 20 45 78 61 6d 70 6c 65 73 20 54 65 73 74 20  C Examples Test 
5ec0: 43 61 73 65 20 23 36 20 2d 20 54 65 73 74 20 77  Case #6 - Test w
5ed0: 69 74 68 20 61 20 6b 65 79 20 6c 61 72 67 65 72  ith a key larger
5ee0: 20 74 68 61 6e 20 31 32 38 20 62 79 74 65 73 20   than 128 bytes 
5ef0: 28 3d 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66  (= block-size of
5f00: 20 53 48 41 2d 33 38 34 20 61 6e 64 20 53 48 41   SHA-384 and SHA
5f10: 2d 35 31 32 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  -512).,,,,,,,,,.
5f20: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79  command,"set key
5f30: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
5f40: 68 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70 65  hex [string repe
5f50: 61 74 20 22 22 61 61 22 22 20 31 33 31 5d 5d 22  at ""aa"" 131]]"
5f60: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
5f70: 64 2c 22 73 65 74 20 64 61 74 61 20 22 22 54 65  d,"set data ""Te
5f80: 73 74 20 55 73 69 6e 67 20 4c 61 72 67 65 72 20  st Using Larger 
5f90: 54 68 61 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65 20  Than Block-Size 
5fa0: 4b 65 79 20 2d 20 48 61 73 68 20 4b 65 79 20 46  Key - Hash Key F
5fb0: 69 72 73 74 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c  irst""",,,,,,,,,
5fc0: 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43  .RFC4231 HMAC TC
5fd0: 36 2c 73 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73  6,sha224,,,::tls
5fe0: 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73  ::hmac -digest s
5ff0: 68 61 32 32 34 20 2d 6b 65 79 20 24 6b 65 79 20  ha224 -key $key 
6000: 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 39 35  -data $data,,,95
6010: 65 39 61 30 64 62 39 36 32 30 39 35 61 64 61 65  e9a0db962095adae
6020: 62 65 39 62 32 64 36 66 30 64 62 63 65 32 64 34  be9b2d6f0dbce2d4
6030: 39 39 66 31 31 32 66 32 64 32 62 37 32 37 33 66  99f112f2d2b7273f
6040: 61 36 38 37 30 65 2c 2c 2c 0a 52 46 43 34 32 33  a6870e,,,.RFC423
6050: 31 20 48 4d 41 43 20 54 43 36 2c 73 68 61 32 35  1 HMAC TC6,sha25
6060: 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  6,,,::tls::hmac 
6070: 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20 2d  -digest sha256 -
6080: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
6090: 64 61 74 61 2c 2c 2c 36 30 65 34 33 31 35 39 31  data,,,60e431591
60a0: 65 65 30 62 36 37 66 30 64 38 61 32 36 61 61 63  ee0b67f0d8a26aac
60b0: 62 66 35 62 37 37 66 38 65 30 62 63 36 32 31 33  bf5b77f8e0bc6213
60c0: 37 32 38 63 35 31 34 30 35 34 36 30 34 30 66 30  728c5140546040f0
60d0: 65 65 33 37 66 35 34 2c 2c 2c 0a 52 46 43 34 32  ee37f54,,,.RFC42
60e0: 33 31 20 48 4d 41 43 20 54 43 36 2c 73 68 61 33  31 HMAC TC6,sha3
60f0: 38 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63  84,,,::tls::hmac
6100: 20 2d 64 69 67 65 73 74 20 73 68 61 33 38 34 20   -digest sha384 
6110: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
6120: 24 64 61 74 61 2c 2c 2c 34 65 63 65 30 38 34 34  $data,,,4ece0844
6130: 38 35 38 31 33 65 39 30 38 38 64 32 63 36 33 61  85813e9088d2c63a
6140: 30 34 31 62 63 35 62 34 34 66 39 65 66 31 30 31  041bc5b44f9ef101
6150: 32 61 32 62 35 38 38 66 33 63 64 31 31 66 30 35  2a2b588f3cd11f05
6160: 30 33 33 61 63 34 63 36 30 63 32 65 66 36 61 62  033ac4c60c2ef6ab
6170: 34 30 33 30 66 65 38 32 39 36 32 34 38 64 66 31  4030fe8296248df1
6180: 36 33 66 34 34 39 35 32 2c 2c 2c 0a 52 46 43 34  63f44952,,,.RFC4
6190: 32 33 31 20 48 4d 41 43 20 54 43 36 2c 73 68 61  231 HMAC TC6,sha
61a0: 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61  512,,,::tls::hma
61b0: 63 20 2d 64 69 67 65 73 74 20 73 68 61 35 31 32  c -digest sha512
61c0: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
61d0: 20 24 64 61 74 61 2c 2c 2c 38 30 62 32 34 32 36   $data,,,80b2426
61e0: 33 63 37 63 31 61 33 65 62 62 37 31 34 39 33 63  3c7c1a3ebb71493c
61f0: 31 64 64 37 62 65 38 62 34 39 62 34 36 64 31 66  1dd7be8b49b46d1f
6200: 34 31 62 34 61 65 65 63 31 31 32 31 62 30 31 33  41b4aeec1121b013
6210: 37 38 33 66 38 66 33 35 32 36 62 35 36 64 30 33  783f8f3526b56d03
6220: 37 65 30 35 66 32 35 39 38 62 64 30 66 64 32 32  7e05f2598bd0fd22
6230: 31 35 64 36 61 31 65 35 32 39 35 65 36 34 66 37  15d6a1e5295e64f7
6240: 33 66 36 33 66 30 61 65 63 38 62 39 31 35 61 39  3f63f0aec8b915a9
6250: 38 35 64 37 38 36 35 39 38 2c 2c 2c 0a 2c 2c 2c  85d786598,,,.,,,
6260: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
6270: 23 20 52 46 43 20 34 32 33 31 20 48 4d 41 43 20  # RFC 4231 HMAC 
6280: 45 78 61 6d 70 6c 65 73 20 54 65 73 74 20 43 61  Examples Test Ca
6290: 73 65 20 23 37 20 2d 20 54 65 73 74 20 77 69 74  se #7 - Test wit
62a0: 68 20 61 20 6b 65 79 20 61 6e 64 20 64 61 74 61  h a key and data
62b0: 20 74 68 61 74 20 69 73 20 6c 61 72 67 65 72 20   that is larger 
62c0: 74 68 61 6e 20 31 32 38 20 62 79 74 65 73 20 28  than 128 bytes (
62d0: 3d 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20  = block-size of 
62e0: 53 48 41 2d 33 38 34 20 61 6e 64 20 53 48 41 2d  SHA-384 and SHA-
62f0: 35 31 32 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  512).,,,,,,,,,.c
6300: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20  ommand,"set key 
6310: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
6320: 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61  ex [string repea
6330: 74 20 22 22 61 61 22 22 20 31 33 31 5d 5d 22 2c  t ""aa"" 131]]",
6340: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
6350: 2c 22 73 65 74 20 64 61 74 61 20 22 22 54 68 69  ,"set data ""Thi
6360: 73 20 69 73 20 61 20 74 65 73 74 20 75 73 69 6e  s is a test usin
6370: 67 20 61 20 6c 61 72 67 65 72 20 74 68 61 6e 20  g a larger than 
6380: 62 6c 6f 63 6b 2d 73 69 7a 65 20 6b 65 79 20 61  block-size key a
6390: 6e 64 20 61 20 6c 61 72 67 65 72 20 74 68 61 6e  nd a larger than
63a0: 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 64 61 74 61   block-size data
63b0: 2e 20 54 68 65 20 6b 65 79 20 6e 65 65 64 73 20  . The key needs 
63c0: 74 6f 20 62 65 20 68 61 73 68 65 64 20 62 65 66  to be hashed bef
63d0: 6f 72 65 20 62 65 69 6e 67 20 75 73 65 64 20 62  ore being used b
63e0: 79 20 74 68 65 20 48 4d 41 43 20 61 6c 67 6f 72  y the HMAC algor
63f0: 69 74 68 6d 2e 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c  ithm.""",,,,,,,,
6400: 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54  ,.RFC4231 HMAC T
6410: 43 37 2c 73 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c  C7,sha224,,,::tl
6420: 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20  s::hmac -digest 
6430: 73 68 61 32 32 34 20 2d 6b 65 79 20 24 6b 65 79  sha224 -key $key
6440: 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 33   -data $data,,,3
6450: 61 38 35 34 31 36 36 61 63 35 64 39 66 30 32 33  a854166ac5d9f023
6460: 66 35 34 64 35 31 37 64 30 62 33 39 64 62 64 39  f54d517d0b39dbd9
6470: 34 36 37 37 30 64 62 39 63 32 62 39 35 63 39 66  46770db9c2b95c9f
6480: 36 66 35 36 35 64 31 2c 2c 2c 0a 52 46 43 34 32  6f565d1,,,.RFC42
6490: 33 31 20 48 4d 41 43 20 54 43 37 2c 73 68 61 32  31 HMAC TC7,sha2
64a0: 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63  56,,,::tls::hmac
64b0: 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20   -digest sha256 
64c0: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
64d0: 24 64 61 74 61 2c 2c 2c 39 62 30 39 66 66 61 37  $data,,,9b09ffa7
64e0: 31 62 39 34 32 66 63 62 32 37 36 33 35 66 62 63  1b942fcb27635fbc
64f0: 64 35 62 30 65 39 34 34 62 66 64 63 36 33 36 34  d5b0e944bfdc6364
6500: 34 66 30 37 31 33 39 33 38 61 37 66 35 31 35 33  4f0713938a7f5153
6510: 35 63 33 61 33 35 65 32 2c 2c 2c 0a 52 46 43 34  5c3a35e2,,,.RFC4
6520: 32 33 31 20 48 4d 41 43 20 54 43 37 2c 73 68 61  231 HMAC TC7,sha
6530: 33 38 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61  384,,,::tls::hma
6540: 63 20 2d 64 69 67 65 73 74 20 73 68 61 33 38 34  c -digest sha384
6550: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
6560: 20 24 64 61 74 61 2c 2c 2c 36 36 31 37 31 37 38   $data,,,6617178
6570: 65 39 34 31 66 30 32 30 64 33 35 31 65 32 66 32  e941f020d351e2f2
6580: 35 34 65 38 66 64 33 32 63 36 30 32 34 32 30 66  54e8fd32c602420f
6590: 65 62 30 62 38 66 62 39 61 64 63 63 65 62 62 38  eb0b8fb9adccebb8
65a0: 32 34 36 31 65 39 39 63 35 61 36 37 38 63 63 33  2461e99c5a678cc3
65b0: 31 65 37 39 39 31 37 36 64 33 38 36 30 65 36 31  1e799176d3860e61
65c0: 31 30 63 34 36 35 32 33 65 2c 2c 2c 0a 52 46 43  10c46523e,,,.RFC
65d0: 34 32 33 31 20 48 4d 41 43 20 54 43 37 2c 73 68  4231 HMAC TC7,sh
65e0: 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d  a512,,,::tls::hm
65f0: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 35 31  ac -digest sha51
6600: 32 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  2 -key $key -dat
6610: 61 20 24 64 61 74 61 2c 2c 2c 65 33 37 62 36 61  a $data,,,e37b6a
6620: 37 37 35 64 63 38 37 64 62 61 61 34 64 66 61 39  775dc87dbaa4dfa9
6630: 66 39 36 65 35 65 33 66 66 64 64 65 62 64 37 31  f96e5e3ffddebd71
6640: 66 38 38 36 37 32 38 39 38 36 35 64 66 35 61 33  f8867289865df5a3
6650: 32 64 32 30 63 64 63 39 34 34 62 36 30 32 32 63  2d20cdc944b6022c
6660: 61 63 33 63 34 39 38 32 62 31 30 64 35 65 65 62  ac3c4982b10d5eeb
6670: 35 35 63 33 65 34 64 65 31 35 31 33 34 36 37 36  55c3e4de15134676
6680: 66 62 36 64 65 30 34 34 36 30 36 35 63 39 37 34  fb6de0446065c974
6690: 34 30 66 61 38 63 36 61 35 38 2c 2c 2c 0a 2c 2c  40fa8c6a58,,,.,,
66a0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
66b0: 2c 23 20 4e 49 53 54 20 38 30 30 2d 33 38 62 20  ,# NIST 800-38b 
66c0: 52 65 63 6f 6d 6d 65 6e 64 61 74 69 6f 6e 20 66  Recommendation f
66d0: 6f 72 20 42 6c 6f 63 6b 20 43 69 70 68 65 72 20  or Block Cipher 
66e0: 4d 6f 64 65 73 20 6f 66 20 4f 70 65 72 61 74 69  Modes of Operati
66f0: 6f 6e 3a 20 54 68 65 20 43 4d 41 43 20 4d 6f 64  on: The CMAC Mod
6700: 65 20 66 6f 72 20 41 75 74 68 65 6e 74 69 63 61  e for Authentica
6710: 74 69 6f 6e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  tion,,,,,,,,,.co
6720: 6d 6d 61 6e 64 2c 23 20 41 45 53 2d 31 32 38 2c  mmand,# AES-128,
6730: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
6740: 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72  ,"set key [binar
6750: 79 20 64 65 63 6f 64 65 20 68 65 78 20 22 22 32  y decode hex ""2
6760: 62 37 65 31 35 31 36 32 38 61 65 64 32 61 36 61  b7e151628aed2a6a
6770: 62 66 37 31 35 38 38 30 39 63 66 34 66 33 63 22  bf7158809cf4f3c"
6780: 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53  "]",,,,,,,,,.NIS
6790: 54 38 30 30 2d 33 38 62 2d 41 45 53 31 32 38 2c  T800-38b-AES128,
67a0: 6c 65 6e 3d 30 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a  len=0,,,"::tls::
67b0: 63 6d 61 63 20 2d 63 69 70 68 65 72 20 61 65 73  cmac -cipher aes
67c0: 2d 31 32 38 2d 63 62 63 20 2d 6b 65 79 20 24 6b  -128-cbc -key $k
67d0: 65 79 20 2d 64 61 74 61 20 22 22 22 22 22 2c 2c  ey -data """"",,
67e0: 2c 62 62 31 64 36 39 32 39 65 39 35 39 33 37 32  ,bb1d6929e959372
67f0: 38 37 66 61 33 37 64 31 32 39 62 37 35 36 37 34  87fa37d129b75674
6800: 36 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65  6,,,.command,"se
6810: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
6820: 65 63 6f 64 65 20 68 65 78 20 22 22 36 62 63 31  ecode hex ""6bc1
6830: 62 65 65 32 32 65 34 30 39 66 39 36 65 39 33 64  bee22e409f96e93d
6840: 37 65 31 31 37 33 39 33 31 37 32 61 22 22 5d 22  7e117393172a""]"
6850: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30  ,,,,,,,,,.NIST80
6860: 30 2d 33 38 62 2d 41 45 53 31 32 38 2c 6c 65 6e  0-38b-AES128,len
6870: 3d 31 32 38 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d  =128,,,::tls::cm
6880: 61 63 20 2d 63 69 70 68 65 72 20 61 65 73 2d 31  ac -cipher aes-1
6890: 32 38 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79  28-cbc -key $key
68a0: 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 30   -data $data,,,0
68b0: 37 30 61 31 36 62 34 36 62 34 64 34 31 34 34 66  70a16b46b4d4144f
68c0: 37 39 62 64 64 39 64 64 30 34 61 32 38 37 63 2c  79bdd9dd04a287c,
68d0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
68e0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
68f0: 6f 64 65 20 68 65 78 20 22 22 36 62 63 31 62 65  ode hex ""6bc1be
6900: 65 32 32 65 34 30 39 66 39 36 65 39 33 64 37 65  e22e409f96e93d7e
6910: 31 31 37 33 39 33 31 37 32 61 61 65 32 64 38 61  117393172aae2d8a
6920: 35 37 31 65 30 33 61 63 39 63 39 65 62 37 36 66  571e03ac9c9eb76f
6930: 61 63 34 35 61 66 38 65 35 31 33 30 63 38 31 63  ac45af8e5130c81c
6940: 34 36 61 33 35 63 65 34 31 31 22 22 5d 22 2c 2c  46a35ce411""]",,
6950: 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d  ,,,,,,,.NIST800-
6960: 33 38 62 2d 41 45 53 31 32 38 2c 6c 65 6e 3d 33  38b-AES128,len=3
6970: 32 30 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63  20,,,::tls::cmac
6980: 20 2d 63 69 70 68 65 72 20 61 65 73 2d 31 32 38   -cipher aes-128
6990: 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d  -cbc -key $key -
69a0: 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 64 66 61  data $data,,,dfa
69b0: 36 36 37 34 37 64 65 39 61 65 36 33 30 33 30 63  66747de9ae63030c
69c0: 61 33 32 36 31 31 34 39 37 63 38 32 37 2c 2c 2c  a32611497c827,,,
69d0: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61  .command,"set da
69e0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
69f0: 65 20 68 65 78 20 22 22 36 62 63 31 62 65 65 32  e hex ""6bc1bee2
6a00: 32 65 34 30 39 66 39 36 65 39 33 64 37 65 31 31  2e409f96e93d7e11
6a10: 37 33 39 33 31 37 32 61 61 65 32 64 38 61 35 37  7393172aae2d8a57
6a20: 31 65 30 33 61 63 39 63 39 65 62 37 36 66 61 63  1e03ac9c9eb76fac
6a30: 34 35 61 66 38 65 35 31 33 30 63 38 31 63 34 36  45af8e5130c81c46
6a40: 61 33 35 63 65 34 31 31 65 35 66 62 63 31 31 39  a35ce411e5fbc119
6a50: 31 61 30 61 35 32 65 66 66 36 39 66 32 34 34 35  1a0a52eff69f2445
6a60: 64 66 34 66 39 62 31 37 61 64 32 62 34 31 37 62  df4f9b17ad2b417b
6a70: 65 36 36 63 33 37 31 30 22 22 5d 22 2c 2c 2c 2c  e66c3710""]",,,,
6a80: 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38  ,,,,,.NIST800-38
6a90: 62 2d 41 45 53 31 32 38 2c 6c 65 6e 3d 35 31 32  b-AES128,len=512
6aa0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d  ,,,::tls::cmac -
6ab0: 63 69 70 68 65 72 20 61 65 73 2d 31 32 38 2d 63  cipher aes-128-c
6ac0: 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  bc -key $key -da
6ad0: 74 61 20 24 64 61 74 61 2c 2c 2c 35 31 66 30 62  ta $data,,,51f0b
6ae0: 65 62 66 37 65 33 62 39 64 39 32 66 63 34 39 37  ebf7e3b9d92fc497
6af0: 34 31 37 37 39 33 36 33 63 66 65 2c 2c 2c 0a 2c  41779363cfe,,,.,
6b00: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
6b10: 64 2c 23 20 41 45 53 2d 31 39 32 2c 2c 2c 2c 2c  d,# AES-192,,,,,
6b20: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65  ,,,,.command,"se
6b30: 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65  t key [binary de
6b40: 63 6f 64 65 20 68 65 78 20 22 22 38 65 37 33 62  code hex ""8e73b
6b50: 30 66 37 64 61 30 65 36 34 35 32 63 38 31 30 66  0f7da0e6452c810f
6b60: 33 32 62 38 30 39 30 37 39 65 35 36 32 66 38 65  32b809079e562f8e
6b70: 61 64 32 35 32 32 63 36 62 37 62 22 22 5d 22 2c  ad2522c6b7b""]",
6b80: 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30  ,,,,,,,,.NIST800
6b90: 2d 33 38 62 2d 41 45 53 2d 31 39 32 2c 6c 65 6e  -38b-AES-192,len
6ba0: 3d 30 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 63 6d 61  =0,,,"::tls::cma
6bb0: 63 20 2d 63 69 70 68 65 72 20 61 65 73 2d 31 39  c -cipher aes-19
6bc0: 32 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20  2-cbc -key $key 
6bd0: 2d 64 61 74 61 20 22 22 22 22 22 2c 2c 2c 64 31  -data """"",,,d1
6be0: 37 64 64 66 34 36 61 64 61 61 63 64 65 35 33 31  7ddf46adaacde531
6bf0: 63 61 63 34 38 33 64 65 37 61 39 33 36 37 2c 2c  cac483de7a9367,,
6c00: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64  ,.command,"set d
6c10: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
6c20: 64 65 20 68 65 78 20 22 22 36 62 63 31 62 65 65  de hex ""6bc1bee
6c30: 32 32 65 34 30 39 66 39 36 65 39 33 64 37 65 31  22e409f96e93d7e1
6c40: 31 37 33 39 33 31 37 32 61 22 22 5d 22 2c 2c 2c  17393172a""]",,,
6c50: 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33  ,,,,,,.NIST800-3
6c60: 38 62 2d 41 45 53 2d 31 39 32 2c 6c 65 6e 3d 31  8b-AES-192,len=1
6c70: 32 38 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63  28,,,::tls::cmac
6c80: 20 2d 63 69 70 68 65 72 20 61 65 73 2d 31 39 32   -cipher aes-192
6c90: 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d  -cbc -key $key -
6ca0: 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 39 65 39  data $data,,,9e9
6cb0: 39 61 37 62 66 33 31 65 37 31 30 39 30 30 36 36  9a7bf31e71090066
6cc0: 32 66 36 35 65 36 31 37 63 35 31 38 34 2c 2c 2c  2f65e617c5184,,,
6cd0: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61  .command,"set da
6ce0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
6cf0: 65 20 68 65 78 20 22 22 36 62 63 31 62 65 65 32  e hex ""6bc1bee2
6d00: 32 65 34 30 39 66 39 36 65 39 33 64 37 65 31 31  2e409f96e93d7e11
6d10: 37 33 39 33 31 37 32 61 61 65 32 64 38 61 35 37  7393172aae2d8a57
6d20: 31 65 30 33 61 63 39 63 39 65 62 37 36 66 61 63  1e03ac9c9eb76fac
6d30: 34 35 61 66 38 65 35 31 33 30 63 38 31 63 34 36  45af8e5130c81c46
6d40: 61 33 35 63 65 34 31 31 22 22 5d 22 2c 2c 2c 2c  a35ce411""]",,,,
6d50: 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38  ,,,,,.NIST800-38
6d60: 62 2d 41 45 53 2d 31 39 32 2c 6c 65 6e 3d 33 32  b-AES-192,len=32
6d70: 30 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  0,,,::tls::cmac 
6d80: 2d 63 69 70 68 65 72 20 61 65 73 2d 31 39 32 2d  -cipher aes-192-
6d90: 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  cbc -key $key -d
6da0: 61 74 61 20 24 64 61 74 61 2c 2c 2c 38 61 31 64  ata $data,,,8a1d
6db0: 65 35 62 65 32 65 62 33 31 61 61 64 30 38 39 61  e5be2eb31aad089a
6dc0: 38 32 65 36 65 65 39 30 38 62 30 65 2c 2c 2c 0a  82e6ee908b0e,,,.
6dd0: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74  command,"set dat
6de0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
6df0: 20 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32   hex ""6bc1bee22
6e00: 65 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37  e409f96e93d7e117
6e10: 33 39 33 31 37 32 61 61 65 32 64 38 61 35 37 31  393172aae2d8a571
6e20: 65 30 33 61 63 39 63 39 65 62 37 36 66 61 63 34  e03ac9c9eb76fac4
6e30: 35 61 66 38 65 35 31 33 30 63 38 31 63 34 36 61  5af8e5130c81c46a
6e40: 33 35 63 65 34 31 31 65 35 66 62 63 31 31 39 31  35ce411e5fbc1191
6e50: 61 30 61 35 32 65 66 66 36 39 66 32 34 34 35 64  a0a52eff69f2445d
6e60: 66 34 66 39 62 31 37 61 64 32 62 34 31 37 62 65  f4f9b17ad2b417be
6e70: 36 36 63 33 37 31 30 22 22 5d 22 2c 2c 2c 2c 2c  66c3710""]",,,,,
6e80: 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62  ,,,,.NIST800-38b
6e90: 2d 41 45 53 2d 31 39 32 2c 6c 65 6e 3d 35 31 32  -AES-192,len=512
6ea0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d  ,,,::tls::cmac -
6eb0: 63 69 70 68 65 72 20 61 65 73 2d 31 39 32 2d 63  cipher aes-192-c
6ec0: 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  bc -key $key -da
6ed0: 74 61 20 24 64 61 74 61 2c 2c 2c 61 31 64 35 64  ta $data,,,a1d5d
6ee0: 66 30 65 65 64 37 39 30 66 37 39 34 64 37 37 35  f0eed790f794d775
6ef0: 38 39 36 35 39 66 33 39 61 31 31 2c 2c 2c 0a 2c  89659f39a11,,,.,
6f00: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
6f10: 64 2c 23 20 41 45 53 2d 32 35 36 2c 2c 2c 2c 2c  d,# AES-256,,,,,
6f20: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65  ,,,,.command,"se
6f30: 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65  t key [binary de
6f40: 63 6f 64 65 20 68 65 78 20 22 22 36 30 33 64 65  code hex ""603de
6f50: 62 31 30 31 35 63 61 37 31 62 65 32 62 37 33 61  b1015ca71be2b73a
6f60: 65 66 30 38 35 37 64 37 37 38 31 31 66 33 35 32  ef0857d77811f352
6f70: 63 30 37 33 62 36 31 30 38 64 37 32 64 39 38 31  c073b6108d72d981
6f80: 30 61 33 30 39 31 34 64 66 66 34 22 22 5d 22 2c  0a30914dff4""]",
6f90: 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30  ,,,,,,,,.NIST800
6fa0: 2d 33 38 62 2d 41 45 53 2d 32 35 36 2c 6c 65 6e  -38b-AES-256,len
6fb0: 3d 30 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 63 6d 61  =0,,,"::tls::cma
6fc0: 63 20 2d 63 69 70 68 65 72 20 61 65 73 2d 32 35  c -cipher aes-25
6fd0: 36 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20  6-cbc -key $key 
6fe0: 2d 64 61 74 61 20 22 22 22 22 22 2c 2c 2c 30 32  -data """"",,,02
6ff0: 38 39 36 32 66 36 31 62 37 62 66 38 39 65 66 63  8962f61b7bf89efc
7000: 36 62 35 35 31 66 34 36 36 37 64 39 38 33 2c 2c  6b551f4667d983,,
7010: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64  ,.command,"set d
7020: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
7030: 64 65 20 68 65 78 20 22 22 36 62 63 31 62 65 65  de hex ""6bc1bee
7040: 32 32 65 34 30 39 66 39 36 65 39 33 64 37 65 31  22e409f96e93d7e1
7050: 31 37 33 39 33 31 37 32 61 22 22 5d 22 2c 2c 2c  17393172a""]",,,
7060: 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33  ,,,,,,.NIST800-3
7070: 38 62 2d 41 45 53 2d 32 35 36 2c 6c 65 6e 3d 31  8b-AES-256,len=1
7080: 32 38 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63  28,,,::tls::cmac
7090: 20 2d 63 69 70 68 65 72 20 61 65 73 2d 32 35 36   -cipher aes-256
70a0: 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d  -cbc -key $key -
70b0: 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 32 38 61  data $data,,,28a
70c0: 37 30 32 33 66 34 35 32 65 38 66 38 32 62 64 34  7023f452e8f82bd4
70d0: 62 66 32 38 64 38 63 33 37 63 33 35 63 2c 2c 2c  bf28d8c37c35c,,,
70e0: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61  .command,"set da
70f0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
7100: 65 20 68 65 78 20 22 22 36 62 63 31 62 65 65 32  e hex ""6bc1bee2
7110: 32 65 34 30 39 66 39 36 65 39 33 64 37 65 31 31  2e409f96e93d7e11
7120: 37 33 39 33 31 37 32 61 61 65 32 64 38 61 35 37  7393172aae2d8a57
7130: 31 65 30 33 61 63 39 63 39 65 62 37 36 66 61 63  1e03ac9c9eb76fac
7140: 34 35 61 66 38 65 35 31 33 30 63 38 31 63 34 36  45af8e5130c81c46
7150: 61 33 35 63 65 34 31 31 22 22 5d 22 2c 2c 2c 2c  a35ce411""]",,,,
7160: 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38  ,,,,,.NIST800-38
7170: 62 2d 41 45 53 2d 32 35 36 2c 6c 65 6e 3d 33 32  b-AES-256,len=32
7180: 30 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  0,,,::tls::cmac 
7190: 2d 63 69 70 68 65 72 20 61 65 73 2d 32 35 36 2d  -cipher aes-256-
71a0: 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  cbc -key $key -d
71b0: 61 74 61 20 24 64 61 74 61 2c 2c 2c 61 61 66 33  ata $data,,,aaf3
71c0: 64 38 66 31 64 65 35 36 34 30 63 32 33 32 66 35  d8f1de5640c232f5
71d0: 62 31 36 39 62 39 63 39 31 31 65 36 2c 2c 2c 0a  b169b9c911e6,,,.
71e0: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74  command,"set dat
71f0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
7200: 20 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32   hex ""6bc1bee22
7210: 65 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37  e409f96e93d7e117
7220: 33 39 33 31 37 32 61 61 65 32 64 38 61 35 37 31  393172aae2d8a571
7230: 65 30 33 61 63 39 63 39 65 62 37 36 66 61 63 34  e03ac9c9eb76fac4
7240: 35 61 66 38 65 35 31 33 30 63 38 31 63 34 36 61  5af8e5130c81c46a
7250: 33 35 63 65 34 31 31 65 35 66 62 63 31 31 39 31  35ce411e5fbc1191
7260: 61 30 61 35 32 65 66 66 36 39 66 32 34 34 35 64  a0a52eff69f2445d
7270: 66 34 66 39 62 31 37 61 64 32 62 34 31 37 62 65  f4f9b17ad2b417be
7280: 36 36 63 33 37 31 30 22 22 5d 22 2c 2c 2c 2c 2c  66c3710""]",,,,,
7290: 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62  ,,,,.NIST800-38b
72a0: 2d 41 45 53 2d 32 35 36 2c 6c 65 6e 3d 35 31 32  -AES-256,len=512
72b0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d  ,,,::tls::cmac -
72c0: 63 69 70 68 65 72 20 61 65 73 2d 32 35 36 2d 63  cipher aes-256-c
72d0: 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  bc -key $key -da
72e0: 74 61 20 24 64 61 74 61 2c 2c 2c 65 31 39 39 32  ta $data,,,e1992
72f0: 31 39 30 35 34 39 66 36 65 64 35 36 39 36 61 32  190549f6ed5696a2
7300: 63 30 35 36 63 33 31 35 34 31 30 2c 2c 2c 0a 2c  c056c315410,,,.,
7310: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
7320: 64 2c 23 20 43 6c 65 61 6e 75 70 2c 2c 2c 2c 2c  d,# Cleanup,,,,,
7330: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 3a 3a 74  ,,,,.command,::t
7340: 63 6c 74 65 73 74 3a 3a 72 65 6d 6f 76 65 46 69  cltest::removeFi
7350: 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c  le $test_file,,,
7360: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 3a  ,,,,,,.command,:
7370: 3a 74 63 6c 74 65 73 74 3a 3a 72 65 6d 6f 76 65  :tcltest::remove
7380: 46 69 6c 65 20 24 74 65 73 74 5f 61 6c 74 5f 66  File $test_alt_f
7390: 69 6c 65 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a           ile,,,,,,,,,.