Hex Artifact Content

Artifact f8d5498d86c7e026ff32a2b9365a49b5e3e7dbd4afbe584e8bd68a2c55481f5b:


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 22 3a 3a 74 63 6c 74 65 73 74 3a 3a 74 65 73  ,"::tcltest::tes
00c0: 74 43 6f 6e 73 74 72 61 69 6e 74 20 6d 64 34 20  tConstraint md4 
00d0: 5b 65 78 70 72 20 7b 22 22 6d 64 34 22 22 20 69  [expr {""md4"" i
00e0: 6e 20 5b 3a 3a 74 6c 73 3a 3a 64 69 67 65 73 74  n [::tls::digest
00f0: 73 5d 7d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  s]}]",,,,,,,,,.c
0100: 6f 6d 6d 61 6e 64 2c 63 61 74 63 68 20 7b 74 6c  ommand,catch {tl
0110: 73 3a 3a 70 72 6f 76 69 64 65 72 20 6c 65 67 61  s::provider lega
0120: 63 79 7d 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c  cy},,,,,,,,,.,,,
0130: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
0140: 23 20 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f  # Helper functio
0150: 6e 73 20 2d 20 53 65 65 20 63 6f 6d 6d 6f 6e 2e  ns - See common.
0160: 74 63 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  tcl,,,,,,,,,.com
0170: 6d 61 6e 64 2c 22 70 72 6f 63 20 64 69 67 65 73  mand,"proc diges
0180: 74 5f 72 65 61 64 5f 63 68 61 6e 20 7b 63 6d 64  t_read_chan {cmd
0190: 20 66 69 6c 65 6e 61 6d 65 20 61 72 67 73 7d 20   filename args} 
01a0: 7b 0a 20 20 20 20 73 65 74 20 63 68 20 5b 6f 70  {.    set ch [op
01b0: 65 6e 20 24 66 69 6c 65 6e 61 6d 65 20 72 62 5d  en $filename rb]
01c0: 0a 20 20 20 20 73 65 74 20 62 73 69 7a 65 20 5b  .    set bsize [
01d0: 66 63 6f 6e 66 69 67 75 72 65 20 24 63 68 20 2d  fconfigure $ch -
01e0: 62 75 66 66 65 72 73 69 7a 65 5d 0a 20 20 20 20  buffersize].    
01f0: 73 65 74 20 6e 65 77 20 5b 24 63 6d 64 20 7b 2a  set new [$cmd {*
0200: 7d 24 61 72 67 73 20 2d 63 68 61 6e 20 24 63 68  }$args -chan $ch
0210: 5d 0a 20 20 20 20 77 68 69 6c 65 20 7b 21 5b 65  ].    while {![e
0220: 6f 66 20 24 6e 65 77 5d 7d 20 7b 0a 20 20 20 20  of $new]} {.    
0230: 20 20 20 20 73 65 74 20 6d 64 20 5b 72 65 61 64      set md [read
0240: 20 24 6e 65 77 20 24 62 73 69 7a 65 5d 0a 20 20   $new $bsize].  
0250: 20 20 7d 0a 20 20 20 20 63 6c 6f 73 65 20 24 6e    }.    close $n
0260: 65 77 0a 20 20 20 20 72 65 74 75 72 6e 20 24 6d  ew.    return $m
0270: 64 0a 7d 0a 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  d.}.",,,,,,,,,.c
0280: 6f 6d 6d 61 6e 64 2c 22 70 72 6f 63 20 64 69 67  ommand,"proc dig
0290: 65 73 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 7b  est_write_chan {
02a0: 63 6d 64 20 66 69 6c 65 6e 61 6d 65 20 64 61 74  cmd filename dat
02b0: 61 20 61 72 67 73 7d 20 7b 0a 20 20 20 20 73 65  a args} {.    se
02c0: 74 20 63 68 20 5b 6f 70 65 6e 20 24 66 69 6c 65  t ch [open $file
02d0: 6e 61 6d 65 20 77 62 5d 0a 20 20 20 20 73 65 74  name wb].    set
02e0: 20 6e 65 77 20 5b 24 63 6d 64 20 7b 2a 7d 24 61   new [$cmd {*}$a
02f0: 72 67 73 20 2d 63 68 61 6e 20 24 63 68 5d 0a 20  rgs -chan $ch]. 
0300: 20 20 20 70 75 74 73 20 2d 6e 6f 6e 65 77 6c 69     puts -nonewli
0310: 6e 65 20 24 6e 65 77 20 24 64 61 74 61 0a 20 20  ne $new $data.  
0320: 20 20 66 6c 75 73 68 20 24 6e 65 77 0a 20 20 20    flush $new.   
0330: 20 63 6c 6f 73 65 20 24 6e 65 77 0a 20 20 20 20   close $new.    
0340: 73 65 74 20 63 68 20 5b 6f 70 65 6e 20 24 66 69  set ch [open $fi
0350: 6c 65 6e 61 6d 65 20 72 62 5d 0a 20 20 20 20 73  lename rb].    s
0360: 65 74 20 6d 64 20 5b 72 65 61 64 20 24 63 68 5d  et md [read $ch]
0370: 0a 20 20 20 20 63 6c 6f 73 65 20 24 63 68 0a 20  .    close $ch. 
0380: 20 20 20 72 65 74 75 72 6e 20 24 6d 64 0a 7d 0a     return $md.}.
0390: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ",,,,,,,,,.comma
03a0: 6e 64 2c 22 70 72 6f 63 20 64 69 67 65 73 74 5f  nd,"proc digest_
03b0: 61 63 63 75 6d 75 6c 61 74 65 20 7b 73 74 72 69  accumulate {stri
03c0: 6e 67 20 61 72 67 73 7d 20 7b 0a 20 20 20 20 73  ng args} {.    s
03d0: 65 74 20 63 6d 64 20 5b 7b 2a 7d 24 61 72 67 73  et cmd [{*}$args
03e0: 20 2d 63 6f 6d 6d 61 6e 64 20 64 63 6d 64 5d 0a   -command dcmd].
03f0: 20 20 20 20 24 63 6d 64 20 75 70 64 61 74 65 20      $cmd update 
0400: 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73  [string range $s
0410: 74 72 69 6e 67 20 30 20 32 30 5d 0a 20 20 20 20  tring 0 20].    
0420: 24 63 6d 64 20 75 70 64 61 74 65 20 5b 73 74 72  $cmd update [str
0430: 69 6e 67 20 72 61 6e 67 65 20 24 73 74 72 69 6e  ing range $strin
0440: 67 20 32 31 20 65 6e 64 5d 0a 20 20 20 20 72 65  g 21 end].    re
0450: 74 75 72 6e 20 5b 24 63 6d 64 20 66 69 6e 61 6c  turn [$cmd final
0460: 69 7a 65 5d 0a 7d 0a 22 2c 2c 2c 2c 2c 2c 2c 2c  ize].}.",,,,,,,,
0470: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  .,,,,,,,,,,.comm
0480: 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f 64 61  and,"set test_da
0490: 74 61 20 22 22 45 78 61 6d 70 6c 65 20 73 74 72  ta ""Example str
04a0: 69 6e 67 20 66 6f 72 20 6d 65 73 73 61 67 65 20  ing for message 
04b0: 64 69 67 65 73 74 20 74 65 73 74 73 2e 5c 6e 22  digest tests.\n"
04c0: 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  "",,,,,,,,,.comm
04d0: 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f 66 69  and,"set test_fi
04e0: 6c 65 20 22 22 6d 64 5f 64 61 74 61 2e 64 61 74  le ""md_data.dat
04f0: 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  """,,,,,,,,,.com
0500: 6d 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f 61  mand,"set test_a
0510: 6c 74 5f 66 69 6c 65 20 22 22 6d 64 5f 61 6c 74  lt_file ""md_alt
0520: 5f 64 61 74 61 2e 64 61 74 22 22 22 2c 2c 2c 2c  _data.dat""",,,,
0530: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
0540: 65 74 20 74 65 73 74 5f 6b 65 79 20 22 22 45 78  et test_key ""Ex
0550: 61 6d 70 6c 65 20 6b 65 79 22 22 22 2c 2c 2c 2c  ample key""",,,,
0560: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 3a 3a  ,,,,,.command,::
0570: 74 63 6c 74 65 73 74 3a 3a 6d 61 6b 65 46 69 6c  tcltest::makeFil
0580: 65 20 24 74 65 73 74 5f 64 61 74 61 20 24 74 65  e $test_data $te
0590: 73 74 5f 66 69 6c 65 2c 2c 2c 2c 2c 2c 2c 2c 2c  st_file,,,,,,,,,
05a0: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  .,,,,,,,,,,.comm
05b0: 61 6e 64 2c 23 20 54 65 73 74 20 73 68 6f 72 74  and,# Test short
05c0: 2d 63 75 74 20 63 6f 6d 6d 61 6e 64 73 2c 2c 2c  -cut commands,,,
05d0: 2c 2c 2c 2c 2c 2c 0a 53 68 6f 72 74 63 75 74 20  ,,,,,,.Shortcut 
05e0: 43 6d 64 73 2c 6d 64 34 20 63 6d 64 2c 6d 64 34  Cmds,md4 cmd,md4
05f0: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 34 20 24 74 65  ,,::tls::md4 $te
0600: 73 74 5f 64 61 74 61 2c 2c 2c 37 39 33 33 39 39  st_data,,,793399
0610: 66 37 39 32 65 63 61 32 37 35 32 63 36 61 66 33  f792eca2752c6af3
0620: 32 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a 53 68  234ba70858,,,.Sh
0630: 6f 72 74 63 75 74 20 43 6d 64 73 2c 6d 64 35 20  ortcut Cmds,md5 
0640: 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 35  cmd,,,::tls::md5
0650: 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 39 36   $test_data,,,96
0660: 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33  2bf0803b4232ec23
0670: 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c  bd8427bb94ea09,,
0680: 2c 0a 53 68 6f 72 74 63 75 74 20 43 6d 64 73 2c  ,.Shortcut Cmds,
0690: 73 68 61 31 20 63 6d 64 2c 2c 2c 3a 3a 74 6c 73  sha1 cmd,,,::tls
06a0: 3a 3a 73 68 61 31 20 24 74 65 73 74 5f 64 61 74  ::sha1 $test_dat
06b0: 61 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 36 38  a,,,4fe03b7f2568
06c0: 35 35 31 64 66 61 66 62 39 38 63 61 36 30 30 34  551dfafb98ca6004
06d0: 65 36 35 63 34 62 37 31 61 61 37 64 2c 2c 2c 0a  e65c4b71aa7d,,,.
06e0: 53 68 6f 72 74 63 75 74 20 43 6d 64 73 2c 73 68  Shortcut Cmds,sh
06f0: 61 32 35 36 20 63 6d 64 2c 2c 2c 3a 3a 74 6c 73  a256 cmd,,,::tls
0700: 3a 3a 73 68 61 32 35 36 20 24 74 65 73 74 5f 64  ::sha256 $test_d
0710: 61 74 61 2c 2c 2c 39 64 33 35 37 38 66 63 31 33  ata,,,9d3578fc13
0720: 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66 33  8205cf0ee4b4cef3
0730: 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62 31  5fe101bb4ecac7b1
0740: 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63 37  614c18e6fa48b5c7
0750: 66 39 35 65 31 39 2c 2c 2c 0a 53 68 6f 72 74 63  f95e19,,,.Shortc
0760: 75 74 20 43 6d 64 73 2c 73 68 61 35 31 32 20 63  ut Cmds,sha512 c
0770: 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 73 68 61 35  md,,,::tls::sha5
0780: 31 32 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  12 $test_data,,,
0790: 64 31 37 38 65 37 35 39 64 63 35 39 31 32 37 30  d178e759dc591270
07a0: 37 31 35 38 38 64 32 66 61 64 31 37 33 63 30 36  71588d2fad173c06
07b0: 32 33 38 64 38 37 65 38 30 30 61 36 34 30 33 63  238d87e800a6403c
07c0: 30 61 33 30 64 61 61 34 66 61 61 66 30 35 64 30  0a30daa4faaf05d0
07d0: 65 37 63 65 30 34 39 31 36 61 66 61 61 36 61 35  e7ce04916afaa6a5
07e0: 38 61 33 30 63 62 65 62 35 39 37 64 61 63 62 30  8a30cbeb597dacb0
07f0: 31 63 36 32 66 39 66 62 39 64 38 39 62 61 62 39  1c62f9fb9d89bab9
0800: 64 61 36 33 30 63 36 39 39 65 34 38 31 36 66 31  da630c699e4816f1
0810: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c  ,,,.,,,,,,,,,,.,
0820: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
0830: 64 2c 23 20 54 65 73 74 20 4d 44 20 63 6f 6d 6d  d,# Test MD comm
0840: 61 6e 64 20 66 6f 72 20 72 65 61 64 20 63 68 61  and for read cha
0850: 6e 6e 65 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44  nnel,,,,,,,,,.MD
0860: 20 43 68 61 6e 20 52 65 61 64 2c 6d 64 34 2c 6d   Chan Read,md4,m
0870: 64 34 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f  d4,,digest_read_
0880: 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24  chan ::tls::md $
0890: 74 65 73 74 5f 66 69 6c 65 20 2d 64 69 67 65 73  test_file -diges
08a0: 74 20 6d 64 34 2c 2c 2c 37 39 33 33 39 39 66 37  t md4,,,793399f7
08b0: 39 32 65 63 61 32 37 35 32 63 36 61 66 33 32 33  92eca2752c6af323
08c0: 34 62 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 43  4ba70858,,,.MD C
08d0: 68 61 6e 20 52 65 61 64 2c 6d 64 35 2c 2c 2c 64  han Read,md5,,,d
08e0: 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e 20  igest_read_chan 
08f0: 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f  ::tls::md $test_
0900: 66 69 6c 65 20 2d 64 69 67 65 73 74 20 6d 64 35  file -digest md5
0910: 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33  ,,,962bf0803b423
0920: 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65  2ec23bd8427bb94e
0930: 61 30 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 52  a09,,,.MD Chan R
0940: 65 61 64 2c 73 68 61 31 2c 2c 2c 64 69 67 65 73  ead,sha1,,,diges
0950: 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c  t_read_chan ::tl
0960: 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65  s::md $test_file
0970: 20 2d 64 69 67 65 73 74 20 73 68 61 31 2c 2c 2c   -digest sha1,,,
0980: 34 66 65 30 33 62 37 66 32 35 36 38 35 35 31 64  4fe03b7f2568551d
0990: 66 61 66 62 39 38 63 61 36 30 30 34 65 36 35 63  fafb98ca6004e65c
09a0: 34 62 37 31 61 61 37 64 2c 2c 2c 0a 4d 44 20 43  4b71aa7d,,,.MD C
09b0: 68 61 6e 20 52 65 61 64 2c 73 68 61 32 35 36 2c  han Read,sha256,
09c0: 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68  ,,digest_read_ch
09d0: 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65  an ::tls::md $te
09e0: 73 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20  st_file -digest 
09f0: 73 68 61 32 35 36 2c 2c 2c 39 64 33 35 37 38 66  sha256,,,9d3578f
0a00: 63 31 33 38 32 30 35 63 66 30 65 65 34 62 34 63  c138205cf0ee4b4c
0a10: 65 66 33 35 66 65 31 30 31 62 62 34 65 63 61 63  ef35fe101bb4ecac
0a20: 37 62 31 36 31 34 63 31 38 65 36 66 61 34 38 62  7b1614c18e6fa48b
0a30: 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20  5c7f95e19,,,.MD 
0a40: 43 68 61 6e 20 52 65 61 64 2c 73 68 61 35 31 32  Chan Read,sha512
0a50: 2c 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63  ,,,digest_read_c
0a60: 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74  han ::tls::md $t
0a70: 65 73 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74  est_file -digest
0a80: 20 73 68 61 35 31 32 2c 2c 2c 64 31 37 38 65 37   sha512,,,d178e7
0a90: 35 39 64 63 35 39 31 32 37 30 37 31 35 38 38 64  59dc59127071588d
0aa0: 32 66 61 64 31 37 33 63 30 36 32 33 38 64 38 37  2fad173c06238d87
0ab0: 65 38 30 30 61 36 34 30 33 63 30 61 33 30 64 61  e800a6403c0a30da
0ac0: 61 34 66 61 61 66 30 35 64 30 65 37 63 65 30 34  a4faaf05d0e7ce04
0ad0: 39 31 36 61 66 61 61 36 61 35 38 61 33 30 63 62  916afaa6a58a30cb
0ae0: 65 62 35 39 37 64 61 63 62 30 31 63 36 32 66 39  eb597dacb01c62f9
0af0: 66 62 39 64 38 39 62 61 62 39 64 61 36 33 30 63  fb9d89bab9da630c
0b00: 36 39 39 65 34 38 31 36 66 31 2c 2c 2c 0a 4d 44  699e4816f1,,,.MD
0b10: 20 43 68 61 6e 20 52 65 61 64 2c 6d 64 35 20 62   Chan Read,md5 b
0b20: 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f  in,,,binary enco
0b30: 64 65 20 68 65 78 20 5b 64 69 67 65 73 74 5f 72  de hex [digest_r
0b40: 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a  ead_chan ::tls::
0b50: 6d 64 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 62  md $test_file -b
0b60: 69 6e 20 2d 64 69 67 65 73 74 20 6d 64 35 5d 2c  in -digest md5],
0b70: 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32  ,,962bf0803b4232
0b80: 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61  ec23bd8427bb94ea
0b90: 30 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 52 65  09,,,.MD Chan Re
0ba0: 61 64 2c 6d 64 35 20 68 65 78 2c 2c 2c 64 69 67  ad,md5 hex,,,dig
0bb0: 65 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a  est_read_chan ::
0bc0: 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69  tls::md $test_fi
0bd0: 6c 65 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20  le -hex -digest 
0be0: 6d 64 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62  md5,,,962bf0803b
0bf0: 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62  4232ec23bd8427bb
0c00: 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  94ea09,,,.,,,,,,
0c10: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54  ,,,,.command,# T
0c20: 65 73 74 20 4d 44 20 63 6f 6d 6d 61 6e 64 20 66  est MD command f
0c30: 6f 72 20 77 72 69 74 65 20 63 68 61 6e 6e 65 6c  or write channel
0c40: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 43 68 61  ,,,,,,,,,.MD Cha
0c50: 6e 20 57 72 69 74 65 2c 6d 64 34 2c 6d 64 34 2c  n Write,md4,md4,
0c60: 2c 64 69 67 65 73 74 5f 77 72 69 74 65 5f 63 68  ,digest_write_ch
0c70: 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65  an ::tls::md $te
0c80: 73 74 5f 61 6c 74 5f 66 69 6c 65 20 24 74 65 73  st_alt_file $tes
0c90: 74 5f 64 61 74 61 20 2d 64 69 67 65 73 74 20 6d  t_data -digest m
0ca0: 64 34 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65  d4,,,793399f792e
0cb0: 63 61 32 37 35 32 63 36 61 66 33 32 33 34 62 61  ca2752c6af3234ba
0cc0: 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 43 68 61 6e  70858,,,.MD Chan
0cd0: 20 57 72 69 74 65 2c 6d 64 35 2c 2c 2c 64 69 67   Write,md5,,,dig
0ce0: 65 73 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a  est_write_chan :
0cf0: 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61  :tls::md $test_a
0d00: 6c 74 5f 66 69 6c 65 20 24 74 65 73 74 5f 64 61  lt_file $test_da
0d10: 74 61 20 2d 64 69 67 65 73 74 20 6d 64 35 2c 2c  ta -digest md5,,
0d20: 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65  ,962bf0803b4232e
0d30: 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30  c23bd8427bb94ea0
0d40: 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 57 72 69  9,,,.MD Chan Wri
0d50: 74 65 2c 73 68 61 31 2c 2c 2c 64 69 67 65 73 74  te,sha1,,,digest
0d60: 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a 3a 74 6c  _write_chan ::tl
0d70: 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61 6c 74 5f  s::md $test_alt_
0d80: 66 69 6c 65 20 24 74 65 73 74 5f 64 61 74 61 20  file $test_data 
0d90: 2d 64 69 67 65 73 74 20 73 68 61 31 2c 2c 2c 34  -digest sha1,,,4
0da0: 66 65 30 33 62 37 66 32 35 36 38 35 35 31 64 66  fe03b7f2568551df
0db0: 61 66 62 39 38 63 61 36 30 30 34 65 36 35 63 34  afb98ca6004e65c4
0dc0: 62 37 31 61 61 37 64 2c 2c 2c 0a 4d 44 20 43 68  b71aa7d,,,.MD Ch
0dd0: 61 6e 20 57 72 69 74 65 2c 73 68 61 32 35 36 2c  an Write,sha256,
0de0: 2c 2c 64 69 67 65 73 74 5f 77 72 69 74 65 5f 63  ,,digest_write_c
0df0: 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74  han ::tls::md $t
0e00: 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20 24 74 65  est_alt_file $te
0e10: 73 74 5f 64 61 74 61 20 2d 64 69 67 65 73 74 20  st_data -digest 
0e20: 73 68 61 32 35 36 2c 2c 2c 39 64 33 35 37 38 66  sha256,,,9d3578f
0e30: 63 31 33 38 32 30 35 63 66 30 65 65 34 62 34 63  c138205cf0ee4b4c
0e40: 65 66 33 35 66 65 31 30 31 62 62 34 65 63 61 63  ef35fe101bb4ecac
0e50: 37 62 31 36 31 34 63 31 38 65 36 66 61 34 38 62  7b1614c18e6fa48b
0e60: 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20  5c7f95e19,,,.MD 
0e70: 43 68 61 6e 20 57 72 69 74 65 2c 73 68 61 35 31  Chan Write,sha51
0e80: 32 2c 2c 2c 64 69 67 65 73 74 5f 77 72 69 74 65  2,,,digest_write
0e90: 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20  _chan ::tls::md 
0ea0: 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20 24  $test_alt_file $
0eb0: 74 65 73 74 5f 64 61 74 61 20 2d 64 69 67 65 73  test_data -diges
0ec0: 74 20 73 68 61 35 31 32 2c 2c 2c 64 31 37 38 65  t sha512,,,d178e
0ed0: 37 35 39 64 63 35 39 31 32 37 30 37 31 35 38 38  759dc59127071588
0ee0: 64 32 66 61 64 31 37 33 63 30 36 32 33 38 64 38  d2fad173c06238d8
0ef0: 37 65 38 30 30 61 36 34 30 33 63 30 61 33 30 64  7e800a6403c0a30d
0f00: 61 61 34 66 61 61 66 30 35 64 30 65 37 63 65 30  aa4faaf05d0e7ce0
0f10: 34 39 31 36 61 66 61 61 36 61 35 38 61 33 30 63  4916afaa6a58a30c
0f20: 62 65 62 35 39 37 64 61 63 62 30 31 63 36 32 66  beb597dacb01c62f
0f30: 39 66 62 39 64 38 39 62 61 62 39 64 61 36 33 30  9fb9d89bab9da630
0f40: 63 36 39 39 65 34 38 31 36 66 31 2c 2c 2c 0a 4d  c699e4816f1,,,.M
0f50: 44 20 43 68 61 6e 20 57 72 69 74 65 2c 6d 64 35  D Chan Write,md5
0f60: 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e   bin,,,binary en
0f70: 63 6f 64 65 20 68 65 78 20 5b 64 69 67 65 73 74  code hex [digest
0f80: 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a 3a 74 6c  _write_chan ::tl
0f90: 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61 6c 74 5f  s::md $test_alt_
0fa0: 66 69 6c 65 20 24 74 65 73 74 5f 64 61 74 61 20  file $test_data 
0fb0: 2d 62 69 6e 20 2d 64 69 67 65 73 74 20 6d 64 35  -bin -digest md5
0fc0: 5d 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  ],,,962bf0803b42
0fd0: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
0fe0: 65 61 30 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20  ea09,,,.MD Chan 
0ff0: 57 72 69 74 65 2c 6d 64 35 20 68 65 78 2c 2c 2c  Write,md5 hex,,,
1000: 64 69 67 65 73 74 5f 77 72 69 74 65 5f 63 68 61  digest_write_cha
1010: 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73  n ::tls::md $tes
1020: 74 5f 61 6c 74 5f 66 69 6c 65 20 24 74 65 73 74  t_alt_file $test
1030: 5f 64 61 74 61 20 2d 68 65 78 20 2d 64 69 67 65  _data -hex -dige
1040: 73 74 20 6d 64 35 2c 2c 2c 39 36 32 62 66 30 38  st md5,,,962bf08
1050: 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32  03b4232ec23bd842
1060: 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c  7bb94ea09,,,.,,,
1070: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
1080: 23 20 54 65 73 74 20 4d 44 20 63 6f 6d 6d 61 6e  # Test MD comman
1090: 64 20 66 6f 72 20 6f 62 6a 65 63 74 20 63 6f 6d  d for object com
10a0: 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44  mand,,,,,,,,,.MD
10b0: 20 43 6f 6d 6d 61 6e 64 2c 6d 64 34 2c 6d 64 34   Command,md4,md4
10c0: 2c 2c 64 69 67 65 73 74 5f 61 63 63 75 6d 75 6c  ,,digest_accumul
10d0: 61 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a  ate $test_data :
10e0: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
10f0: 20 6d 64 34 2c 2c 2c 37 39 33 33 39 39 66 37 39   md4,,,793399f79
1100: 32 65 63 61 32 37 35 32 63 36 61 66 33 32 33 34  2eca2752c6af3234
1110: 62 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 43 6f  ba70858,,,.MD Co
1120: 6d 6d 61 6e 64 2c 6d 64 35 2c 2c 2c 64 69 67 65  mmand,md5,,,dige
1130: 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20 24 74  st_accumulate $t
1140: 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a  est_data ::tls::
1150: 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 2c 2c  md -digest md5,,
1160: 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65  ,962bf0803b4232e
1170: 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30  c23bd8427bb94ea0
1180: 39 2c 2c 2c 0a 4d 44 20 43 6f 6d 6d 61 6e 64 2c  9,,,.MD Command,
1190: 73 68 61 31 2c 2c 2c 64 69 67 65 73 74 5f 61 63  sha1,,,digest_ac
11a0: 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64  cumulate $test_d
11b0: 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  ata ::tls::md -d
11c0: 69 67 65 73 74 20 73 68 61 31 2c 2c 2c 34 66 65  igest sha1,,,4fe
11d0: 30 33 62 37 66 32 35 36 38 35 35 31 64 66 61 66  03b7f2568551dfaf
11e0: 62 39 38 63 61 36 30 30 34 65 36 35 63 34 62 37  b98ca6004e65c4b7
11f0: 31 61 61 37 64 2c 2c 2c 0a 4d 44 20 43 6f 6d 6d  1aa7d,,,.MD Comm
1200: 61 6e 64 2c 73 68 61 32 35 36 2c 2c 2c 64 69 67  and,sha256,,,dig
1210: 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20 24  est_accumulate $
1220: 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a  test_data ::tls:
1230: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32  :md -digest sha2
1240: 35 36 2c 2c 2c 39 64 33 35 37 38 66 63 31 33 38  56,,,9d3578fc138
1250: 32 30 35 63 66 30 65 65 34 62 34 63 65 66 33 35  205cf0ee4b4cef35
1260: 66 65 31 30 31 62 62 34 65 63 61 63 37 62 31 36  fe101bb4ecac7b16
1270: 31 34 63 31 38 65 36 66 61 34 38 62 35 63 37 66  14c18e6fa48b5c7f
1280: 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 43 6f 6d 6d  95e19,,,.MD Comm
1290: 61 6e 64 2c 73 68 61 35 31 32 2c 2c 2c 64 69 67  and,sha512,,,dig
12a0: 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20 24  est_accumulate $
12b0: 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a  test_data ::tls:
12c0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 35  :md -digest sha5
12d0: 31 32 2c 2c 2c 64 31 37 38 65 37 35 39 64 63 35  12,,,d178e759dc5
12e0: 39 31 32 37 30 37 31 35 38 38 64 32 66 61 64 31  9127071588d2fad1
12f0: 37 33 63 30 36 32 33 38 64 38 37 65 38 30 30 61  73c06238d87e800a
1300: 36 34 30 33 63 30 61 33 30 64 61 61 34 66 61 61  6403c0a30daa4faa
1310: 66 30 35 64 30 65 37 63 65 30 34 39 31 36 61 66  f05d0e7ce04916af
1320: 61 61 36 61 35 38 61 33 30 63 62 65 62 35 39 37  aa6a58a30cbeb597
1330: 64 61 63 62 30 31 63 36 32 66 39 66 62 39 64 38  dacb01c62f9fb9d8
1340: 39 62 61 62 39 64 61 36 33 30 63 36 39 39 65 34  9bab9da630c699e4
1350: 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 43 6f 6d 6d  816f1,,,.MD Comm
1360: 61 6e 64 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62 69  and,md5 bin,,,bi
1370: 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20  nary encode hex 
1380: 5b 64 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61  [digest_accumula
1390: 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a  te $test_data ::
13a0: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
13b0: 6d 64 35 20 2d 62 69 6e 5d 2c 2c 2c 39 36 32 62  md5 -bin],,,962b
13c0: 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62 64  f0803b4232ec23bd
13d0: 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a  8427bb94ea09,,,.
13e0: 4d 44 20 43 6f 6d 6d 61 6e 64 2c 6d 64 35 20 68  MD Command,md5 h
13f0: 65 78 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63 75  ex,,,digest_accu
1400: 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74  mulate $test_dat
1410: 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  a ::tls::md -dig
1420: 65 73 74 20 6d 64 35 20 2d 68 65 78 2c 2c 2c 39  est md5 -hex,,,9
1430: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
1440: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
1450: 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ,,.,,,,,,,,,,.co
1460: 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 4d 44 20  mmand,# Test MD 
1470: 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 64 61 74 61  command for data
1480: 20 73 68 6f 72 74 63 75 74 2c 2c 2c 2c 2c 2c 2c   shortcut,,,,,,,
1490: 2c 2c 0a 4d 44 20 53 68 6f 72 74 63 75 74 2c 6d  ,,.MD Shortcut,m
14a0: 64 34 2c 6d 64 34 2c 2c 3a 3a 74 6c 73 3a 3a 6d  d4,md4,,::tls::m
14b0: 64 20 6d 64 34 20 24 74 65 73 74 5f 64 61 74 61  d md4 $test_data
14c0: 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63 61  ,,,793399f792eca
14d0: 32 37 35 32 63 36 61 66 33 32 33 34 62 61 37 30  2752c6af3234ba70
14e0: 38 35 38 2c 2c 2c 0a 4d 44 20 53 68 6f 72 74 63  858,,,.MD Shortc
14f0: 75 74 2c 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a  ut,md5,,,::tls::
1500: 6d 64 20 6d 64 35 20 24 74 65 73 74 5f 64 61 74  md md5 $test_dat
1510: 61 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  a,,,962bf0803b42
1520: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
1530: 65 61 30 39 2c 2c 2c 0a 4d 44 20 53 68 6f 72 74  ea09,,,.MD Short
1540: 63 75 74 2c 73 68 61 31 2c 2c 2c 3a 3a 74 6c 73  cut,sha1,,,::tls
1550: 3a 3a 6d 64 20 73 68 61 31 20 24 74 65 73 74 5f  ::md sha1 $test_
1560: 64 61 74 61 2c 2c 2c 34 66 65 30 33 62 37 66 32  data,,,4fe03b7f2
1570: 35 36 38 35 35 31 64 66 61 66 62 39 38 63 61 36  568551dfafb98ca6
1580: 30 30 34 65 36 35 63 34 62 37 31 61 61 37 64 2c  004e65c4b71aa7d,
1590: 2c 2c 0a 4d 44 20 53 68 6f 72 74 63 75 74 2c 73  ,,.MD Shortcut,s
15a0: 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ha256,,,::tls::m
15b0: 64 20 73 68 61 32 35 36 20 24 74 65 73 74 5f 64  d sha256 $test_d
15c0: 61 74 61 2c 2c 2c 39 64 33 35 37 38 66 63 31 33  ata,,,9d3578fc13
15d0: 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66 33  8205cf0ee4b4cef3
15e0: 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62 31  5fe101bb4ecac7b1
15f0: 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63 37  614c18e6fa48b5c7
1600: 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 53 68 6f  f95e19,,,.MD Sho
1610: 72 74 63 75 74 2c 73 68 61 35 31 32 2c 2c 2c 3a  rtcut,sha512,,,:
1620: 3a 74 6c 73 3a 3a 6d 64 20 73 68 61 35 31 32 20  :tls::md sha512 
1630: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 64 31 37  $test_data,,,d17
1640: 38 65 37 35 39 64 63 35 39 31 32 37 30 37 31 35  8e759dc591270715
1650: 38 38 64 32 66 61 64 31 37 33 63 30 36 32 33 38  88d2fad173c06238
1660: 64 38 37 65 38 30 30 61 36 34 30 33 63 30 61 33  d87e800a6403c0a3
1670: 30 64 61 61 34 66 61 61 66 30 35 64 30 65 37 63  0daa4faaf05d0e7c
1680: 65 30 34 39 31 36 61 66 61 61 36 61 35 38 61 33  e04916afaa6a58a3
1690: 30 63 62 65 62 35 39 37 64 61 63 62 30 31 63 36  0cbeb597dacb01c6
16a0: 32 66 39 66 62 39 64 38 39 62 61 62 39 64 61 36  2f9fb9d89bab9da6
16b0: 33 30 63 36 39 39 65 34 38 31 36 66 31 2c 2c 2c  30c699e4816f1,,,
16c0: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  .,,,,,,,,,,.comm
16d0: 61 6e 64 2c 23 20 54 65 73 74 20 4d 44 20 63 6f  and,# Test MD co
16e0: 6d 6d 61 6e 64 20 66 6f 72 20 64 61 74 61 2c 2c  mmand for data,,
16f0: 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c  ,,,,,,,.MD Data,
1700: 6d 64 34 2c 6d 64 34 2c 2c 3a 3a 74 6c 73 3a 3a  md4,md4,,::tls::
1710: 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 34 20 2d  md -digest md4 -
1720: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
1730: 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63 61 32  ,,793399f792eca2
1740: 37 35 32 63 36 61 66 33 32 33 34 62 61 37 30 38  752c6af3234ba708
1750: 35 38 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c 6d 64  58,,,.MD Data,md
1760: 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  5,,,::tls::md -d
1770: 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20  igest md5 -data 
1780: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 39 36 32  $test_data,,,962
1790: 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62  bf0803b4232ec23b
17a0: 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c  d8427bb94ea09,,,
17b0: 0a 4d 44 20 44 61 74 61 2c 73 68 61 31 2c 2c 2c  .MD Data,sha1,,,
17c0: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
17d0: 74 20 73 68 61 31 20 2d 64 61 74 61 20 24 74 65  t sha1 -data $te
17e0: 73 74 5f 64 61 74 61 2c 2c 2c 34 66 65 30 33 62  st_data,,,4fe03b
17f0: 37 66 32 35 36 38 35 35 31 64 66 61 66 62 39 38  7f2568551dfafb98
1800: 63 61 36 30 30 34 65 36 35 63 34 62 37 31 61 61  ca6004e65c4b71aa
1810: 37 64 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c 73 68  7d,,,.MD Data,sh
1820: 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64  a256,,,::tls::md
1830: 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20   -digest sha256 
1840: 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61  -data $test_data
1850: 2c 2c 2c 39 64 33 35 37 38 66 63 31 33 38 32 30  ,,,9d3578fc13820
1860: 35 63 66 30 65 65 34 62 34 63 65 66 33 35 66 65  5cf0ee4b4cef35fe
1870: 31 30 31 62 62 34 65 63 61 63 37 62 31 36 31 34  101bb4ecac7b1614
1880: 63 31 38 65 36 66 61 34 38 62 35 63 37 66 39 35  c18e6fa48b5c7f95
1890: 65 31 39 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c 73  e19,,,.MD Data,s
18a0: 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ha512,,,::tls::m
18b0: 64 20 2d 64 69 67 65 73 74 20 73 68 61 35 31 32  d -digest sha512
18c0: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74   -data $test_dat
18d0: 61 2c 2c 2c 64 31 37 38 65 37 35 39 64 63 35 39  a,,,d178e759dc59
18e0: 31 32 37 30 37 31 35 38 38 64 32 66 61 64 31 37  127071588d2fad17
18f0: 33 63 30 36 32 33 38 64 38 37 65 38 30 30 61 36  3c06238d87e800a6
1900: 34 30 33 63 30 61 33 30 64 61 61 34 66 61 61 66  403c0a30daa4faaf
1910: 30 35 64 30 65 37 63 65 30 34 39 31 36 61 66 61  05d0e7ce04916afa
1920: 61 36 61 35 38 61 33 30 63 62 65 62 35 39 37 64  a6a58a30cbeb597d
1930: 61 63 62 30 31 63 36 32 66 39 66 62 39 64 38 39  acb01c62f9fb9d89
1940: 62 61 62 39 64 61 36 33 30 63 36 39 39 65 34 38  bab9da630c699e48
1950: 31 36 66 31 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c  16f1,,,.MD Data,
1960: 6d 64 35 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79  md5 bin,,,binary
1970: 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74   encode hex [::t
1980: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d  ls::md -digest m
1990: 64 35 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64  d5 -data $test_d
19a0: 61 74 61 20 2d 62 69 6e 5d 2c 2c 2c 39 36 32 62  ata -bin],,,962b
19b0: 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62 64  f0803b4232ec23bd
19c0: 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a  8427bb94ea09,,,.
19d0: 4d 44 20 44 61 74 61 2c 6d 64 35 20 68 65 78 2c  MD Data,md5 hex,
19e0: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,,::tls::md -dig
19f0: 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20 24 74  est md5 -data $t
1a00: 65 73 74 5f 64 61 74 61 20 2d 68 65 78 2c 2c 2c  est_data -hex,,,
1a10: 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63  962bf0803b4232ec
1a20: 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39  23bd8427bb94ea09
1a30: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
1a40: 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 4d 44  ommand,# Test MD
1a50: 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 66 69 6c   command for fil
1a60: 65 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 46 69  e,,,,,,,,,.MD Fi
1a70: 6c 65 2c 6d 64 34 2c 6d 64 34 2c 2c 3a 3a 74 6c  le,md4,md4,,::tl
1a80: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64  s::md -digest md
1a90: 34 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69  4 -file $test_fi
1aa0: 6c 65 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65  le,,,793399f792e
1ab0: 63 61 32 37 35 32 63 36 61 66 33 32 33 34 62 61  ca2752c6af3234ba
1ac0: 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 46 69 6c 65  70858,,,.MD File
1ad0: 2c 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64  ,md5,,,::tls::md
1ae0: 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 66 69   -digest md5 -fi
1af0: 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c  le $test_file,,,
1b00: 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63  962bf0803b4232ec
1b10: 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39  23bd8427bb94ea09
1b20: 2c 2c 2c 0a 4d 44 20 46 69 6c 65 2c 73 68 61 31  ,,,.MD File,sha1
1b30: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ,,,::tls::md -di
1b40: 67 65 73 74 20 73 68 61 31 20 2d 66 69 6c 65 20  gest sha1 -file 
1b50: 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 34 66 65  $test_file,,,4fe
1b60: 30 33 62 37 66 32 35 36 38 35 35 31 64 66 61 66  03b7f2568551dfaf
1b70: 62 39 38 63 61 36 30 30 34 65 36 35 63 34 62 37  b98ca6004e65c4b7
1b80: 31 61 61 37 64 2c 2c 2c 0a 4d 44 20 46 69 6c 65  1aa7d,,,.MD File
1b90: 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha256,,,::tls:
1ba0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32  :md -digest sha2
1bb0: 35 36 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66  56 -file $test_f
1bc0: 69 6c 65 2c 2c 2c 39 64 33 35 37 38 66 63 31 33  ile,,,9d3578fc13
1bd0: 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66 33  8205cf0ee4b4cef3
1be0: 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62 31  5fe101bb4ecac7b1
1bf0: 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63 37  614c18e6fa48b5c7
1c00: 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 46 69 6c  f95e19,,,.MD Fil
1c10: 65 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73  e,sha512,,,::tls
1c20: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
1c30: 35 31 32 20 2d 66 69 6c 65 20 24 74 65 73 74 5f  512 -file $test_
1c40: 66 69 6c 65 2c 2c 2c 64 31 37 38 65 37 35 39 64  file,,,d178e759d
1c50: 63 35 39 31 32 37 30 37 31 35 38 38 64 32 66 61  c59127071588d2fa
1c60: 64 31 37 33 63 30 36 32 33 38 64 38 37 65 38 30  d173c06238d87e80
1c70: 30 61 36 34 30 33 63 30 61 33 30 64 61 61 34 66  0a6403c0a30daa4f
1c80: 61 61 66 30 35 64 30 65 37 63 65 30 34 39 31 36  aaf05d0e7ce04916
1c90: 61 66 61 61 36 61 35 38 61 33 30 63 62 65 62 35  afaa6a58a30cbeb5
1ca0: 39 37 64 61 63 62 30 31 63 36 32 66 39 66 62 39  97dacb01c62f9fb9
1cb0: 64 38 39 62 61 62 39 64 61 36 33 30 63 36 39 39  d89bab9da630c699
1cc0: 65 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 46 69  e4816f1,,,.MD Fi
1cd0: 6c 65 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62 69 6e  le,md5 bin,,,bin
1ce0: 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b  ary encode hex [
1cf0: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
1d00: 74 20 6d 64 35 20 2d 66 69 6c 65 20 24 74 65 73  t md5 -file $tes
1d10: 74 5f 66 69 6c 65 20 2d 62 69 6e 5d 2c 2c 2c 39  t_file -bin],,,9
1d20: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
1d30: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
1d40: 2c 2c 0a 4d 44 20 46 69 6c 65 2c 6d 64 35 20 68  ,,.MD File,md5 h
1d50: 65 78 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  ex,,,::tls::md -
1d60: 64 69 67 65 73 74 20 6d 64 35 20 2d 66 69 6c 65  digest md5 -file
1d70: 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 68 65 78   $test_file -hex
1d80: 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33  ,,,962bf0803b423
1d90: 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65  2ec23bd8427bb94e
1da0: 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c  a09,,,.,,,,,,,,,
1db0: 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 4d 44 20 45  ,.command,# MD E
1dc0: 72 72 6f 72 20 43 61 73 65 73 2c 2c 2c 2c 2c 2c  rror Cases,,,,,,
1dd0: 2c 2c 2c 0a 4d 44 20 45 72 72 6f 72 73 2c 54 6f  ,,,.MD Errors,To
1de0: 6f 20 66 65 77 20 61 72 67 73 2c 2c 2c 3a 3a 74  o few args,,,::t
1df0: 6c 73 3a 3a 6d 64 2c 2c 2c 22 77 72 6f 6e 67 20  ls::md,,,"wrong 
1e00: 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62  # args: should b
1e10: 65 20 22 22 3a 3a 74 6c 73 3a 3a 6d 64 20 3f 2d  e ""::tls::md ?-
1e20: 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68  bin|-hex? ?-ciph
1e30: 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73  er name? ?-diges
1e40: 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65  t name? ?-key ke
1e50: 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b  y? ?-mac name? [
1e60: 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20  -channel chan | 
1e70: 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65  -command cmdName
1e80: 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d   | -file filenam
1e90: 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61  e | ?-data? data
1ea0: 5d 22 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f  ]""",,,1.MD Erro
1eb0: 72 73 2c 54 6f 6f 20 6d 61 6e 79 20 61 72 67 73  rs,Too many args
1ec0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 74 6f 6f  ,,,::tls::md too
1ed0: 20 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 6c 69   many command li
1ee0: 6e 65 20 61 72 67 73 20 74 6f 20 70 61 73 73 20  ne args to pass 
1ef0: 74 68 65 20 74 65 73 74 20 77 69 74 68 6f 75 74  the test without
1f00: 20 61 6e 20 65 72 72 6f 72 20 6f 72 20 66 61 69   an error or fai
1f10: 6c 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67 20 23 20  ling,,,"wrong # 
1f20: 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20  args: should be 
1f30: 22 22 3a 3a 74 6c 73 3a 3a 6d 64 20 3f 2d 62 69  ""::tls::md ?-bi
1f40: 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65 72  n|-hex? ?-cipher
1f50: 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20   name? ?-digest 
1f60: 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f  name? ?-key key?
1f70: 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63   ?-mac name? [-c
1f80: 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63  hannel chan | -c
1f90: 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c  ommand cmdName |
1fa0: 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20   -file filename 
1fb0: 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d 22  | ?-data? data]"
1fc0: 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72 73  "",,,1.MD Errors
1fd0: 2c 49 6e 76 61 6c 69 64 20 64 69 67 65 73 74 2c  ,Invalid digest,
1fe0: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 62 6f 67 75  ,,::tls::md bogu
1ff0: 73 20 64 61 74 61 2c 2c 2c 22 69 6e 76 61 6c 69  s data,,,"invali
2000: 64 20 64 69 67 65 73 74 20 22 22 62 6f 67 75 73  d digest ""bogus
2010: 22 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72  """,,,1.MD Error
2020: 73 2c 49 6e 76 61 6c 69 64 20 64 69 67 65 73 74  s,Invalid digest
2030: 20 41 72 67 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64   Arg,,,::tls::md
2040: 20 2d 64 69 67 65 73 74 20 62 6f 67 75 73 20 2d   -digest bogus -
2050: 64 61 74 61 20 64 61 74 61 2c 2c 2c 22 69 6e 76  data data,,,"inv
2060: 61 6c 69 64 20 64 69 67 65 73 74 20 22 22 62 6f  alid digest ""bo
2070: 67 75 73 22 22 22 2c 2c 2c 31 0a 4d 44 20 45 72  gus""",,,1.MD Er
2080: 72 6f 72 73 2c 4e 6f 20 64 69 67 65 73 74 2c 2c  rors,No digest,,
2090: 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 68 65 78 20  ,::tls::md -hex 
20a0: 2d 64 61 74 61 20 76 61 6c 75 65 2c 2c 2c 6e 6f  -data value,,,no
20b0: 20 64 69 67 65 73 74 2c 2c 2c 31 0a 4d 44 20 45   digest,,,1.MD E
20c0: 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 6f 70  rrors,Invalid op
20d0: 74 69 6f 6e 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64  tion,,,::tls::md
20e0: 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20   -digest sha256 
20f0: 2d 62 6f 67 75 73 20 76 61 6c 75 65 2c 2c 2c 22  -bogus value,,,"
2100: 62 61 64 20 6f 70 74 69 6f 6e 20 22 22 2d 62 6f  bad option ""-bo
2110: 67 75 73 22 22 3a 20 6d 75 73 74 20 62 65 20 2d  gus"": must be -
2120: 62 69 6e 2c 20 2d 62 69 6e 61 72 79 2c 20 2d 68  bin, -binary, -h
2130: 65 78 2c 20 2d 68 65 78 61 64 65 63 69 6d 61 6c  ex, -hexadecimal
2140: 2c 20 2d 63 68 61 6e 2c 20 2d 63 68 61 6e 6e 65  , -chan, -channe
2150: 6c 2c 20 2d 63 69 70 68 65 72 2c 20 2d 63 6f 6d  l, -cipher, -com
2160: 6d 61 6e 64 2c 20 2d 64 61 74 61 2c 20 2d 64 69  mand, -data, -di
2170: 67 65 73 74 2c 20 2d 66 69 6c 65 2c 20 2d 66 69  gest, -file, -fi
2180: 6c 65 6e 61 6d 65 2c 20 2d 68 61 73 68 2c 20 2d  lename, -hash, -
2190: 6b 65 79 2c 20 6f 72 20 2d 6d 61 63 22 2c 2c 2c  key, or -mac",,,
21a0: 31 0a 4d 44 20 45 72 72 6f 72 73 2c 49 6e 76 61  1.MD Errors,Inva
21b0: 6c 69 64 20 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73  lid file,,,::tls
21c0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
21d0: 32 35 36 20 2d 66 69 6c 65 20 62 6f 67 75 73 2c  256 -file bogus,
21e0: 2c 2c 22 63 6f 75 6c 64 6e 27 74 20 6f 70 65 6e  ,,"couldn't open
21f0: 20 22 22 62 6f 67 75 73 22 22 3a 20 6e 6f 20 73   ""bogus"": no s
2200: 75 63 68 20 66 69 6c 65 20 6f 72 20 64 69 72 65  uch file or dire
2210: 63 74 6f 72 79 22 2c 2c 2c 31 0a 4d 44 20 45 72  ctory",,,1.MD Er
2220: 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 63 68 61  rors,Invalid cha
2230: 6e 6e 65 6c 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64  nnel,,,::tls::md
2240: 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20   -digest sha256 
2250: 2d 63 68 61 6e 6e 65 6c 20 62 6f 67 75 73 2c 2c  -channel bogus,,
2260: 2c 22 63 61 6e 20 6e 6f 74 20 66 69 6e 64 20 63  ,"can not find c
2270: 68 61 6e 6e 65 6c 20 6e 61 6d 65 64 20 22 22 62  hannel named ""b
2280: 6f 67 75 73 22 22 22 2c 2c 2c 31 0a 4d 44 20 45  ogus""",,,1.MD E
2290: 72 72 6f 72 73 2c 4e 6f 20 6f 70 65 72 61 74 69  rrors,No operati
22a0: 6f 6e 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  on,,,::tls::md -
22b0: 64 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 62  digest sha256 -b
22c0: 69 6e 2c 2c 2c 22 4e 6f 20 6f 70 65 72 61 74 69  in,,,"No operati
22d0: 6f 6e 3a 20 55 73 65 20 2d 63 68 61 6e 6e 65 6c  on: Use -channel
22e0: 2c 20 2d 63 6f 6d 6d 61 6e 64 2c 20 2d 64 61 74  , -command, -dat
22f0: 61 2c 20 6f 72 20 2d 66 69 6c 65 20 6f 70 74 69  a, or -file opti
2300: 6f 6e 22 2c 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c  on",,,1.,,,,,,,,
2310: 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ,,.,,,,,,,,,,.co
2320: 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 43 4d 41  mmand,# Test CMA
2330: 43 20 63 6f 6d 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c  C command,,,,,,,
2340: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
2350: 74 65 73 74 5f 63 69 70 68 65 72 20 22 22 61 65  test_cipher ""ae
2360: 73 2d 31 32 38 2d 63 62 63 22 22 22 2c 2c 2c 2c  s-128-cbc""",,,,
2370: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
2380: 65 74 20 74 65 73 74 5f 6b 65 79 20 22 22 45 78  et test_key ""Ex
2390: 61 6d 70 6c 65 20 6b 65 79 20 31 32 33 34 22 22  ample key 1234""
23a0: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d 41 43 2c  ",,,,,,,,,.CMAC,
23b0: 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d  data,,,::tls::cm
23c0: 61 63 20 2d 63 69 70 68 65 72 20 24 74 65 73 74  ac -cipher $test
23d0: 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65  _cipher -key $te
23e0: 73 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65  st_key -data $te
23f0: 73 74 5f 64 61 74 61 2c 2c 2c 62 61 66 35 63 32  st_data,,,baf5c2
2400: 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63  0f9973e2d606b14c
2410: 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 43 4d  7efdfe52fa,,,.CM
2420: 41 43 2c 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a  AC,file,,,::tls:
2430: 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20 24 74  :cmac -cipher $t
2440: 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20  est_cipher -key 
2450: 24 74 65 73 74 5f 6b 65 79 20 2d 66 69 6c 65 20  $test_key -file 
2460: 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 62 61 66  $test_file,,,baf
2470: 35 63 32 30 66 39 39 37 33 65 32 64 36 30 36 62  5c20f9973e2d606b
2480: 31 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c  14c7efdfe52fa,,,
2490: 0a 43 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c 2c 2c  .CMAC,channel,,,
24a0: 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e  digest_read_chan
24b0: 20 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 24 74 65   ::tls::cmac $te
24c0: 73 74 5f 66 69 6c 65 20 2d 63 69 70 68 65 72 20  st_file -cipher 
24d0: 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65  $test_cipher -ke
24e0: 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 62 61  y $test_key,,,ba
24f0: 66 35 63 32 30 66 39 39 37 33 65 32 64 36 30 36  f5c20f9973e2d606
2500: 62 31 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c  b14c7efdfe52fa,,
2510: 2c 0a 43 4d 41 43 2c 63 6f 6d 6d 61 6e 64 2c 2c  ,.CMAC,command,,
2520: 2c 64 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61  ,digest_accumula
2530: 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a  te $test_data ::
2540: 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65  tls::cmac -ciphe
2550: 72 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d  r $test_cipher -
2560: 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c  key $test_key,,,
2570: 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36  baf5c20f9973e2d6
2580: 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61  06b14c7efdfe52fa
2590: 2c 2c 2c 0a 43 4d 41 43 2c 64 61 74 61 20 62 69  ,,,.CMAC,data bi
25a0: 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64  n,,,binary encod
25b0: 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 63 6d  e hex [::tls::cm
25c0: 61 63 20 2d 62 69 6e 20 2d 63 69 70 68 65 72 20  ac -bin -cipher 
25d0: 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65  $test_cipher -ke
25e0: 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74  y $test_key -dat
25f0: 61 20 24 74 65 73 74 5f 64 61 74 61 5d 2c 2c 2c  a $test_data],,,
2600: 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36  baf5c20f9973e2d6
2610: 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61  06b14c7efdfe52fa
2620: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
2630: 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 4d 44  ommand,# Test MD
2640: 20 43 4d 41 43 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d   CMAC,,,,,,,,,.M
2650: 44 20 43 4d 41 43 2c 64 61 74 61 2c 2c 2c 3a 3a  D CMAC,data,,,::
2660: 74 6c 73 3a 3a 6d 64 20 2d 63 69 70 68 65 72 20  tls::md -cipher 
2670: 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65  $test_cipher -ke
2680: 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74  y $test_key -dat
2690: 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 62  a $test_data,,,b
26a0: 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36 30  af5c20f9973e2d60
26b0: 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61 2c  6b14c7efdfe52fa,
26c0: 2c 2c 0a 4d 44 20 43 4d 41 43 2c 66 69 6c 65 2c  ,,.MD CMAC,file,
26d0: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 63 69 70  ,,::tls::md -cip
26e0: 68 65 72 20 24 74 65 73 74 5f 63 69 70 68 65 72  her $test_cipher
26f0: 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20   -key $test_key 
2700: 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65  -file $test_file
2710: 2c 2c 2c 62 61 66 35 63 32 30 66 39 39 37 33 65  ,,,baf5c20f9973e
2720: 32 64 36 30 36 62 31 34 63 37 65 66 64 66 65 35  2d606b14c7efdfe5
2730: 32 66 61 2c 2c 2c 0a 4d 44 20 43 4d 41 43 2c 63  2fa,,,.MD CMAC,c
2740: 68 61 6e 6e 65 6c 2c 2c 2c 64 69 67 65 73 74 5f  hannel,,,digest_
2750: 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a  read_chan ::tls:
2760: 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65 20 2d  :md $test_file -
2770: 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69 70  cipher $test_cip
2780: 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  her -key $test_k
2790: 65 79 2c 2c 2c 62 61 66 35 63 32 30 66 39 39 37  ey,,,baf5c20f997
27a0: 33 65 32 64 36 30 36 62 31 34 63 37 65 66 64 66  3e2d606b14c7efdf
27b0: 65 35 32 66 61 2c 2c 2c 0a 4d 44 20 43 4d 41 43  e52fa,,,.MD CMAC
27c0: 2c 63 6f 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73  ,command,,,diges
27d0: 74 5f 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65  t_accumulate $te
27e0: 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d  st_data ::tls::m
27f0: 64 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f  d -cipher $test_
2800: 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73  cipher -key $tes
2810: 74 5f 6b 65 79 2c 2c 2c 62 61 66 35 63 32 30 66  t_key,,,baf5c20f
2820: 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65  9973e2d606b14c7e
2830: 66 64 66 65 35 32 66 61 2c 2c 2c 0a 4d 44 20 43  fdfe52fa,,,.MD C
2840: 4d 41 43 2c 64 61 74 61 20 62 69 6e 2c 2c 2c 62  MAC,data bin,,,b
2850: 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78  inary encode hex
2860: 20 5b 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 62 69 6e   [::tls::md -bin
2870: 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63   -cipher $test_c
2880: 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74  ipher -key $test
2890: 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74  _key -data $test
28a0: 5f 64 61 74 61 5d 2c 2c 2c 62 61 66 35 63 32 30  _data],,,baf5c20
28b0: 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37  f9973e2d606b14c7
28c0: 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 2c 2c 2c  efdfe52fa,,,.,,,
28d0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
28e0: 23 20 54 65 73 74 20 43 4d 41 43 20 53 68 6f 72  # Test CMAC Shor
28f0: 74 63 75 74 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d  tcut,,,,,,,,,.CM
2900: 41 43 20 53 68 6f 72 74 63 75 74 2c 64 61 74 61  AC Shortcut,data
2910: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 24  ,,,::tls::cmac $
2920: 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79  test_cipher -key
2930: 20 24 74 65 73 74 5f 6b 65 79 20 24 74 65 73 74   $test_key $test
2940: 5f 64 61 74 61 2c 2c 2c 62 61 66 35 63 32 30 66  _data,,,baf5c20f
2950: 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65  9973e2d606b14c7e
2960: 66 64 66 65 35 32 66 61 2c 2c 2c 0a 2c 2c 2c 2c  fdfe52fa,,,.,,,,
2970: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
2980: 20 43 4d 41 43 20 45 72 72 6f 72 20 43 61 73 65   CMAC Error Case
2990: 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d 41 43 20  s,,,,,,,,,.CMAC 
29a0: 45 72 72 6f 72 73 2c 54 6f 6f 20 66 65 77 20 61  Errors,Too few a
29b0: 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61  rgs,,,::tls::cma
29c0: 63 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61 72 67  c,,,"wrong # arg
29d0: 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22 22 3a  s: should be "":
29e0: 3a 74 6c 73 3a 3a 63 6d 61 63 20 3f 2d 62 69 6e  :tls::cmac ?-bin
29f0: 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65 72 20  |-hex? ?-cipher 
2a00: 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e  name? ?-digest n
2a10: 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20  ame? ?-key key? 
2a20: 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68  ?-mac name? [-ch
2a30: 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f  annel chan | -co
2a40: 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20  mmand cmdName | 
2a50: 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c  -file filename |
2a60: 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d 22 22   ?-data? data]""
2a70: 22 2c 2c 2c 31 0a 43 4d 41 43 20 45 72 72 6f 72  ",,,1.CMAC Error
2a80: 73 2c 54 6f 6f 20 6d 61 6e 79 20 61 72 67 73 2c  s,Too many args,
2a90: 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 74 6f  ,,::tls::cmac to
2aa0: 6f 20 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 6c  o many command l
2ab0: 69 6e 65 20 61 72 67 73 20 74 6f 20 70 61 73 73  ine args to pass
2ac0: 20 74 68 65 20 74 65 73 74 20 77 69 74 68 6f 75   the test withou
2ad0: 74 20 61 6e 20 65 72 72 6f 72 20 6f 72 20 66 61  t an error or fa
2ae0: 69 6c 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67 20 23  iling,,,"wrong #
2af0: 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65   args: should be
2b00: 20 22 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 3f   ""::tls::cmac ?
2b10: 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70  -bin|-hex? ?-cip
2b20: 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65  her name? ?-dige
2b30: 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b  st name? ?-key k
2b40: 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20  ey? ?-mac name? 
2b50: 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c  [-channel chan |
2b60: 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d   -command cmdNam
2b70: 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61  e | -file filena
2b80: 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74  me | ?-data? dat
2b90: 61 5d 22 22 22 2c 2c 2c 31 0a 43 4d 41 43 20 45  a]""",,,1.CMAC E
2ba0: 72 72 6f 72 73 2c 4e 6f 20 63 69 70 68 65 72 2c  rrors,No cipher,
2bb0: 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 68  ,,::tls::cmac -h
2bc0: 65 78 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64  ex -data $test_d
2bd0: 61 74 61 2c 2c 2c 6e 6f 20 63 69 70 68 65 72 2c  ata,,,no cipher,
2be0: 2c 2c 31 0a 43 4d 41 43 20 45 72 72 6f 72 73 2c  ,,1.CMAC Errors,
2bf0: 4e 6f 20 6b 65 79 2c 2c 2c 3a 3a 74 6c 73 3a 3a  No key,,,::tls::
2c00: 63 6d 61 63 20 2d 63 69 70 68 65 72 20 24 74 65  cmac -cipher $te
2c10: 73 74 5f 63 69 70 68 65 72 20 2d 64 61 74 61 20  st_cipher -data 
2c20: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 6e 6f 20  $test_data,,,no 
2c30: 6b 65 79 2c 2c 2c 31 0a 43 4d 41 43 20 45 72 72  key,,,1.CMAC Err
2c40: 6f 72 73 2c 49 6e 76 61 6c 69 64 20 63 69 70 68  ors,Invalid ciph
2c50: 65 72 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63  er,,,::tls::cmac
2c60: 20 2d 63 69 70 68 65 72 20 62 6f 67 75 73 20 2d   -cipher bogus -
2c70: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
2c80: 2c 2c 22 69 6e 76 61 6c 69 64 20 63 69 70 68 65  ,,"invalid ciphe
2c90: 72 20 22 22 62 6f 67 75 73 22 22 22 2c 2c 2c 31  r ""bogus""",,,1
2ca0: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c  .,,,,,,,,,,.,,,,
2cb0: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
2cc0: 20 54 65 73 74 20 48 4d 41 43 20 63 6f 6d 6d 61   Test HMAC comma
2cd0: 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  nd,,,,,,,,,.comm
2ce0: 61 6e 64 2c 73 65 74 20 74 65 73 74 5f 64 69 67  and,set test_dig
2cf0: 65 73 74 20 6d 64 35 2c 2c 2c 2c 2c 2c 2c 2c 2c  est md5,,,,,,,,,
2d00: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65  .command,"set te
2d10: 73 74 5f 6b 65 79 20 22 22 45 78 61 6d 70 6c 65  st_key ""Example
2d20: 20 6b 65 79 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c   key""",,,,,,,,,
2d30: 0a 48 4d 41 43 2c 64 61 74 61 2c 2c 2c 3a 3a 74  .HMAC,data,,,::t
2d40: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
2d50: 20 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d 6b   $test_digest -k
2d60: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61  ey $test_key -da
2d70: 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  ta $test_data,,,
2d80: 66 39 38 33 32 37 65 66 33 65 32 30 61 62 36 64  f98327ef3e20ab6d
2d90: 33 38 38 66 36 37 36 63 36 61 37 39 64 39 33 64  388f676c6a79d93d
2da0: 2c 2c 2c 0a 48 4d 41 43 2c 66 69 6c 65 2c 2c 2c  ,,,.HMAC,file,,,
2db0: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
2dc0: 65 73 74 20 24 74 65 73 74 5f 64 69 67 65 73 74  est $test_digest
2dd0: 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20   -key $test_key 
2de0: 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65  -file $test_file
2df0: 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30 61  ,,,f98327ef3e20a
2e00: 62 36 64 33 38 38 66 36 37 36 63 36 61 37 39 64  b6d388f676c6a79d
2e10: 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c 63 68 61 6e  93d,,,.HMAC,chan
2e20: 6e 65 6c 2c 2c 2c 64 69 67 65 73 74 5f 72 65 61  nel,,,digest_rea
2e30: 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 68 6d  d_chan ::tls::hm
2e40: 61 63 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 64  ac $test_file -d
2e50: 69 67 65 73 74 20 24 74 65 73 74 5f 64 69 67 65  igest $test_dige
2e60: 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65  st -key $test_ke
2e70: 79 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30  y,,,f98327ef3e20
2e80: 61 62 36 64 33 38 38 66 36 37 36 63 36 61 37 39  ab6d388f676c6a79
2e90: 64 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c 63 6f 6d  d93d,,,.HMAC,com
2ea0: 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74 5f 61 63  mand,,,digest_ac
2eb0: 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64  cumulate $test_d
2ec0: 61 74 61 20 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  ata ::tls::hmac 
2ed0: 2d 64 69 67 65 73 74 20 24 74 65 73 74 5f 64 69  -digest $test_di
2ee0: 67 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f  gest -key $test_
2ef0: 6b 65 79 2c 2c 2c 66 39 38 33 32 37 65 66 33 65  key,,,f98327ef3e
2f00: 32 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61  20ab6d388f676c6a
2f10: 37 39 64 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c 64  79d93d,,,.HMAC,d
2f20: 61 74 61 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79  ata bin,,,binary
2f30: 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74   encode hex [::t
2f40: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
2f50: 20 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d 62   $test_digest -b
2f60: 69 6e 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65  in -key $test_ke
2f70: 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  y -data $test_da
2f80: 74 61 5d 2c 2c 2c 66 39 38 33 32 37 65 66 33 65  ta],,,f98327ef3e
2f90: 32 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61  20ab6d388f676c6a
2fa0: 37 39 64 39 33 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  79d93d,,,.,,,,,,
2fb0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54  ,,,,.command,# T
2fc0: 65 73 74 20 4d 44 20 48 4d 41 43 2c 2c 2c 2c 2c  est MD HMAC,,,,,
2fd0: 2c 2c 2c 2c 0a 4d 44 20 48 4d 41 43 2c 64 61 74  ,,,,.MD HMAC,dat
2fe0: 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  a,,,::tls::md -d
2ff0: 69 67 65 73 74 20 24 74 65 73 74 5f 64 69 67 65  igest $test_dige
3000: 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65  st -key $test_ke
3010: 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  y -data $test_da
3020: 74 61 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32  ta,,,f98327ef3e2
3030: 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61 37  0ab6d388f676c6a7
3040: 39 64 39 33 64 2c 2c 2c 0a 4d 44 20 48 4d 41 43  9d93d,,,.MD HMAC
3050: 2c 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ,file,,,::tls::m
3060: 64 20 2d 64 69 67 65 73 74 20 24 74 65 73 74 5f  d -digest $test_
3070: 64 69 67 65 73 74 20 2d 6b 65 79 20 24 74 65 73  digest -key $tes
3080: 74 5f 6b 65 79 20 2d 66 69 6c 65 20 24 74 65 73  t_key -file $tes
3090: 74 5f 66 69 6c 65 2c 2c 2c 66 39 38 33 32 37 65  t_file,,,f98327e
30a0: 66 33 65 32 30 61 62 36 64 33 38 38 66 36 37 36  f3e20ab6d388f676
30b0: 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a 4d 44 20  c6a79d93d,,,.MD 
30c0: 48 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c 2c 2c 64  HMAC,channel,,,d
30d0: 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e 20  igest_read_chan 
30e0: 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f  ::tls::md $test_
30f0: 66 69 6c 65 20 2d 64 69 67 65 73 74 20 24 74 65  file -digest $te
3100: 73 74 5f 64 69 67 65 73 74 20 2d 6b 65 79 20 24  st_digest -key $
3110: 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39 38 33 32  test_key,,,f9832
3120: 37 65 66 33 65 32 30 61 62 36 64 33 38 38 66 36  7ef3e20ab6d388f6
3130: 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a 4d  76c6a79d93d,,,.M
3140: 44 20 48 4d 41 43 2c 63 6f 6d 6d 61 6e 64 2c 2c  D HMAC,command,,
3150: 2c 64 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61  ,digest_accumula
3160: 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a  te $test_data ::
3170: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
3180: 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d 6b 65  $test_digest -ke
3190: 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39  y $test_key,,,f9
31a0: 38 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38  8327ef3e20ab6d38
31b0: 38 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c  8f676c6a79d93d,,
31c0: 2c 0a 4d 44 20 48 4d 41 43 2c 64 61 74 61 20 62  ,.MD HMAC,data b
31d0: 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f  in,,,binary enco
31e0: 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 6d  de hex [::tls::m
31f0: 64 20 2d 64 69 67 65 73 74 20 24 74 65 73 74 5f  d -digest $test_
3200: 64 69 67 65 73 74 20 2d 62 69 6e 20 2d 6b 65 79  digest -bin -key
3210: 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74 61   $test_key -data
3220: 20 24 74 65 73 74 5f 64 61 74 61 5d 2c 2c 2c 66   $test_data],,,f
3230: 39 38 33 32 37 65 66 33 65 32 30 61 62 36 64 33  98327ef3e20ab6d3
3240: 38 38 66 36 37 36 63 36 61 37 39 64 39 33 64 2c  88f676c6a79d93d,
3250: 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ,,.,,,,,,,,,,.co
3260: 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 48 4d 41  mmand,# Test HMA
3270: 43 20 53 68 6f 72 74 63 75 74 2c 2c 2c 2c 2c 2c  C Shortcut,,,,,,
3280: 2c 2c 2c 0a 48 4d 41 43 20 53 68 6f 72 74 63 75  ,,,.HMAC Shortcu
3290: 74 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a  t,data,,,::tls::
32a0: 68 6d 61 63 20 24 74 65 73 74 5f 64 69 67 65 73  hmac $test_diges
32b0: 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79  t -key $test_key
32c0: 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 66 39   $test_data,,,f9
32d0: 38 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38  8327ef3e20ab6d38
32e0: 38 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c  8f676c6a79d93d,,
32f0: 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  ,.,,,,,,,,,,.com
3300: 6d 61 6e 64 2c 23 20 48 4d 41 43 20 45 72 72 6f  mand,# HMAC Erro
3310: 72 20 43 61 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c  r Cases,,,,,,,,,
3320: 0a 48 4d 41 43 20 45 72 72 6f 72 73 2c 54 6f 6f  .HMAC Errors,Too
3330: 20 66 65 77 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c   few args,,,::tl
3340: 73 3a 3a 68 6d 61 63 2c 2c 2c 22 77 72 6f 6e 67  s::hmac,,,"wrong
3350: 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20   # args: should 
3360: 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 68 6d 61 63  be ""::tls::hmac
3370: 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63   ?-bin|-hex? ?-c
3380: 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69  ipher name? ?-di
3390: 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79  gest name? ?-key
33a0: 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65   key? ?-mac name
33b0: 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e  ? [-channel chan
33c0: 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e   | -command cmdN
33d0: 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65  ame | -file file
33e0: 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64  name | ?-data? d
33f0: 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 48 4d 41 43  ata]""",,,1.HMAC
3400: 20 45 72 72 6f 72 73 2c 54 6f 6f 20 6d 61 6e 79   Errors,Too many
3410: 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68   args,,,::tls::h
3420: 6d 61 63 20 74 6f 6f 20 6d 61 6e 79 20 63 6f 6d  mac too many com
3430: 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 73 20 74  mand line args t
3440: 6f 20 70 61 73 73 20 74 68 65 20 74 65 73 74 20  o pass the test 
3450: 77 69 74 68 6f 75 74 20 61 6e 20 65 72 72 6f 72  without an error
3460: 20 6f 72 20 66 61 69 6c 69 6e 67 2c 2c 2c 22 77   or failing,,,"w
3470: 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f  rong # args: sho
3480: 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a  uld be ""::tls::
3490: 68 6d 61 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f  hmac ?-bin|-hex?
34a0: 20 3f 2d 63 69 70 68 65 72 20 6e 61 6d 65 3f 20   ?-cipher name? 
34b0: 3f 2d 64 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f  ?-digest name? ?
34c0: 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20  -key key? ?-mac 
34d0: 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20  name? [-channel 
34e0: 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20  chan | -command 
34f0: 63 6d 64 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20  cmdName | -file 
3500: 66 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74  filename | ?-dat
3510: 61 3f 20 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a  a? data]""",,,1.
3520: 48 4d 41 43 20 45 72 72 6f 72 73 2c 4e 6f 20 64  HMAC Errors,No d
3530: 69 67 65 73 74 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68  igest,,,::tls::h
3540: 6d 61 63 20 2d 68 65 78 20 2d 64 61 74 61 20 24  mac -hex -data $
3550: 74 65 73 74 5f 64 61 74 61 2c 2c 2c 6e 6f 20 64  test_data,,,no d
3560: 69 67 65 73 74 2c 2c 2c 31 0a 48 4d 41 43 20 45  igest,,,1.HMAC E
3570: 72 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c 2c 2c 3a  rrors,No key,,,:
3580: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
3590: 73 74 20 73 68 61 32 35 36 20 2d 64 61 74 61 20  st sha256 -data 
35a0: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 6e 6f 20  $test_data,,,no 
35b0: 6b 65 79 2c 2c 2c 31 0a 48 4d 41 43 20 45 72 72  key,,,1.HMAC Err
35c0: 6f 72 73 2c 49 6e 76 61 6c 69 64 20 64 69 67 65  ors,Invalid dige
35d0: 73 74 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  st,,,::tls::md -
35e0: 64 69 67 65 73 74 20 62 6f 67 75 73 20 2d 6b 65  digest bogus -ke
35f0: 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74  y $test_key -dat
3600: 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 22  a $test_data,,,"
3610: 69 6e 76 61 6c 69 64 20 64 69 67 65 73 74 20 22  invalid digest "
3620: 22 62 6f 67 75 73 22 22 22 2c 2c 2c 31 0a 2c 2c  "bogus""",,,1.,,
3630: 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c  ,,,,,,,,.,,,,,,,
3640: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65  ,,,.command,# Te
3650: 73 74 20 4d 41 43 20 63 6f 6d 6d 61 6e 64 2c 2c  st MAC command,,
3660: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
3670: 22 73 65 74 20 74 65 73 74 5f 63 69 70 68 65 72  "set test_cipher
3680: 20 22 22 61 65 73 2d 31 32 38 2d 63 62 63 22 22   ""aes-128-cbc""
3690: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ",,,,,,,,,.comma
36a0: 6e 64 2c 73 65 74 20 74 65 73 74 5f 64 69 67 65  nd,set test_dige
36b0: 73 74 20 73 68 61 32 35 36 2c 2c 2c 2c 2c 2c 2c  st sha256,,,,,,,
36c0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
36d0: 74 65 73 74 5f 6b 65 79 20 22 22 45 78 61 6d 70  test_key ""Examp
36e0: 6c 65 20 6b 65 79 20 31 32 33 34 22 22 22 2c 2c  le key 1234""",,
36f0: 2c 2c 2c 2c 2c 2c 2c 0a 4d 41 43 2c 43 4d 41 43  ,,,,,,,.MAC,CMAC
3700: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d 63  ,,,::tls::mac -c
3710: 69 70 68 65 72 20 24 74 65 73 74 5f 63 69 70 68  ipher $test_ciph
3720: 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65  er -key $test_ke
3730: 79 20 2d 6d 61 63 20 63 6d 61 63 20 2d 64 61 74  y -mac cmac -dat
3740: 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 62  a $test_data,,,b
3750: 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36 30  af5c20f9973e2d60
3760: 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61 2c  6b14c7efdfe52fa,
3770: 2c 2c 0a 4d 41 43 2c 48 4d 41 43 2c 2c 2c 3a 3a  ,,.MAC,HMAC,,,::
3780: 74 6c 73 3a 3a 6d 61 63 20 2d 64 69 67 65 73 74  tls::mac -digest
3790: 20 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d 6b   $test_digest -k
37a0: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 6d 61  ey $test_key -ma
37b0: 63 20 68 6d 61 63 20 2d 64 61 74 61 20 24 74 65  c hmac -data $te
37c0: 73 74 5f 64 61 74 61 2c 2c 2c 36 37 36 64 61 66  st_data,,,676daf
37d0: 39 36 33 37 30 64 30 65 33 63 35 35 39 38 35 35  96370d0e3c559855
37e0: 37 64 61 33 38 61 39 61 38 31 30 61 34 66 62 61  7da38a9a810a4fba
37f0: 63 62 62 32 64 31 30 63 36 37 66 36 64 66 61 38  cbb2d10c67f6dfa8
3800: 33 66 31 30 66 34 38 65 39 36 2c 2c 2c 0a 4d 41  3f10f48e96,,,.MA
3810: 43 2c 4d 44 2d 43 4d 41 43 2c 2c 2c 3a 3a 74 6c  C,MD-CMAC,,,::tl
3820: 73 3a 3a 6d 64 20 2d 63 69 70 68 65 72 20 24 74  s::md -cipher $t
3830: 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20  est_cipher -key 
3840: 24 74 65 73 74 5f 6b 65 79 20 2d 6d 61 63 20 63  $test_key -mac c
3850: 6d 61 63 20 2d 64 61 74 61 20 24 74 65 73 74 5f  mac -data $test_
3860: 64 61 74 61 2c 2c 2c 62 61 66 35 63 32 30 66 39  data,,,baf5c20f9
3870: 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66  973e2d606b14c7ef
3880: 64 66 65 35 32 66 61 2c 2c 2c 0a 4d 41 43 2c 4d  dfe52fa,,,.MAC,M
3890: 44 2d 48 4d 41 43 2c 2c 2c 3a 3a 74 6c 73 3a 3a  D-HMAC,,,::tls::
38a0: 6d 64 20 2d 64 69 67 65 73 74 20 24 74 65 73 74  md -digest $test
38b0: 5f 64 69 67 65 73 74 20 2d 6b 65 79 20 24 74 65  _digest -key $te
38c0: 73 74 5f 6b 65 79 20 2d 6d 61 63 20 68 6d 61 63  st_key -mac hmac
38d0: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74   -data $test_dat
38e0: 61 2c 2c 2c 36 37 36 64 61 66 39 36 33 37 30 64  a,,,676daf96370d
38f0: 30 65 33 63 35 35 39 38 35 35 37 64 61 33 38 61  0e3c5598557da38a
3900: 39 61 38 31 30 61 34 66 62 61 63 62 62 32 64 31  9a810a4fbacbb2d1
3910: 30 63 36 37 66 36 64 66 61 38 33 66 31 30 66 34  0c67f6dfa83f10f4
3920: 38 65 39 36 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  8e96,,,.,,,,,,,,
3930: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 4d 41 43  ,,.command,# MAC
3940: 20 45 72 72 6f 72 20 43 61 73 65 73 2c 2c 2c 2c   Error Cases,,,,
3950: 2c 2c 2c 2c 2c 0a 4d 41 43 20 45 72 72 6f 72 73  ,,,,,.MAC Errors
3960: 2c 54 6f 6f 20 66 65 77 20 61 72 67 73 2c 2c 2c  ,Too few args,,,
3970: 3a 3a 74 6c 73 3a 3a 6d 61 63 2c 2c 2c 22 77 72  ::tls::mac,,,"wr
3980: 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75  ong # args: shou
3990: 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 6d  ld be ""::tls::m
39a0: 61 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f  ac ?-bin|-hex? ?
39b0: 2d 63 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f 2d  -cipher name? ?-
39c0: 64 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b  digest name? ?-k
39d0: 65 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e 61  ey key? ?-mac na
39e0: 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63 68  me? [-channel ch
39f0: 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d  an | -command cm
3a00: 64 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66 69  dName | -file fi
3a10: 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61 3f  lename | ?-data?
3a20: 20 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 4d 41   data]""",,,1.MA
3a30: 43 20 45 72 72 6f 72 73 2c 4e 6f 20 6d 61 63 2c  C Errors,No mac,
3a40: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d 6b 65  ,,::tls::mac -ke
3a50: 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74  y $test_key -dat
3a60: 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 6e  a $test_data,,,n
3a70: 6f 20 4d 41 43 2c 2c 2c 31 0a 4d 41 43 20 45 72  o MAC,,,1.MAC Er
3a80: 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c 2c 2c 3a 3a  rors,No key,,,::
3a90: 74 6c 73 3a 3a 6d 61 63 20 2d 6d 61 63 20 68 6d  tls::mac -mac hm
3aa0: 61 63 20 2d 64 69 67 65 73 74 20 24 74 65 73 74  ac -digest $test
3ab0: 5f 64 69 67 65 73 74 20 2d 64 61 74 61 20 24 74  _digest -data $t
3ac0: 65 73 74 5f 64 61 74 61 2c 2c 2c 6e 6f 20 6b 65  est_data,,,no ke
3ad0: 79 2c 2c 2c 31 0a 4d 41 43 20 45 72 72 6f 72 73  y,,,1.MAC Errors
3ae0: 2c 49 6e 76 61 6c 69 64 20 4d 41 43 2c 2c 2c 3a  ,Invalid MAC,,,:
3af0: 3a 74 6c 73 3a 3a 6d 61 63 20 2d 6d 61 63 20 62  :tls::mac -mac b
3b00: 6f 67 75 73 20 2d 6b 65 79 20 24 74 65 73 74 5f  ogus -key $test_
3b10: 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f  key -data $test_
3b20: 64 61 74 61 2c 2c 2c 22 69 6e 76 61 6c 69 64 20  data,,,"invalid 
3b30: 4d 41 43 20 22 22 62 6f 67 75 73 22 22 22 2c 2c  MAC ""bogus""",,
3b40: 2c 31 0a 4d 41 43 20 45 72 72 6f 72 73 2c 54 6f  ,1.MAC Errors,To
3b50: 6f 20 6d 61 6e 79 20 61 72 67 73 2c 2c 2c 3a 3a  o many args,,,::
3b60: 74 6c 73 3a 3a 6d 61 63 20 74 6f 6f 20 6d 61 6e  tls::mac too man
3b70: 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61  y command line a
3b80: 72 67 73 20 74 6f 20 70 61 73 73 20 74 68 65 20  rgs to pass the 
3b90: 74 65 73 74 20 77 69 74 68 6f 75 74 20 61 6e 20  test without an 
3ba0: 65 72 72 6f 72 20 6f 72 20 66 61 69 6c 69 6e 67  error or failing
3bb0: 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61 72 67 73  ,,,"wrong # args
3bc0: 3a 20 73 68 6f 75 6c 64 20 62 65 20 22 22 3a 3a  : should be ""::
3bd0: 74 6c 73 3a 3a 6d 61 63 20 3f 2d 62 69 6e 7c 2d  tls::mac ?-bin|-
3be0: 68 65 78 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61  hex? ?-cipher na
3bf0: 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d  me? ?-digest nam
3c00: 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d  e? ?-key key? ?-
3c10: 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e  mac name? [-chan
3c20: 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d  nel chan | -comm
3c30: 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66  and cmdName | -f
3c40: 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f  ile filename | ?
3c50: 2d 64 61 74 61 3f 20 64 61 74 61 5d 22 22 22 2c  -data? data]""",
3c60: 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c  ,,1.,,,,,,,,,,.,
3c70: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
3c80: 64 2c 23 20 52 46 43 20 31 33 32 31 20 4d 65 73  d,# RFC 1321 Mes
3c90: 73 61 67 65 20 44 69 67 65 73 74 20 35 2c 2c 2c  sage Digest 5,,,
3ca0: 2c 2c 2c 2c 2c 2c 0a 52 46 43 31 33 32 31 2d 4d  ,,,,,,.RFC1321-M
3cb0: 44 35 2c 54 43 31 2c 2c 2c 22 3a 3a 74 6c 73 3a  D5,TC1,,,"::tls:
3cc0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20  :md -digest md5 
3cd0: 2d 64 61 74 61 20 22 22 22 22 22 2c 2c 2c 64 34  -data """"",,,d4
3ce0: 31 64 38 63 64 39 38 66 30 30 62 32 30 34 65 39  1d8cd98f00b204e9
3cf0: 38 30 30 39 39 38 65 63 66 38 34 32 37 65 2c 2c  800998ecf8427e,,
3d00: 2c 0a 52 46 43 31 33 32 31 2d 4d 44 35 2c 54 43  ,.RFC1321-MD5,TC
3d10: 32 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  2,,,"::tls::md -
3d20: 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61  digest md5 -data
3d30: 20 22 22 61 22 22 22 2c 2c 2c 30 63 63 31 37 35   ""a""",,,0cc175
3d40: 62 39 63 30 66 31 62 36 61 38 33 31 63 33 39 39  b9c0f1b6a831c399
3d50: 65 32 36 39 37 37 32 36 36 31 2c 2c 2c 0a 52 46  e269772661,,,.RF
3d60: 43 31 33 32 31 2d 4d 44 35 2c 54 43 33 2c 2c 2c  C1321-MD5,TC3,,,
3d70: 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65  "::tls::md -dige
3d80: 73 74 20 6d 64 35 20 2d 64 61 74 61 20 22 22 61  st md5 -data ""a
3d90: 62 63 22 22 22 2c 2c 2c 39 30 30 31 35 30 39 38  bc""",,,90015098
3da0: 33 63 64 32 34 66 62 30 64 36 39 36 33 66 37 64  3cd24fb0d6963f7d
3db0: 32 38 65 31 37 66 37 32 2c 2c 2c 0a 52 46 43 31  28e17f72,,,.RFC1
3dc0: 33 32 31 2d 4d 44 35 2c 54 43 34 2c 2c 2c 22 3a  321-MD5,TC4,,,":
3dd0: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
3de0: 20 6d 64 35 20 2d 64 61 74 61 20 22 22 6d 65 73   md5 -data ""mes
3df0: 73 61 67 65 20 64 69 67 65 73 74 22 22 22 2c 2c  sage digest""",,
3e00: 2c 66 39 36 62 36 39 37 64 37 63 62 37 39 33 38  ,f96b697d7cb7938
3e10: 64 35 32 35 61 32 66 33 31 61 61 66 31 36 31 64  d525a2f31aaf161d
3e20: 30 2c 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44 35  0,,,.RFC1321-MD5
3e30: 2c 54 43 35 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d  ,TC5,,,"::tls::m
3e40: 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64  d -digest md5 -d
3e50: 61 74 61 20 22 22 61 62 63 64 65 66 67 68 69 6a  ata ""abcdefghij
3e60: 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a  klmnopqrstuvwxyz
3e70: 22 22 22 2c 2c 2c 63 33 66 63 64 33 64 37 36 31  """,,,c3fcd3d761
3e80: 39 32 65 34 30 30 37 64 66 62 34 39 36 63 63 61  92e4007dfb496cca
3e90: 36 37 65 31 33 62 2c 2c 2c 0a 52 46 43 31 33 32  67e13b,,,.RFC132
3ea0: 31 2d 4d 44 35 2c 54 43 36 2c 2c 2c 22 3a 3a 74  1-MD5,TC6,,,"::t
3eb0: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d  ls::md -digest m
3ec0: 64 35 20 2d 64 61 74 61 20 22 22 41 42 43 44 45  d5 -data ""ABCDE
3ed0: 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55  FGHIJKLMNOPQRSTU
3ee0: 56 57 58 59 5a 61 62 63 64 65 66 67 68 69 6a 6b  VWXYZabcdefghijk
3ef0: 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30  lmnopqrstuvwxyz0
3f00: 31 32 33 34 35 36 37 38 39 22 22 22 2c 2c 2c 64  123456789""",,,d
3f10: 31 37 34 61 62 39 38 64 32 37 37 64 39 66 35 61  174ab98d277d9f5a
3f20: 35 36 31 31 63 32 63 39 66 34 31 39 64 39 66 2c  5611c2c9f419d9f,
3f30: 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44 35 2c 54  ,,.RFC1321-MD5,T
3f40: 43 37 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20  C7,,,"::tls::md 
3f50: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74  -digest md5 -dat
3f60: 61 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74  a [string repeat
3f70: 20 22 22 31 32 33 34 35 36 37 38 39 30 22 22 20   ""1234567890"" 
3f80: 38 5d 22 2c 2c 2c 35 37 65 64 66 34 61 32 32 62  8]",,,57edf4a22b
3f90: 65 33 63 39 35 35 61 63 34 39 64 61 32 65 32 31  e3c955ac49da2e21
3fa0: 30 37 62 36 37 61 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  07b67a,,,.,,,,,,
3fb0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52  ,,,,.command,# R
3fc0: 46 43 20 36 32 33 34 20 53 48 41 31 2c 2c 2c 2c  FC 6234 SHA1,,,,
3fd0: 2c 2c 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44  ,,,,,.RFC6234-MD
3fe0: 2d 53 48 41 31 2c 54 43 31 2c 2c 2c 22 3a 3a 74  -SHA1,TC1,,,"::t
3ff0: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
4000: 68 61 31 20 2d 64 61 74 61 20 22 22 61 62 63 22  ha1 -data ""abc"
4010: 22 22 2c 2c 2c 61 39 39 39 33 65 33 36 34 37 30  "",,,a9993e36470
4020: 36 38 31 36 61 62 61 33 65 32 35 37 31 37 38 35  6816aba3e2571785
4030: 30 63 32 36 63 39 63 64 30 64 38 39 64 2c 2c 2c  0c26c9cd0d89d,,,
4040: 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 31  .RFC6234-MD-SHA1
4050: 2c 54 43 32 5f 31 2c 2c 2c 22 3a 3a 74 6c 73 3a  ,TC2_1,,,"::tls:
4060: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 31  :md -digest sha1
4070: 20 2d 64 61 74 61 20 22 22 61 62 63 64 62 63 64   -data ""abcdbcd
4080: 65 63 64 65 66 64 65 66 67 65 66 67 68 66 67 68  ecdefdefgefghfgh
4090: 69 67 68 69 6a 68 69 6a 6b 69 6a 6b 6c 6a 6b 6c  ighijhijkijkljkl
40a0: 6d 6b 6c 6d 6e 6c 6d 6e 6f 6d 6e 6f 70 6e 6f 70  mklmnlmnomnopnop
40b0: 71 22 22 22 2c 2c 2c 38 34 39 38 33 65 34 34 31  q""",,,84983e441
40c0: 63 33 62 64 32 36 65 62 61 61 65 34 61 61 31 66  c3bd26ebaae4aa1f
40d0: 39 35 31 32 39 65 35 65 35 34 36 37 30 66 31 2c  95129e5e54670f1,
40e0: 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48  ,,.RFC6234-MD-SH
40f0: 41 31 2c 54 43 33 2c 2c 2c 22 3a 3a 74 6c 73 3a  A1,TC3,,,"::tls:
4100: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 31  :md -digest sha1
4110: 20 2d 64 61 74 61 20 5b 73 74 72 69 6e 67 20 72   -data [string r
4120: 65 70 65 61 74 20 22 22 61 22 22 20 31 30 30 30  epeat ""a"" 1000
4130: 30 30 30 5d 22 2c 2c 2c 33 34 61 61 39 37 33 63  000]",,,34aa973c
4140: 64 34 63 34 64 61 61 34 66 36 31 65 65 62 32 62  d4c4daa4f61eeb2b
4150: 64 62 61 64 32 37 33 31 36 35 33 34 30 31 36 66  dbad27316534016f
4160: 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53  ,,,.RFC6234-MD-S
4170: 48 41 31 2c 54 43 34 2c 2c 2c 22 3a 3a 74 6c 73  HA1,TC4,,,"::tls
4180: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
4190: 31 20 2d 64 61 74 61 20 5b 73 74 72 69 6e 67 20  1 -data [string 
41a0: 72 65 70 65 61 74 20 22 22 30 31 32 33 34 35 36  repeat ""0123456
41b0: 37 22 22 20 38 30 5d 22 2c 2c 2c 64 65 61 33 35  7"" 80]",,,dea35
41c0: 36 61 32 63 64 64 64 39 30 63 37 61 37 65 63 65  6a2cddd90c7a7ece
41d0: 64 63 35 65 62 62 35 36 33 39 33 34 66 34 36 30  dc5ebb563934f460
41e0: 34 35 32 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d  452,,,.RFC6234-M
41f0: 44 2d 53 48 41 31 2c 54 43 36 2c 2c 2c 22 3a 3a  D-SHA1,TC6,,,"::
4200: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
4210: 73 68 61 31 20 2d 64 61 74 61 20 22 22 5c 78 35  sha1 -data ""\x5
4220: 65 22 22 22 2c 2c 2c 35 65 36 66 38 30 61 33 34  e""",,,5e6f80a34
4230: 61 39 37 39 38 63 61 66 63 36 61 35 64 62 39 36  a9798cafc6a5db96
4240: 63 63 35 37 62 61 34 63 34 64 62 35 39 63 32 2c  cc57ba4c4db59c2,
4250: 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48  ,,.RFC6234-MD-SH
4260: 41 31 2c 54 43 38 5f 31 2c 2c 2c 22 3a 3a 74 6c  A1,TC8_1,,,"::tl
4270: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68  s::md -digest sh
4280: 61 31 20 2d 64 61 74 61 20 22 22 5c 78 39 61 5c  a1 -data ""\x9a\
4290: 78 37 64 5c 78 66 64 5c 78 66 31 5c 78 65 63 5c  x7d\xfd\xf1\xec\
42a0: 78 65 61 5c 78 64 30 5c 78 36 65 5c 78 64 36 5c  xea\xd0\x6e\xd6\
42b0: 78 34 36 5c 78 61 61 5c 78 35 35 5c 78 66 65 5c  x46\xaa\x55\xfe\
42c0: 78 37 35 5c 78 37 31 5c 78 34 36 22 22 22 2c 2c  x75\x71\x46""",,
42d0: 2c 38 32 61 62 66 66 36 36 30 35 64 62 65 31 63  ,82abff6605dbe1c
42e0: 31 37 64 65 66 31 32 61 33 39 34 66 61 32 32 61  17def12a394fa22a
42f0: 38 32 62 35 34 34 61 33 35 2c 2c 2c 0a 52 46 43  82b544a35,,,.RFC
4300: 36 32 33 34 2d 4d 44 2d 53 48 41 31 2c 54 43 31  6234-MD-SHA1,TC1
4310: 30 5f 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64  0_1,,,"::tls::md
4320: 20 2d 64 69 67 65 73 74 20 73 68 61 31 20 2d 64   -digest sha1 -d
4330: 61 74 61 20 22 22 5c 78 66 37 5c 78 38 66 5c 78  ata ""\xf7\x8f\x
4340: 39 32 5c 78 31 34 5c 78 31 62 5c 78 63 64 5c 78  92\x14\x1b\xcd\x
4350: 31 37 5c 78 30 61 5c 78 65 38 5c 78 39 62 5c 78  17\x0a\xe8\x9b\x
4360: 34 66 5c 78 62 61 5c 78 31 35 5c 78 61 31 5c 78  4f\xba\x15\xa1\x
4370: 64 35 5c 78 39 66 5c 78 33 66 5c 78 64 38 5c 78  d5\x9f\x3f\xd8\x
4380: 34 64 5c 78 32 32 5c 78 33 63 5c 78 39 32 5c 78  4d\x22\x3c\x92\x
4390: 35 31 5c 78 62 64 5c 78 61 63 5c 78 62 62 5c 78  51\xbd\xac\xbb\x
43a0: 61 65 5c 78 36 31 5c 78 64 30 5c 78 35 65 5c 78  ae\x61\xd0\x5e\x
43b0: 64 31 5c 78 31 35 5c 78 61 30 5c 78 36 61 5c 78  d1\x15\xa0\x6a\x
43c0: 37 63 5c 78 65 31 5c 78 31 37 5c 78 62 37 5c 78  7c\xe1\x17\xb7\x
43d0: 62 65 5c 78 65 61 5c 78 64 32 5c 78 34 34 5c 78  be\xea\xd2\x44\x
43e0: 32 31 5c 78 64 65 5c 78 64 39 5c 78 63 33 5c 78  21\xde\xd9\xc3\x
43f0: 32 35 5c 78 39 32 5c 78 62 64 5c 78 35 37 5c 78  25\x92\xbd\x57\x
4400: 65 64 5c 78 65 61 5c 78 65 33 5c 78 39 63 5c 78  ed\xea\xe3\x9c\x
4410: 33 39 5c 78 66 61 5c 78 31 66 5c 78 65 38 5c 78  39\xfa\x1f\xe8\x
4420: 39 34 5c 78 36 61 5c 78 38 34 5c 78 64 30 5c 78  94\x6a\x84\xd0\x
4430: 63 66 5c 78 31 66 5c 78 37 62 5c 78 65 65 5c 78  cf\x1f\x7b\xee\x
4440: 61 64 5c 78 31 37 5c 78 31 33 5c 78 65 32 5c 78  ad\x17\x13\xe2\x
4450: 65 30 5c 78 39 35 5c 78 39 38 5c 78 39 37 5c 78  e0\x95\x98\x97\x
4460: 33 34 5c 78 37 66 5c 78 36 37 5c 78 63 38 5c 78  34\x7f\x67\xc8\x
4470: 30 62 5c 78 30 34 5c 78 30 30 5c 78 63 32 5c 78  0b\x04\x00\xc2\x
4480: 30 39 5c 78 38 31 5c 78 35 64 5c 78 36 62 5c 78  09\x81\x5d\x6b\x
4490: 31 30 5c 78 61 36 5c 78 38 33 5c 78 38 33 5c 78  10\xa6\x83\x83\x
44a0: 36 66 5c 78 64 35 5c 78 35 36 5c 78 32 61 5c 78  6f\xd5\x56\x2a\x
44b0: 35 36 5c 78 63 61 5c 78 62 31 5c 78 61 32 5c 78  56\xca\xb1\xa2\x
44c0: 38 65 5c 78 38 31 5c 78 62 36 5c 78 35 37 5c 78  8e\x81\xb6\x57\x
44d0: 36 36 5c 78 35 34 5c 78 36 33 5c 78 31 63 5c 78  66\x54\x63\x1c\x
44e0: 66 31 5c 78 36 35 5c 78 36 36 5c 78 62 38 5c 78  f1\x65\x66\xb8\x
44f0: 36 65 5c 78 33 62 5c 78 33 33 5c 78 61 31 5c 78  6e\x3b\x33\xa1\x
4500: 30 38 5c 78 62 30 5c 78 35 33 5c 78 30 37 5c 78  08\xb0\x53\x07\x
4510: 63 30 5c 78 30 61 5c 78 66 66 5c 78 31 34 5c 78  c0\x0a\xff\x14\x
4520: 61 37 5c 78 36 38 5c 78 65 64 5c 78 37 33 5c 78  a7\x68\xed\x73\x
4530: 35 30 5c 78 36 30 5c 78 36 61 5c 78 30 66 5c 78  50\x60\x6a\x0f\x
4540: 38 35 5c 78 65 36 5c 78 61 39 5c 78 31 64 5c 78  85\xe6\xa9\x1d\x
4550: 33 39 5c 78 36 66 5c 78 35 62 5c 78 35 63 5c 78  39\x6f\x5b\x5c\x
4560: 62 65 5c 78 35 37 5c 78 37 66 5c 78 39 62 5c 78  be\x57\x7f\x9b\x
4570: 33 38 5c 78 38 30 5c 78 37 63 5c 78 37 64 5c 78  38\x80\x7c\x7d\x
4580: 35 32 5c 78 33 64 5c 78 36 64 5c 78 37 39 5c 78  52\x3d\x6d\x79\x
4590: 32 66 5c 78 36 65 5c 78 62 63 5c 78 32 34 5c 78  2f\x6e\xbc\x24\x
45a0: 61 34 5c 78 65 63 5c 78 66 32 5c 78 62 33 5c 78  a4\xec\xf2\xb3\x
45b0: 61 34 5c 78 32 37 5c 78 63 64 5c 78 62 62 5c 78  a4\x27\xcd\xbb\x
45c0: 66 62 22 22 22 2c 2c 2c 63 62 30 30 38 32 63 38  fb""",,,cb0082c8
45d0: 66 31 39 37 64 32 36 30 39 39 31 62 61 36 61 34  f197d260991ba6a4
45e0: 36 30 65 37 36 65 32 30 32 62 61 64 32 37 62 33  60e76e202bad27b3
45f0: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
4600: 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 36 32 33  ommand,# RFC 623
4610: 34 20 53 48 41 32 35 36 2c 2c 2c 2c 2c 2c 2c 2c  4 SHA256,,,,,,,,
4620: 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41  ,.RFC6234-MD-SHA
4630: 32 35 36 2c 54 43 31 2c 2c 2c 22 3a 3a 74 6c 73  256,TC1,,,"::tls
4640: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
4650: 32 35 36 20 2d 64 61 74 61 20 22 22 61 62 63 22  256 -data ""abc"
4660: 22 22 2c 2c 2c 62 61 37 38 31 36 62 66 38 66 30  "",,,ba7816bf8f0
4670: 31 63 66 65 61 34 31 34 31 34 30 64 65 35 64 61  1cfea414140de5da
4680: 65 32 32 32 33 62 30 30 33 36 31 61 33 39 36 31  e2223b00361a3961
4690: 37 37 61 39 63 62 34 31 30 66 66 36 31 66 32 30  77a9cb410ff61f20
46a0: 30 31 35 61 64 2c 2c 2c 0a 52 46 43 36 32 33 34  015ad,,,.RFC6234
46b0: 2d 4d 44 2d 53 48 41 32 35 36 2c 54 43 32 5f 31  -MD-SHA256,TC2_1
46c0: 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  ,,,"::tls::md -d
46d0: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 64 61  igest sha256 -da
46e0: 74 61 20 22 22 61 62 63 64 62 63 64 65 63 64 65  ta ""abcdbcdecde
46f0: 66 64 65 66 67 65 66 67 68 66 67 68 69 67 68 69  fdefgefghfghighi
4700: 6a 68 69 6a 6b 69 6a 6b 6c 6a 6b 6c 6d 6b 6c 6d  jhijkijkljklmklm
4710: 6e 6c 6d 6e 6f 6d 6e 6f 70 6e 6f 70 71 22 22 22  nlmnomnopnopq"""
4720: 2c 2c 2c 32 34 38 64 36 61 36 31 64 32 30 36 33  ,,,248d6a61d2063
4730: 38 62 38 65 35 63 30 32 36 39 33 30 63 33 65 36  8b8e5c026930c3e6
4740: 30 33 39 61 33 33 63 65 34 35 39 36 34 66 66 32  039a33ce45964ff2
4750: 31 36 37 66 36 65 63 65 64 64 34 31 39 64 62 30  167f6ecedd419db0
4760: 36 63 31 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d  6c1,,,.RFC6234-M
4770: 44 2d 53 48 41 32 35 36 2c 54 43 33 2c 2c 2c 22  D-SHA256,TC3,,,"
4780: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
4790: 74 20 73 68 61 32 35 36 20 2d 64 61 74 61 20 5b  t sha256 -data [
47a0: 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22  string repeat ""
47b0: 61 22 22 20 31 30 30 30 30 30 30 5d 22 2c 2c 2c  a"" 1000000]",,,
47c0: 63 64 63 37 36 65 35 63 39 39 31 34 66 62 39 32  cdc76e5c9914fb92
47d0: 38 31 61 31 63 37 65 32 38 34 64 37 33 65 36 37  81a1c7e284d73e67
47e0: 66 31 38 30 39 61 34 38 61 34 39 37 32 30 30 65  f1809a48a497200e
47f0: 30 34 36 64 33 39 63 63 63 37 31 31 32 63 64 30  046d39ccc7112cd0
4800: 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53  ,,,.RFC6234-MD-S
4810: 48 41 32 35 36 2c 54 43 34 2c 2c 2c 22 3a 3a 74  HA256,TC4,,,"::t
4820: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
4830: 68 61 32 35 36 20 2d 64 61 74 61 20 5b 73 74 72  ha256 -data [str
4840: 69 6e 67 20 72 65 70 65 61 74 20 22 22 30 31 32  ing repeat ""012
4850: 33 34 35 36 37 22 22 20 38 30 5d 22 2c 2c 2c 35  34567"" 80]",,,5
4860: 39 34 38 34 37 33 32 38 34 35 31 62 64 66 61 38  94847328451bdfa8
4870: 35 30 35 36 32 32 35 34 36 32 63 63 31 64 38 36  5056225462cc1d86
4880: 37 64 38 37 37 66 62 33 38 38 64 66 30 63 65 33  7d877fb388df0ce3
4890: 35 66 32 35 61 62 35 35 36 32 62 66 62 62 35 2c  5f25ab5562bfbb5,
48a0: 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48  ,,.RFC6234-MD-SH
48b0: 41 32 35 36 2c 54 43 36 2c 2c 2c 22 3a 3a 74 6c  A256,TC6,,,"::tl
48c0: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68  s::md -digest sh
48d0: 61 32 35 36 20 2d 64 61 74 61 20 22 22 5c 78 31  a256 -data ""\x1
48e0: 39 22 22 22 2c 2c 2c 36 38 61 61 32 65 32 65 65  9""",,,68aa2e2ee
48f0: 35 64 66 66 39 36 65 33 33 35 35 65 36 63 37 65  5dff96e3355e6c7e
4900: 65 33 37 33 65 33 64 36 61 34 65 31 37 66 37 35  e373e3d6a4e17f75
4910: 66 39 35 31 38 64 38 34 33 37 30 39 63 30 63 39  f9518d843709c0c9
4920: 62 63 33 65 33 64 34 2c 2c 2c 0a 52 46 43 36 32  bc3e3d4,,,.RFC62
4930: 33 34 2d 4d 44 2d 53 48 41 32 35 36 2c 54 43 38  34-MD-SHA256,TC8
4940: 5f 32 35 36 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d  _256,,,"::tls::m
4950: 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  d -digest sha256
4960: 20 2d 64 61 74 61 20 22 22 5c 78 65 33 5c 78 64   -data ""\xe3\xd
4970: 37 5c 78 32 35 5c 78 37 30 5c 78 64 63 5c 78 64  7\x25\x70\xdc\xd
4980: 64 5c 78 37 38 5c 78 37 63 5c 78 65 33 5c 78 38  d\x78\x7c\xe3\x8
4990: 38 5c 78 37 61 5c 78 62 32 5c 78 63 64 5c 78 36  8\x7a\xb2\xcd\x6
49a0: 38 5c 78 34 36 5c 78 35 32 22 22 22 2c 2c 2c 31  8\x46\x52""",,,1
49b0: 37 35 65 65 36 39 62 30 32 62 61 39 62 35 38 65  75ee69b02ba9b58e
49c0: 32 62 30 61 35 66 64 31 33 38 31 39 63 65 61 35  2b0a5fd13819cea5
49d0: 37 33 66 33 39 34 30 61 39 34 66 38 32 35 31 32  73f3940a94f82512
49e0: 38 63 66 34 32 30 39 62 65 61 62 62 34 65 38 2c  8cf4209beabb4e8,
49f0: 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48  ,,.RFC6234-MD-SH
4a00: 41 32 35 36 2c 54 43 31 30 5f 32 35 36 2c 2c 2c  A256,TC10_256,,,
4a10: 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65  "::tls::md -dige
4a20: 73 74 20 73 68 61 32 35 36 20 2d 64 61 74 61 20  st sha256 -data 
4a30: 22 22 5c 78 38 33 5c 78 32 36 5c 78 37 35 5c 78  ""\x83\x26\x75\x
4a40: 34 65 5c 78 32 32 5c 78 37 37 5c 78 33 37 5c 78  4e\x22\x77\x37\x
4a50: 32 66 5c 78 34 66 5c 78 63 31 5c 78 32 62 5c 78  2f\x4f\xc1\x2b\x
4a60: 32 30 5c 78 35 32 5c 78 37 61 5c 78 66 65 5c 78  20\x52\x7a\xfe\x
4a70: 66 30 5c 78 34 64 5c 78 38 61 5c 78 30 35 5c 78  f0\x4d\x8a\x05\x
4a80: 36 39 5c 78 37 31 5c 78 62 31 5c 78 31 61 5c 78  69\x71\xb1\x1a\x
4a90: 64 35 5c 78 37 31 5c 78 32 33 5c 78 61 37 5c 78  d5\x71\x23\xa7\x
4aa0: 63 31 5c 78 33 37 5c 78 37 36 5c 78 30 30 5c 78  c1\x37\x76\x00\x
4ab0: 30 30 5c 78 64 37 5c 78 62 65 5c 78 66 36 5c 78  00\xd7\xbe\xf6\x
4ac0: 66 33 5c 78 63 31 5c 78 66 37 5c 78 61 39 5c 78  f3\xc1\xf7\xa9\x
4ad0: 30 38 5c 78 33 61 5c 78 61 33 5c 78 39 64 5c 78  08\x3a\xa3\x9d\x
4ae0: 38 31 5c 78 30 64 5c 78 62 33 5c 78 31 30 5c 78  81\x0d\xb3\x10\x
4af0: 37 37 5c 78 37 64 5c 78 61 62 5c 78 38 62 5c 78  77\x7d\xab\x8b\x
4b00: 31 65 5c 78 37 66 5c 78 30 32 5c 78 62 38 5c 78  1e\x7f\x02\xb8\x
4b10: 34 61 5c 78 32 36 5c 78 63 37 5c 78 37 33 5c 78  4a\x26\xc7\x73\x
4b20: 33 32 5c 78 35 66 5c 78 38 62 5c 78 32 33 5c 78  32\x5f\x8b\x23\x
4b30: 37 34 5c 78 64 65 5c 78 37 61 5c 78 34 62 5c 78  74\xde\x7a\x4b\x
4b40: 35 61 5c 78 35 38 5c 78 63 62 5c 78 35 63 5c 78  5a\x58\xcb\x5c\x
4b50: 35 63 5c 78 66 33 5c 78 35 62 5c 78 63 65 5c 78  5c\xf3\x5b\xce\x
4b60: 65 36 5c 78 66 62 5c 78 39 34 5c 78 36 65 5c 78  e6\xfb\x94\x6e\x
4b70: 35 62 5c 78 64 36 5c 78 39 34 5c 78 66 61 5c 78  5b\xd6\x94\xfa\x
4b80: 35 39 5c 78 33 61 5c 78 38 62 5c 78 65 62 5c 78  59\x3a\x8b\xeb\x
4b90: 33 66 5c 78 39 64 5c 78 36 35 5c 78 39 32 5c 78  3f\x9d\x65\x92\x
4ba0: 65 63 5c 78 65 64 5c 78 61 61 5c 78 36 36 5c 78  ec\xed\xaa\x66\x
4bb0: 63 61 5c 78 38 32 5c 78 61 32 5c 78 39 64 5c 78  ca\x82\xa2\x9d\x
4bc0: 30 63 5c 78 35 31 5c 78 62 63 5c 78 66 39 5c 78  0c\x51\xbc\xf9\x
4bd0: 33 33 5c 78 36 32 5c 78 33 30 5c 78 65 35 5c 78  33\x62\x30\xe5\x
4be0: 64 37 5c 78 38 34 5c 78 65 34 5c 78 63 30 5c 78  d7\x84\xe4\xc0\x
4bf0: 61 34 5c 78 33 66 5c 78 38 64 5c 78 37 39 5c 78  a4\x3f\x8d\x79\x
4c00: 61 33 5c 78 30 61 5c 78 31 36 5c 78 35 63 5c 78  a3\x0a\x16\x5c\x
4c10: 62 61 5c 78 62 65 5c 78 34 35 5c 78 32 62 5c 78  ba\xbe\x45\x2b\x
4c20: 37 37 5c 78 34 62 5c 78 39 63 5c 78 37 31 5c 78  77\x4b\x9c\x71\x
4c30: 30 39 5c 78 61 39 5c 78 37 64 5c 78 31 33 5c 78  09\xa9\x7d\x13\x
4c40: 38 66 5c 78 31 32 5c 78 39 32 5c 78 32 38 5c 78  8f\x12\x92\x28\x
4c50: 39 36 5c 78 36 66 5c 78 36 63 5c 78 30 61 5c 78  96\x6f\x6c\x0a\x
4c60: 64 63 5c 78 31 30 5c 78 36 61 5c 78 61 64 5c 78  dc\x10\x6a\xad\x
4c70: 35 61 5c 78 39 66 5c 78 64 64 5c 78 33 30 5c 78  5a\x9f\xdd\x30\x
4c80: 38 32 5c 78 35 37 5c 78 36 39 5c 78 62 32 5c 78  82\x57\x69\xb2\x
4c90: 63 36 5c 78 37 31 5c 78 61 66 5c 78 36 37 5c 78  c6\x71\xaf\x67\x
4ca0: 35 39 5c 78 64 66 5c 78 32 38 5c 78 65 62 5c 78  59\xdf\x28\xeb\x
4cb0: 33 39 5c 78 33 64 5c 78 35 34 5c 78 64 36 22 22  39\x3d\x54\xd6""
4cc0: 22 2c 2c 2c 39 37 64 62 63 61 37 64 66 34 36 64  ",,,97dbca7df46d
4cd0: 36 32 63 38 61 34 32 32 63 39 34 31 64 64 37 65  62c8a422c941dd7e
4ce0: 38 33 35 62 38 61 64 33 33 36 31 37 36 33 66 37  835b8ad3361763f7
4cf0: 65 39 62 32 64 39 35 66 34 66 30 64 61 36 65 31  e9b2d95f4f0da6e1
4d00: 63 63 62 63 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  ccbc,,,.,,,,,,,,
4d10: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43  ,,.command,# RFC
4d20: 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70   4231 HMAC Examp
4d30: 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 23 31  les Test Case #1
4d40: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
4d50: 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61  d,"set key [bina
4d60: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73  ry decode hex [s
4d70: 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 30  tring repeat ""0
4d80: 62 22 22 20 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c  b"" 20]]",,,,,,,
4d90: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
4da0: 64 61 74 61 20 22 22 48 69 20 54 68 65 72 65 22  data ""Hi There"
4db0: 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34  "",,,,,,,,,.RFC4
4dc0: 32 33 31 20 48 4d 41 43 20 54 43 31 2c 73 68 61  231 HMAC TC1,sha
4dd0: 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61  224,,,::tls::hma
4de0: 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32 34  c -digest sha224
4df0: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
4e00: 20 24 64 61 74 61 2c 2c 2c 38 39 36 66 62 31 31   $data,,,896fb11
4e10: 32 38 61 62 62 64 66 31 39 36 38 33 32 31 30 37  28abbdf196832107
4e20: 63 64 34 39 64 66 33 33 66 34 37 62 34 62 31 31  cd49df33f47b4b11
4e30: 36 39 39 31 32 62 61 34 66 35 33 36 38 34 62 32  69912ba4f53684b2
4e40: 32 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  2,,,.RFC4231 HMA
4e50: 43 20 54 43 31 2c 73 68 61 32 35 36 2c 2c 2c 3a  C TC1,sha256,,,:
4e60: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
4e70: 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24  st sha256 -key $
4e80: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
4e90: 2c 2c 62 30 33 34 34 63 36 31 64 38 64 62 33 38  ,,b0344c61d8db38
4ea0: 35 33 35 63 61 38 61 66 63 65 61 66 30 62 66 31  535ca8afceaf0bf1
4eb0: 32 62 38 38 31 64 63 32 30 30 63 39 38 33 33 64  2b881dc200c9833d
4ec0: 61 37 32 36 65 39 33 37 36 63 32 65 33 32 63 66  a726e9376c2e32cf
4ed0: 66 37 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d  f7,,,.RFC4231 HM
4ee0: 41 43 20 54 43 31 2c 73 68 61 33 38 34 2c 2c 2c  AC TC1,sha384,,,
4ef0: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
4f00: 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65 79 20  est sha384 -key 
4f10: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
4f20: 2c 2c 2c 61 66 64 30 33 39 34 34 64 38 34 38 39  ,,,afd03944d8489
4f30: 35 36 32 36 62 30 38 32 35 66 34 61 62 34 36 39  5626b0825f4ab469
4f40: 30 37 66 31 35 66 39 64 61 64 62 65 34 31 30 31  07f15f9dadbe4101
4f50: 65 63 36 38 32 61 61 30 33 34 63 37 63 65 62 63  ec682aa034c7cebc
4f60: 35 39 63 66 61 65 61 39 65 61 39 30 37 36 65 64  59cfaea9ea9076ed
4f70: 65 37 66 34 61 66 31 35 32 65 38 62 32 66 61 39  e7f4af152e8b2fa9
4f80: 63 62 36 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48  cb6,,,.RFC4231 H
4f90: 4d 41 43 20 54 43 31 2c 73 68 61 35 31 32 2c 2c  MAC TC1,sha512,,
4fa0: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
4fb0: 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79  gest sha512 -key
4fc0: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
4fd0: 61 2c 2c 2c 38 37 61 61 37 63 64 65 61 35 65 66  a,,,87aa7cdea5ef
4fe0: 36 31 39 64 34 66 66 30 62 34 32 34 31 61 31 64  619d4ff0b4241a1d
4ff0: 36 63 62 30 32 33 37 39 66 34 65 32 63 65 34 65  6cb02379f4e2ce4e
5000: 63 32 37 38 37 61 64 30 62 33 30 35 34 35 65 31  c2787ad0b30545e1
5010: 37 63 64 65 64 61 61 38 33 33 62 37 64 36 62 38  7cdedaa833b7d6b8
5020: 61 37 30 32 30 33 38 62 32 37 34 65 61 65 61 33  a702038b274eaea3
5030: 66 34 65 34 62 65 39 64 39 31 34 65 65 62 36 31  f4e4be9d914eeb61
5040: 66 31 37 30 32 65 36 39 36 63 32 30 33 61 31 32  f1702e696c203a12
5050: 36 38 35 34 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  6854,,,.,,,,,,,,
5060: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43  ,,.command,# RFC
5070: 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70   4231 HMAC Examp
5080: 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 23 32  les Test Case #2
5090: 20 2d 20 54 65 73 74 20 77 69 74 68 20 61 20 6b   - Test with a k
50a0: 65 79 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20  ey shorter than 
50b0: 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68  the length of th
50c0: 65 20 48 4d 41 43 20 6f 75 74 70 75 74 2e 2c 2c  e HMAC output.,,
50d0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
50e0: 22 73 65 74 20 6b 65 79 20 22 22 4a 65 66 65 22  "set key ""Jefe"
50f0: 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  "",,,,,,,,,.comm
5100: 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20 22 22  and,"set data ""
5110: 77 68 61 74 20 64 6f 20 79 61 20 77 61 6e 74 20  what do ya want 
5120: 66 6f 72 20 6e 6f 74 68 69 6e 67 3f 22 22 22 2c  for nothing?""",
5130: 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33 31  ,,,,,,,,.RFC4231
5140: 20 48 4d 41 43 20 54 43 32 2c 73 68 61 32 32 34   HMAC TC2,sha224
5150: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
5160: 64 69 67 65 73 74 20 73 68 61 32 32 34 20 2d 6b  digest sha224 -k
5170: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
5180: 61 74 61 2c 2c 2c 61 33 30 65 30 31 30 39 38 62  ata,,,a30e01098b
5190: 63 36 64 62 62 66 34 35 36 39 30 66 33 61 37 65  c6dbbf45690f3a7e
51a0: 39 65 36 64 30 66 38 62 62 65 61 32 61 33 39 65  9e6d0f8bbea2a39e
51b0: 36 31 34 38 30 30 38 66 64 30 35 65 34 34 2c 2c  6148008fd05e44,,
51c0: 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54  ,.RFC4231 HMAC T
51d0: 43 32 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c  C2,sha256,,,::tl
51e0: 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20  s::hmac -digest 
51f0: 73 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65 79  sha256 -key $key
5200: 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 35   -data $data,,,5
5210: 62 64 63 63 31 34 36 62 66 36 30 37 35 34 65 36  bdcc146bf60754e6
5220: 61 30 34 32 34 32 36 30 38 39 35 37 35 63 37 35  a042426089575c75
5230: 61 30 30 33 66 30 38 39 64 32 37 33 39 38 33 39  a003f089d2739839
5240: 64 65 63 35 38 62 39 36 34 65 63 33 38 34 33 2c  dec58b964ec3843,
5250: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
5260: 54 43 32 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a 74  TC2,sha384,,,::t
5270: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
5280: 20 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b 65   sha384 -key $ke
5290: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
52a0: 61 66 34 35 64 32 65 33 37 36 34 38 34 30 33 31  af45d2e376484031
52b0: 36 31 37 66 37 38 64 32 62 35 38 61 36 62 31 62  617f78d2b58a6b1b
52c0: 39 63 37 65 66 34 36 34 66 35 61 30 31 62 34 37  9c7ef464f5a01b47
52d0: 65 34 32 65 63 33 37 33 36 33 32 32 34 34 35 65  e42ec3736322445e
52e0: 38 65 32 32 34 30 63 61 35 65 36 39 65 32 63 37  8e2240ca5e69e2c7
52f0: 38 62 33 32 33 39 65 63 66 61 62 32 31 36 34 39  8b3239ecfab21649
5300: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43  ,,,.RFC4231 HMAC
5310: 20 54 43 32 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a   TC2,sha512,,,::
5320: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73  tls::hmac -diges
5330: 74 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24 6b  t sha512 -key $k
5340: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c  ey -data $data,,
5350: 2c 31 36 34 62 37 61 37 62 66 63 66 38 31 39 65  ,164b7a7bfcf819e
5360: 32 65 33 39 35 66 62 65 37 33 62 35 36 65 30 61  2e395fbe73b56e0a
5370: 33 38 37 62 64 36 34 32 32 32 65 38 33 31 66 64  387bd64222e831fd
5380: 36 31 30 32 37 30 63 64 37 65 61 32 35 30 35 35  610270cd7ea25055
5390: 34 39 37 35 38 62 66 37 35 63 30 35 61 39 39 34  49758bf75c05a994
53a0: 61 36 64 30 33 34 66 36 35 66 38 66 30 65 36 66  a6d034f65f8f0e6f
53b0: 64 63 61 65 61 62 31 61 33 34 64 34 61 36 62 34  dcaeab1a34d4a6b4
53c0: 62 36 33 36 65 30 37 30 61 33 38 62 63 65 37 33  b636e070a38bce73
53d0: 37 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  7,,,.,,,,,,,,,,.
53e0: 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34 32  command,# RFC 42
53f0: 33 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65 73  31 HMAC Examples
5400: 20 54 65 73 74 20 43 61 73 65 20 23 33 20 2d 20   Test Case #3 - 
5410: 54 65 73 74 20 77 69 74 68 20 61 20 63 6f 6d 62  Test with a comb
5420: 69 6e 65 64 20 6c 65 6e 67 74 68 20 6f 66 20 6b  ined length of k
5430: 65 79 20 61 6e 64 20 64 61 74 61 20 74 68 61 74  ey and data that
5440: 20 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20   is larger than 
5450: 36 34 20 62 79 74 65 73 20 28 3d 20 62 6c 6f 63  64 bytes (= bloc
5460: 6b 2d 73 69 7a 65 20 6f 66 20 53 48 41 2d 32 32  k-size of SHA-22
5470: 34 20 61 6e 64 20 53 48 41 2d 32 35 36 29 2e 2c  4 and SHA-256).,
5480: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
5490: 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72  ,"set key [binar
54a0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73 74  y decode hex [st
54b0: 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 61 61  ring repeat ""aa
54c0: 22 22 20 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c  "" 20]]",,,,,,,,
54d0: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64  ,.command,"set d
54e0: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
54f0: 64 65 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72  de hex [string r
5500: 65 70 65 61 74 20 22 22 64 64 22 22 20 35 30 5d  epeat ""dd"" 50]
5510: 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34  ]",,,,,,,,,.RFC4
5520: 32 33 31 20 48 4d 41 43 20 54 43 33 2c 73 68 61  231 HMAC TC3,sha
5530: 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61  224,,,::tls::hma
5540: 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32 34  c -digest sha224
5550: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
5560: 20 24 64 61 74 61 2c 2c 2c 37 66 62 33 63 62 33   $data,,,7fb3cb3
5570: 35 38 38 63 36 63 31 66 36 66 66 61 39 36 39 34  588c6c1f6ffa9694
5580: 64 37 64 36 61 64 32 36 34 39 33 36 35 62 30 63  d7d6ad2649365b0c
5590: 31 66 36 35 64 36 39 64 31 65 63 38 33 33 33 65  1f65d69d1ec8333e
55a0: 61 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  a,,,.RFC4231 HMA
55b0: 43 20 54 43 33 2c 73 68 61 32 35 36 2c 2c 2c 3a  C TC3,sha256,,,:
55c0: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
55d0: 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24  st sha256 -key $
55e0: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
55f0: 2c 2c 37 37 33 65 61 39 31 65 33 36 38 30 30 65  ,,773ea91e36800e
5600: 34 36 38 35 34 64 62 38 65 62 64 30 39 31 38 31  46854db8ebd09181
5610: 61 37 32 39 35 39 30 39 38 62 33 65 66 38 63 31  a72959098b3ef8c1
5620: 32 32 64 39 36 33 35 35 31 34 63 65 64 35 36 35  22d9635514ced565
5630: 66 65 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d  fe,,,.RFC4231 HM
5640: 41 43 20 54 43 33 2c 73 68 61 33 38 34 2c 2c 2c  AC TC3,sha384,,,
5650: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
5660: 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65 79 20  est sha384 -key 
5670: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
5680: 2c 2c 2c 38 38 30 36 32 36 30 38 64 33 65 36 61  ,,,88062608d3e6a
5690: 64 38 61 30 61 61 32 61 63 65 30 31 34 63 38 61  d8a0aa2ace014c8a
56a0: 38 36 66 30 61 61 36 33 35 64 39 34 37 61 63 39  86f0aa635d947ac9
56b0: 66 65 62 65 38 33 65 66 34 65 35 35 39 36 36 31  febe83ef4e559661
56c0: 34 34 62 32 61 35 61 62 33 39 64 63 31 33 38 31  44b2a5ab39dc1381
56d0: 34 62 39 34 65 33 61 62 36 65 31 30 31 61 33 34  4b94e3ab6e101a34
56e0: 66 32 37 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48  f27,,,.RFC4231 H
56f0: 4d 41 43 20 54 43 33 2c 73 68 61 35 31 32 2c 2c  MAC TC3,sha512,,
5700: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
5710: 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79  gest sha512 -key
5720: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
5730: 61 2c 2c 2c 66 61 37 33 62 30 30 38 39 64 35 36  a,,,fa73b0089d56
5740: 61 32 38 34 65 66 62 30 66 30 37 35 36 63 38 39  a284efb0f0756c89
5750: 30 62 65 39 62 31 62 35 64 62 64 64 38 65 65 38  0be9b1b5dbdd8ee8
5760: 31 61 33 36 35 35 66 38 33 65 33 33 62 32 32 37  1a3655f83e33b227
5770: 39 64 33 39 62 66 33 65 38 34 38 32 37 39 61 37  9d39bf3e848279a7
5780: 32 32 63 38 30 36 62 34 38 35 61 34 37 65 36 37  22c806b485a47e67
5790: 63 38 30 37 62 39 34 36 61 33 33 37 62 65 65 38  c807b946a337bee8
57a0: 39 34 32 36 37 34 32 37 38 38 35 39 65 31 33 32  942674278859e132
57b0: 39 32 66 62 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  92fb,,,.,,,,,,,,
57c0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43  ,,.command,# RFC
57d0: 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70   4231 HMAC Examp
57e0: 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 23 34  les Test Case #4
57f0: 20 2d 20 54 65 73 74 20 77 69 74 68 20 61 20 63   - Test with a c
5800: 6f 6d 62 69 6e 65 64 20 6c 65 6e 67 74 68 20 6f  ombined length o
5810: 66 20 6b 65 79 20 61 6e 64 20 64 61 74 61 20 74  f key and data t
5820: 68 61 74 20 69 73 20 6c 61 72 67 65 72 20 74 68  hat is larger th
5830: 61 6e 20 36 34 20 62 79 74 65 73 20 28 3d 20 62  an 64 bytes (= b
5840: 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20 53 48 41  lock-size of SHA
5850: 2d 32 32 34 20 61 6e 64 20 53 48 41 2d 32 35 36  -224 and SHA-256
5860: 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  ).,,,,,,,,,.comm
5870: 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 69  and,"set key [bi
5880: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
5890: 22 22 30 31 30 32 30 33 30 34 30 35 30 36 30 37  ""01020304050607
58a0: 30 38 30 39 30 61 30 62 30 63 30 64 30 65 30 66  08090a0b0c0d0e0f
58b0: 31 30 31 31 31 32 31 33 31 34 31 35 31 36 31 37  1011121314151617
58c0: 31 38 31 39 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c  1819""]",,,,,,,,
58d0: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64  ,.command,"set d
58e0: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
58f0: 64 65 20 68 65 78 20 5b 73 74 72 69 6e 67 20 72  de hex [string r
5900: 65 70 65 61 74 20 22 22 63 64 22 22 20 35 30 5d  epeat ""cd"" 50]
5910: 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34  ]",,,,,,,,,.RFC4
5920: 32 33 31 20 48 4d 41 43 20 54 43 34 2c 73 68 61  231 HMAC TC4,sha
5930: 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61  224,,,::tls::hma
5940: 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32 34  c -digest sha224
5950: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
5960: 20 24 64 61 74 61 2c 2c 2c 36 63 31 31 35 30 36   $data,,,6c11506
5970: 38 37 34 30 31 33 63 61 63 36 61 32 61 62 63 31  874013cac6a2abc1
5980: 62 62 33 38 32 36 32 37 63 65 63 36 61 39 30 64  bb382627cec6a90d
5990: 38 36 65 66 63 30 31 32 64 65 37 61 66 65 63 35  86efc012de7afec5
59a0: 61 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  a,,,.RFC4231 HMA
59b0: 43 20 54 43 34 2c 73 68 61 32 35 36 2c 2c 2c 3a  C TC4,sha256,,,:
59c0: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
59d0: 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24  st sha256 -key $
59e0: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
59f0: 2c 2c 38 32 35 35 38 61 33 38 39 61 34 34 33 63  ,,82558a389a443c
5a00: 30 65 61 34 63 63 38 31 39 38 39 39 66 32 30 38  0ea4cc819899f208
5a10: 33 61 38 35 66 30 66 61 61 33 65 35 37 38 66 38  3a85f0faa3e578f8
5a20: 30 37 37 61 32 65 33 66 66 34 36 37 32 39 36 36  077a2e3ff4672966
5a30: 35 62 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d  5b,,,.RFC4231 HM
5a40: 41 43 20 54 43 34 2c 73 68 61 33 38 34 2c 2c 2c  AC TC4,sha384,,,
5a50: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
5a60: 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65 79 20  est sha384 -key 
5a70: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
5a80: 2c 2c 2c 33 65 38 61 36 39 62 37 37 38 33 63 32  ,,,3e8a69b7783c2
5a90: 35 38 35 31 39 33 33 61 62 36 32 39 30 61 66 36  5851933ab6290af6
5aa0: 63 61 37 37 61 39 39 38 31 34 38 30 38 35 30 30  ca77a99814808500
5ab0: 30 39 63 63 35 35 37 37 63 36 65 31 66 35 37 33  09cc5577c6e1f573
5ac0: 62 34 65 36 38 30 31 64 64 32 33 63 34 61 37 64  b4e6801dd23c4a7d
5ad0: 36 37 39 63 63 66 38 61 33 38 36 63 36 37 34 63  679ccf8a386c674c
5ae0: 66 66 62 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48  ffb,,,.RFC4231 H
5af0: 4d 41 43 20 54 43 34 2c 73 68 61 35 31 32 2c 2c  MAC TC4,sha512,,
5b00: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
5b10: 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79  gest sha512 -key
5b20: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
5b30: 61 2c 2c 2c 62 30 62 61 34 36 35 36 33 37 34 35  a,,,b0ba46563745
5b40: 38 63 36 39 39 30 65 35 61 38 63 35 66 36 31 64  8c6990e5a8c5f61d
5b50: 34 61 66 37 65 35 37 36 64 39 37 66 66 39 34 62  4af7e576d97ff94b
5b60: 38 37 32 64 65 37 36 66 38 30 35 30 33 36 31 65  872de76f8050361e
5b70: 65 33 64 62 61 39 31 63 61 35 63 31 31 61 61 32  e3dba91ca5c11aa2
5b80: 35 65 62 34 64 36 37 39 32 37 35 63 63 35 37 38  5eb4d679275cc578
5b90: 38 30 36 33 61 35 66 31 39 37 34 31 31 32 30 63  8063a5f19741120c
5ba0: 34 66 32 64 65 32 61 64 65 62 65 62 31 30 61 32  4f2de2adebeb10a2
5bb0: 39 38 64 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  98dd,,,.,,,,,,,,
5bc0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43  ,,.command,# RFC
5bd0: 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70   4231 HMAC Examp
5be0: 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 23 35  les Test Case #5
5bf0: 20 2d 20 54 65 73 74 20 77 69 74 68 20 61 20 74   - Test with a t
5c00: 72 75 6e 63 61 74 69 6f 6e 20 6f 66 20 6f 75 74  runcation of out
5c10: 70 75 74 20 74 6f 20 31 32 38 20 62 69 74 73 2e  put to 128 bits.
5c20: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
5c30: 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61  d,"set key [bina
5c40: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73  ry decode hex [s
5c50: 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 30  tring repeat ""0
5c60: 63 22 22 20 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c  c"" 20]]",,,,,,,
5c70: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
5c80: 64 61 74 61 20 22 22 54 65 73 74 20 57 69 74 68  data ""Test With
5c90: 20 54 72 75 6e 63 61 74 69 6f 6e 22 22 22 2c 2c   Truncation""",,
5ca0: 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 20  ,,,,,,,.RFC4231 
5cb0: 48 4d 41 43 20 54 43 35 2c 73 68 61 32 32 34 2c  HMAC TC5,sha224,
5cc0: 2c 2c 73 74 72 69 6e 67 20 72 61 6e 67 65 20 5b  ,,string range [
5cd0: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
5ce0: 65 73 74 20 73 68 61 32 32 34 20 2d 6b 65 79 20  est sha224 -key 
5cf0: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
5d00: 5d 20 30 20 33 31 2c 2c 2c 30 65 32 61 65 61 36  ] 0 31,,,0e2aea6
5d10: 38 61 39 30 63 38 64 33 37 63 39 38 38 62 63 64  8a90c8d37c988bcd
5d20: 62 39 66 63 61 36 66 61 38 2c 2c 2c 0a 52 46 43  b9fca6fa8,,,.RFC
5d30: 34 32 33 31 20 48 4d 41 43 20 54 43 35 2c 73 68  4231 HMAC TC5,sh
5d40: 61 32 35 36 2c 2c 2c 73 74 72 69 6e 67 20 72 61  a256,,,string ra
5d50: 6e 67 65 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63  nge [::tls::hmac
5d60: 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20   -digest sha256 
5d70: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
5d80: 24 64 61 74 61 5d 20 30 20 33 31 2c 2c 2c 61 33  $data] 0 31,,,a3
5d90: 62 36 31 36 37 34 37 33 31 30 30 65 65 30 36 65  b6167473100ee06e
5da0: 30 63 37 39 36 63 32 39 35 35 35 35 32 62 2c 2c  0c796c2955552b,,
5db0: 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54  ,.RFC4231 HMAC T
5dc0: 43 35 2c 73 68 61 33 38 34 2c 2c 2c 73 74 72 69  C5,sha384,,,stri
5dd0: 6e 67 20 72 61 6e 67 65 20 5b 3a 3a 74 6c 73 3a  ng range [::tls:
5de0: 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68  :hmac -digest sh
5df0: 61 33 38 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d  a384 -key $key -
5e00: 64 61 74 61 20 24 64 61 74 61 5d 20 30 20 33 31  data $data] 0 31
5e10: 2c 2c 2c 33 61 62 66 33 34 63 33 35 30 33 62 32  ,,,3abf34c3503b2
5e20: 61 32 33 61 34 36 65 66 63 36 31 39 62 61 65 66  a23a46efc619baef
5e30: 38 39 37 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48  897,,,.RFC4231 H
5e40: 4d 41 43 20 54 43 35 2c 73 68 61 35 31 32 2c 2c  MAC TC5,sha512,,
5e50: 2c 73 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 3a  ,string range [:
5e60: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
5e70: 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24  st sha512 -key $
5e80: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 5d  key -data $data]
5e90: 20 30 20 33 31 2c 2c 2c 34 31 35 66 61 64 36 32   0 31,,,415fad62
5ea0: 37 31 35 38 30 61 35 33 31 64 34 31 37 39 62 63  71580a531d4179bc
5eb0: 38 39 31 64 38 37 61 36 2c 2c 2c 0a 2c 2c 2c 2c  891d87a6,,,.,,,,
5ec0: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
5ed0: 20 52 46 43 20 34 32 33 31 20 48 4d 41 43 20 45   RFC 4231 HMAC E
5ee0: 78 61 6d 70 6c 65 73 20 54 65 73 74 20 43 61 73  xamples Test Cas
5ef0: 65 20 23 36 20 2d 20 54 65 73 74 20 77 69 74 68  e #6 - Test with
5f00: 20 61 20 6b 65 79 20 6c 61 72 67 65 72 20 74 68   a key larger th
5f10: 61 6e 20 31 32 38 20 62 79 74 65 73 20 28 3d 20  an 128 bytes (= 
5f20: 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20 53 48  block-size of SH
5f30: 41 2d 33 38 34 20 61 6e 64 20 53 48 41 2d 35 31  A-384 and SHA-51
5f40: 32 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  2).,,,,,,,,,.com
5f50: 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62  mand,"set key [b
5f60: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
5f70: 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20   [string repeat 
5f80: 22 22 61 61 22 22 20 31 33 31 5d 5d 22 2c 2c 2c  ""aa"" 131]]",,,
5f90: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22  ,,,,,,.command,"
5fa0: 73 65 74 20 64 61 74 61 20 22 22 54 65 73 74 20  set data ""Test 
5fb0: 55 73 69 6e 67 20 4c 61 72 67 65 72 20 54 68 61  Using Larger Tha
5fc0: 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65 20 4b 65 79  n Block-Size Key
5fd0: 20 2d 20 48 61 73 68 20 4b 65 79 20 46 69 72 73   - Hash Key Firs
5fe0: 74 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46  t""",,,,,,,,,.RF
5ff0: 43 34 32 33 31 20 48 4d 41 43 20 54 43 36 2c 73  C4231 HMAC TC6,s
6000: 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68  ha224,,,::tls::h
6010: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32  mac -digest sha2
6020: 32 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  24 -key $key -da
6030: 74 61 20 24 64 61 74 61 2c 2c 2c 39 35 65 39 61  ta $data,,,95e9a
6040: 30 64 62 39 36 32 30 39 35 61 64 61 65 62 65 39  0db962095adaebe9
6050: 62 32 64 36 66 30 64 62 63 65 32 64 34 39 39 66  b2d6f0dbce2d499f
6060: 31 31 32 66 32 64 32 62 37 32 37 33 66 61 36 38  112f2d2b7273fa68
6070: 37 30 65 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48  70e,,,.RFC4231 H
6080: 4d 41 43 20 54 43 36 2c 73 68 61 32 35 36 2c 2c  MAC TC6,sha256,,
6090: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
60a0: 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79  gest sha256 -key
60b0: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
60c0: 61 2c 2c 2c 36 30 65 34 33 31 35 39 31 65 65 30  a,,,60e431591ee0
60d0: 62 36 37 66 30 64 38 61 32 36 61 61 63 62 66 35  b67f0d8a26aacbf5
60e0: 62 37 37 66 38 65 30 62 63 36 32 31 33 37 32 38  b77f8e0bc6213728
60f0: 63 35 31 34 30 35 34 36 30 34 30 66 30 65 65 33  c5140546040f0ee3
6100: 37 66 35 34 2c 2c 2c 0a 52 46 43 34 32 33 31 20  7f54,,,.RFC4231 
6110: 48 4d 41 43 20 54 43 36 2c 73 68 61 33 38 34 2c  HMAC TC6,sha384,
6120: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
6130: 69 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65  igest sha384 -ke
6140: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
6150: 74 61 2c 2c 2c 34 65 63 65 30 38 34 34 38 35 38  ta,,,4ece0844858
6160: 31 33 65 39 30 38 38 64 32 63 36 33 61 30 34 31  13e9088d2c63a041
6170: 62 63 35 62 34 34 66 39 65 66 31 30 31 32 61 32  bc5b44f9ef1012a2
6180: 62 35 38 38 66 33 63 64 31 31 66 30 35 30 33 33  b588f3cd11f05033
6190: 61 63 34 63 36 30 63 32 65 66 36 61 62 34 30 33  ac4c60c2ef6ab403
61a0: 30 66 65 38 32 39 36 32 34 38 64 66 31 36 33 66  0fe8296248df163f
61b0: 34 34 39 35 32 2c 2c 2c 0a 52 46 43 34 32 33 31  44952,,,.RFC4231
61c0: 20 48 4d 41 43 20 54 43 36 2c 73 68 61 35 31 32   HMAC TC6,sha512
61d0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
61e0: 64 69 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b  digest sha512 -k
61f0: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
6200: 61 74 61 2c 2c 2c 38 30 62 32 34 32 36 33 63 37  ata,,,80b24263c7
6210: 63 31 61 33 65 62 62 37 31 34 39 33 63 31 64 64  c1a3ebb71493c1dd
6220: 37 62 65 38 62 34 39 62 34 36 64 31 66 34 31 62  7be8b49b46d1f41b
6230: 34 61 65 65 63 31 31 32 31 62 30 31 33 37 38 33  4aeec1121b013783
6240: 66 38 66 33 35 32 36 62 35 36 64 30 33 37 65 30  f8f3526b56d037e0
6250: 35 66 32 35 39 38 62 64 30 66 64 32 32 31 35 64  5f2598bd0fd2215d
6260: 36 61 31 65 35 32 39 35 65 36 34 66 37 33 66 36  6a1e5295e64f73f6
6270: 33 66 30 61 65 63 38 62 39 31 35 61 39 38 35 64  3f0aec8b915a985d
6280: 37 38 36 35 39 38 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  786598,,,.,,,,,,
6290: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52  ,,,,.command,# R
62a0: 46 43 20 34 32 33 31 20 48 4d 41 43 20 45 78 61  FC 4231 HMAC Exa
62b0: 6d 70 6c 65 73 20 54 65 73 74 20 43 61 73 65 20  mples Test Case 
62c0: 23 37 20 2d 20 54 65 73 74 20 77 69 74 68 20 61  #7 - Test with a
62d0: 20 6b 65 79 20 61 6e 64 20 64 61 74 61 20 74 68   key and data th
62e0: 61 74 20 69 73 20 6c 61 72 67 65 72 20 74 68 61  at is larger tha
62f0: 6e 20 31 32 38 20 62 79 74 65 73 20 28 3d 20 62  n 128 bytes (= b
6300: 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20 53 48 41  lock-size of SHA
6310: 2d 33 38 34 20 61 6e 64 20 53 48 41 2d 35 31 32  -384 and SHA-512
6320: 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  ).,,,,,,,,,.comm
6330: 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 69  and,"set key [bi
6340: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
6350: 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22  [string repeat "
6360: 22 61 61 22 22 20 31 33 31 5d 5d 22 2c 2c 2c 2c  "aa"" 131]]",,,,
6370: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
6380: 65 74 20 64 61 74 61 20 22 22 54 68 69 73 20 69  et data ""This i
6390: 73 20 61 20 74 65 73 74 20 75 73 69 6e 67 20 61  s a test using a
63a0: 20 6c 61 72 67 65 72 20 74 68 61 6e 20 62 6c 6f   larger than blo
63b0: 63 6b 2d 73 69 7a 65 20 6b 65 79 20 61 6e 64 20  ck-size key and 
63c0: 61 20 6c 61 72 67 65 72 20 74 68 61 6e 20 62 6c  a larger than bl
63d0: 6f 63 6b 2d 73 69 7a 65 20 64 61 74 61 2e 20 54  ock-size data. T
63e0: 68 65 20 6b 65 79 20 6e 65 65 64 73 20 74 6f 20  he key needs to 
63f0: 62 65 20 68 61 73 68 65 64 20 62 65 66 6f 72 65  be hashed before
6400: 20 62 65 69 6e 67 20 75 73 65 64 20 62 79 20 74   being used by t
6410: 68 65 20 48 4d 41 43 20 61 6c 67 6f 72 69 74 68  he HMAC algorith
6420: 6d 2e 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52  m.""",,,,,,,,,.R
6430: 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 37 2c  FC4231 HMAC TC7,
6440: 73 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha224,,,::tls::
6450: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61  hmac -digest sha
6460: 32 32 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  224 -key $key -d
6470: 61 74 61 20 24 64 61 74 61 2c 2c 2c 33 61 38 35  ata $data,,,3a85
6480: 34 31 36 36 61 63 35 64 39 66 30 32 33 66 35 34  4166ac5d9f023f54
6490: 64 35 31 37 64 30 62 33 39 64 62 64 39 34 36 37  d517d0b39dbd9467
64a0: 37 30 64 62 39 63 32 62 39 35 63 39 66 36 66 35  70db9c2b95c9f6f5
64b0: 36 35 64 31 2c 2c 2c 0a 52 46 43 34 32 33 31 20  65d1,,,.RFC4231 
64c0: 48 4d 41 43 20 54 43 37 2c 73 68 61 32 35 36 2c  HMAC TC7,sha256,
64d0: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
64e0: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65  igest sha256 -ke
64f0: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
6500: 74 61 2c 2c 2c 39 62 30 39 66 66 61 37 31 62 39  ta,,,9b09ffa71b9
6510: 34 32 66 63 62 32 37 36 33 35 66 62 63 64 35 62  42fcb27635fbcd5b
6520: 30 65 39 34 34 62 66 64 63 36 33 36 34 34 66 30  0e944bfdc63644f0
6530: 37 31 33 39 33 38 61 37 66 35 31 35 33 35 63 33  713938a7f51535c3
6540: 61 33 35 65 32 2c 2c 2c 0a 52 46 43 34 32 33 31  a35e2,,,.RFC4231
6550: 20 48 4d 41 43 20 54 43 37 2c 73 68 61 33 38 34   HMAC TC7,sha384
6560: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
6570: 64 69 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b  digest sha384 -k
6580: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
6590: 61 74 61 2c 2c 2c 36 36 31 37 31 37 38 65 39 34  ata,,,6617178e94
65a0: 31 66 30 32 30 64 33 35 31 65 32 66 32 35 34 65  1f020d351e2f254e
65b0: 38 66 64 33 32 63 36 30 32 34 32 30 66 65 62 30  8fd32c602420feb0
65c0: 62 38 66 62 39 61 64 63 63 65 62 62 38 32 34 36  b8fb9adccebb8246
65d0: 31 65 39 39 63 35 61 36 37 38 63 63 33 31 65 37  1e99c5a678cc31e7
65e0: 39 39 31 37 36 64 33 38 36 30 65 36 31 31 30 63  99176d3860e6110c
65f0: 34 36 35 32 33 65 2c 2c 2c 0a 52 46 43 34 32 33  46523e,,,.RFC423
6600: 31 20 48 4d 41 43 20 54 43 37 2c 73 68 61 35 31  1 HMAC TC7,sha51
6610: 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  2,,,::tls::hmac 
6620: 2d 64 69 67 65 73 74 20 73 68 61 35 31 32 20 2d  -digest sha512 -
6630: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
6640: 64 61 74 61 2c 2c 2c 65 33 37 62 36 61 37 37 35  data,,,e37b6a775
6650: 64 63 38 37 64 62 61 61 34 64 66 61 39 66 39 36  dc87dbaa4dfa9f96
6660: 65 35 65 33 66 66 64 64 65 62 64 37 31 66 38 38  e5e3ffddebd71f88
6670: 36 37 32 38 39 38 36 35 64 66 35 61 33 32 64 32  67289865df5a32d2
6680: 30 63 64 63 39 34 34 62 36 30 32 32 63 61 63 33  0cdc944b6022cac3
6690: 63 34 39 38 32 62 31 30 64 35 65 65 62 35 35 63  c4982b10d5eeb55c
66a0: 33 65 34 64 65 31 35 31 33 34 36 37 36 66 62 36  3e4de15134676fb6
66b0: 64 65 30 34 34 36 30 36 35 63 39 37 34 34 30 66  de0446065c97440f
66c0: 61 38 63 36 61 35 38 2c 2c 2c 0a 2c 2c 2c 2c 2c  a8c6a58,,,.,,,,,
66d0: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
66e0: 4e 49 53 54 20 38 30 30 2d 33 38 62 20 52 65 63  NIST 800-38b Rec
66f0: 6f 6d 6d 65 6e 64 61 74 69 6f 6e 20 66 6f 72 20  ommendation for 
6700: 42 6c 6f 63 6b 20 43 69 70 68 65 72 20 4d 6f 64  Block Cipher Mod
6710: 65 73 20 6f 66 20 4f 70 65 72 61 74 69 6f 6e 3a  es of Operation:
6720: 20 54 68 65 20 43 4d 41 43 20 4d 6f 64 65 20 66   The CMAC Mode f
6730: 6f 72 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f  or Authenticatio
6740: 6e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  n,,,,,,,,,.comma
6750: 6e 64 2c 23 20 41 45 53 2d 31 32 38 2c 2c 2c 2c  nd,# AES-128,,,,
6760: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
6770: 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 64  et key [binary d
6780: 65 63 6f 64 65 20 68 65 78 20 22 22 32 62 37 65  ecode hex ""2b7e
6790: 31 35 31 36 32 38 61 65 64 32 61 36 61 62 66 37  151628aed2a6abf7
67a0: 31 35 38 38 30 39 63 66 34 66 33 63 22 22 5d 22  158809cf4f3c""]"
67b0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30  ,,,,,,,,,.NIST80
67c0: 30 2d 33 38 62 2d 41 45 53 31 32 38 2c 6c 65 6e  0-38b-AES128,len
67d0: 3d 30 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 63 6d 61  =0,,,"::tls::cma
67e0: 63 20 2d 63 69 70 68 65 72 20 61 65 73 2d 31 32  c -cipher aes-12
67f0: 38 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20  8-cbc -key $key 
6800: 2d 64 61 74 61 20 22 22 22 22 22 2c 2c 2c 62 62  -data """"",,,bb
6810: 31 64 36 39 32 39 65 39 35 39 33 37 32 38 37 66  1d6929e95937287f
6820: 61 33 37 64 31 32 39 62 37 35 36 37 34 36 2c 2c  a37d129b756746,,
6830: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64  ,.command,"set d
6840: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
6850: 64 65 20 68 65 78 20 22 22 36 62 63 31 62 65 65  de hex ""6bc1bee
6860: 32 32 65 34 30 39 66 39 36 65 39 33 64 37 65 31  22e409f96e93d7e1
6870: 31 37 33 39 33 31 37 32 61 22 22 5d 22 2c 2c 2c  17393172a""]",,,
6880: 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33  ,,,,,,.NIST800-3
6890: 38 62 2d 41 45 53 31 32 38 2c 6c 65 6e 3d 31 32  8b-AES128,len=12
68a0: 38 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  8,,,::tls::cmac 
68b0: 2d 63 69 70 68 65 72 20 61 65 73 2d 31 32 38 2d  -cipher aes-128-
68c0: 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  cbc -key $key -d
68d0: 61 74 61 20 24 64 61 74 61 2c 2c 2c 30 37 30 61  ata $data,,,070a
68e0: 31 36 62 34 36 62 34 64 34 31 34 34 66 37 39 62  16b46b4d4144f79b
68f0: 64 64 39 64 64 30 34 61 32 38 37 63 2c 2c 2c 0a  dd9dd04a287c,,,.
6900: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74  command,"set dat
6910: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
6920: 20 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32   hex ""6bc1bee22
6930: 65 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37  e409f96e93d7e117
6940: 33 39 33 31 37 32 61 61 65 32 64 38 61 35 37 31  393172aae2d8a571
6950: 65 30 33 61 63 39 63 39 65 62 37 36 66 61 63 34  e03ac9c9eb76fac4
6960: 35 61 66 38 65 35 31 33 30 63 38 31 63 34 36 61  5af8e5130c81c46a
6970: 33 35 63 65 34 31 31 22 22 5d 22 2c 2c 2c 2c 2c  35ce411""]",,,,,
6980: 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62  ,,,,.NIST800-38b
6990: 2d 41 45 53 31 32 38 2c 6c 65 6e 3d 33 32 30 2c  -AES128,len=320,
69a0: 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63  ,,::tls::cmac -c
69b0: 69 70 68 65 72 20 61 65 73 2d 31 32 38 2d 63 62  ipher aes-128-cb
69c0: 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  c -key $key -dat
69d0: 61 20 24 64 61 74 61 2c 2c 2c 64 66 61 36 36 37  a $data,,,dfa667
69e0: 34 37 64 65 39 61 65 36 33 30 33 30 63 61 33 32  47de9ae63030ca32
69f0: 36 31 31 34 39 37 63 38 32 37 2c 2c 2c 0a 63 6f  611497c827,,,.co
6a00: 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20  mmand,"set data 
6a10: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
6a20: 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65 34  ex ""6bc1bee22e4
6a30: 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33 39  09f96e93d7e11739
6a40: 33 31 37 32 61 61 65 32 64 38 61 35 37 31 65 30  3172aae2d8a571e0
6a50: 33 61 63 39 63 39 65 62 37 36 66 61 63 34 35 61  3ac9c9eb76fac45a
6a60: 66 38 65 35 31 33 30 63 38 31 63 34 36 61 33 35  f8e5130c81c46a35
6a70: 63 65 34 31 31 65 35 66 62 63 31 31 39 31 61 30  ce411e5fbc1191a0
6a80: 61 35 32 65 66 66 36 39 66 32 34 34 35 64 66 34  a52eff69f2445df4
6a90: 66 39 62 31 37 61 64 32 62 34 31 37 62 65 36 36  f9b17ad2b417be66
6aa0: 63 33 37 31 30 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c  c3710""]",,,,,,,
6ab0: 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41  ,,.NIST800-38b-A
6ac0: 45 53 31 32 38 2c 6c 65 6e 3d 35 31 32 2c 2c 2c  ES128,len=512,,,
6ad0: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70  ::tls::cmac -cip
6ae0: 68 65 72 20 61 65 73 2d 31 32 38 2d 63 62 63 20  her aes-128-cbc 
6af0: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
6b00: 24 64 61 74 61 2c 2c 2c 35 31 66 30 62 65 62 66  $data,,,51f0bebf
6b10: 37 65 33 62 39 64 39 32 66 63 34 39 37 34 31 37  7e3b9d92fc497417
6b20: 37 39 33 36 33 63 66 65 2c 2c 2c 0a 2c 2c 2c 2c  79363cfe,,,.,,,,
6b30: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
6b40: 20 41 45 53 2d 31 39 32 2c 2c 2c 2c 2c 2c 2c 2c   AES-192,,,,,,,,
6b50: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b  ,.command,"set k
6b60: 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ey [binary decod
6b70: 65 20 68 65 78 20 22 22 38 65 37 33 62 30 66 37  e hex ""8e73b0f7
6b80: 64 61 30 65 36 34 35 32 63 38 31 30 66 33 32 62  da0e6452c810f32b
6b90: 38 30 39 30 37 39 65 35 36 32 66 38 65 61 64 32  809079e562f8ead2
6ba0: 35 32 32 63 36 62 37 62 22 22 5d 22 2c 2c 2c 2c  522c6b7b""]",,,,
6bb0: 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38  ,,,,,.NIST800-38
6bc0: 62 2d 41 45 53 2d 31 39 32 2c 6c 65 6e 3d 30 2c  b-AES-192,len=0,
6bd0: 2c 2c 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d  ,,"::tls::cmac -
6be0: 63 69 70 68 65 72 20 61 65 73 2d 31 39 32 2d 63  cipher aes-192-c
6bf0: 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  bc -key $key -da
6c00: 74 61 20 22 22 22 22 22 2c 2c 2c 64 31 37 64 64  ta """"",,,d17dd
6c10: 66 34 36 61 64 61 61 63 64 65 35 33 31 63 61 63  f46adaacde531cac
6c20: 34 38 33 64 65 37 61 39 33 36 37 2c 2c 2c 0a 63  483de7a9367,,,.c
6c30: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61  ommand,"set data
6c40: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
6c50: 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65  hex ""6bc1bee22e
6c60: 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33  409f96e93d7e1173
6c70: 39 33 31 37 32 61 22 22 5d 22 2c 2c 2c 2c 2c 2c  93172a""]",,,,,,
6c80: 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d  ,,,.NIST800-38b-
6c90: 41 45 53 2d 31 39 32 2c 6c 65 6e 3d 31 32 38 2c  AES-192,len=128,
6ca0: 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63  ,,::tls::cmac -c
6cb0: 69 70 68 65 72 20 61 65 73 2d 31 39 32 2d 63 62  ipher aes-192-cb
6cc0: 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  c -key $key -dat
6cd0: 61 20 24 64 61 74 61 2c 2c 2c 39 65 39 39 61 37  a $data,,,9e99a7
6ce0: 62 66 33 31 65 37 31 30 39 30 30 36 36 32 66 36  bf31e710900662f6
6cf0: 35 65 36 31 37 63 35 31 38 34 2c 2c 2c 0a 63 6f  5e617c5184,,,.co
6d00: 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20  mmand,"set data 
6d10: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
6d20: 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65 34  ex ""6bc1bee22e4
6d30: 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33 39  09f96e93d7e11739
6d40: 33 31 37 32 61 61 65 32 64 38 61 35 37 31 65 30  3172aae2d8a571e0
6d50: 33 61 63 39 63 39 65 62 37 36 66 61 63 34 35 61  3ac9c9eb76fac45a
6d60: 66 38 65 35 31 33 30 63 38 31 63 34 36 61 33 35  f8e5130c81c46a35
6d70: 63 65 34 31 31 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c  ce411""]",,,,,,,
6d80: 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41  ,,.NIST800-38b-A
6d90: 45 53 2d 31 39 32 2c 6c 65 6e 3d 33 32 30 2c 2c  ES-192,len=320,,
6da0: 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69  ,::tls::cmac -ci
6db0: 70 68 65 72 20 61 65 73 2d 31 39 32 2d 63 62 63  pher aes-192-cbc
6dc0: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
6dd0: 20 24 64 61 74 61 2c 2c 2c 38 61 31 64 65 35 62   $data,,,8a1de5b
6de0: 65 32 65 62 33 31 61 61 64 30 38 39 61 38 32 65  e2eb31aad089a82e
6df0: 36 65 65 39 30 38 62 30 65 2c 2c 2c 0a 63 6f 6d  6ee908b0e,,,.com
6e00: 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20 5b  mand,"set data [
6e10: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
6e20: 78 20 22 22 36 62 63 31 62 65 65 32 32 65 34 30  x ""6bc1bee22e40
6e30: 39 66 39 36 65 39 33 64 37 65 31 31 37 33 39 33  9f96e93d7e117393
6e40: 31 37 32 61 61 65 32 64 38 61 35 37 31 65 30 33  172aae2d8a571e03
6e50: 61 63 39 63 39 65 62 37 36 66 61 63 34 35 61 66  ac9c9eb76fac45af
6e60: 38 65 35 31 33 30 63 38 31 63 34 36 61 33 35 63  8e5130c81c46a35c
6e70: 65 34 31 31 65 35 66 62 63 31 31 39 31 61 30 61  e411e5fbc1191a0a
6e80: 35 32 65 66 66 36 39 66 32 34 34 35 64 66 34 66  52eff69f2445df4f
6e90: 39 62 31 37 61 64 32 62 34 31 37 62 65 36 36 63  9b17ad2b417be66c
6ea0: 33 37 31 30 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c  3710""]",,,,,,,,
6eb0: 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45  ,.NIST800-38b-AE
6ec0: 53 2d 31 39 32 2c 6c 65 6e 3d 35 31 32 2c 2c 2c  S-192,len=512,,,
6ed0: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70  ::tls::cmac -cip
6ee0: 68 65 72 20 61 65 73 2d 31 39 32 2d 63 62 63 20  her aes-192-cbc 
6ef0: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
6f00: 24 64 61 74 61 2c 2c 2c 61 31 64 35 64 66 30 65  $data,,,a1d5df0e
6f10: 65 64 37 39 30 66 37 39 34 64 37 37 35 38 39 36  ed790f794d775896
6f20: 35 39 66 33 39 61 31 31 2c 2c 2c 0a 2c 2c 2c 2c  59f39a11,,,.,,,,
6f30: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
6f40: 20 41 45 53 2d 32 35 36 2c 2c 2c 2c 2c 2c 2c 2c   AES-256,,,,,,,,
6f50: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b  ,.command,"set k
6f60: 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ey [binary decod
6f70: 65 20 68 65 78 20 22 22 36 30 33 64 65 62 31 30  e hex ""603deb10
6f80: 31 35 63 61 37 31 62 65 32 62 37 33 61 65 66 30  15ca71be2b73aef0
6f90: 38 35 37 64 37 37 38 31 31 66 33 35 32 63 30 37  857d77811f352c07
6fa0: 33 62 36 31 30 38 64 37 32 64 39 38 31 30 61 33  3b6108d72d9810a3
6fb0: 30 39 31 34 64 66 66 34 22 22 5d 22 2c 2c 2c 2c  0914dff4""]",,,,
6fc0: 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38  ,,,,,.NIST800-38
6fd0: 62 2d 41 45 53 2d 32 35 36 2c 6c 65 6e 3d 30 2c  b-AES-256,len=0,
6fe0: 2c 2c 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d  ,,"::tls::cmac -
6ff0: 63 69 70 68 65 72 20 61 65 73 2d 32 35 36 2d 63  cipher aes-256-c
7000: 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  bc -key $key -da
7010: 74 61 20 22 22 22 22 22 2c 2c 2c 30 32 38 39 36  ta """"",,,02896
7020: 32 66 36 31 62 37 62 66 38 39 65 66 63 36 62 35  2f61b7bf89efc6b5
7030: 35 31 66 34 36 36 37 64 39 38 33 2c 2c 2c 0a 63  51f4667d983,,,.c
7040: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61  ommand,"set data
7050: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
7060: 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65  hex ""6bc1bee22e
7070: 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33  409f96e93d7e1173
7080: 39 33 31 37 32 61 22 22 5d 22 2c 2c 2c 2c 2c 2c  93172a""]",,,,,,
7090: 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d  ,,,.NIST800-38b-
70a0: 41 45 53 2d 32 35 36 2c 6c 65 6e 3d 31 32 38 2c  AES-256,len=128,
70b0: 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63  ,,::tls::cmac -c
70c0: 69 70 68 65 72 20 61 65 73 2d 32 35 36 2d 63 62  ipher aes-256-cb
70d0: 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  c -key $key -dat
70e0: 61 20 24 64 61 74 61 2c 2c 2c 32 38 61 37 30 32  a $data,,,28a702
70f0: 33 66 34 35 32 65 38 66 38 32 62 64 34 62 66 32  3f452e8f82bd4bf2
7100: 38 64 38 63 33 37 63 33 35 63 2c 2c 2c 0a 63 6f  8d8c37c35c,,,.co
7110: 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20  mmand,"set data 
7120: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
7130: 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65 34  ex ""6bc1bee22e4
7140: 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33 39  09f96e93d7e11739
7150: 33 31 37 32 61 61 65 32 64 38 61 35 37 31 65 30  3172aae2d8a571e0
7160: 33 61 63 39 63 39 65 62 37 36 66 61 63 34 35 61  3ac9c9eb76fac45a
7170: 66 38 65 35 31 33 30 63 38 31 63 34 36 61 33 35  f8e5130c81c46a35
7180: 63 65 34 31 31 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c  ce411""]",,,,,,,
7190: 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41  ,,.NIST800-38b-A
71a0: 45 53 2d 32 35 36 2c 6c 65 6e 3d 33 32 30 2c 2c  ES-256,len=320,,
71b0: 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69  ,::tls::cmac -ci
71c0: 70 68 65 72 20 61 65 73 2d 32 35 36 2d 63 62 63  pher aes-256-cbc
71d0: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
71e0: 20 24 64 61 74 61 2c 2c 2c 61 61 66 33 64 38 66   $data,,,aaf3d8f
71f0: 31 64 65 35 36 34 30 63 32 33 32 66 35 62 31 36  1de5640c232f5b16
7200: 39 62 39 63 39 31 31 65 36 2c 2c 2c 0a 63 6f 6d  9b9c911e6,,,.com
7210: 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20 5b  mand,"set data [
7220: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
7230: 78 20 22 22 36 62 63 31 62 65 65 32 32 65 34 30  x ""6bc1bee22e40
7240: 39 66 39 36 65 39 33 64 37 65 31 31 37 33 39 33  9f96e93d7e117393
7250: 31 37 32 61 61 65 32 64 38 61 35 37 31 65 30 33  172aae2d8a571e03
7260: 61 63 39 63 39 65 62 37 36 66 61 63 34 35 61 66  ac9c9eb76fac45af
7270: 38 65 35 31 33 30 63 38 31 63 34 36 61 33 35 63  8e5130c81c46a35c
7280: 65 34 31 31 65 35 66 62 63 31 31 39 31 61 30 61  e411e5fbc1191a0a
7290: 35 32 65 66 66 36 39 66 32 34 34 35 64 66 34 66  52eff69f2445df4f
72a0: 39 62 31 37 61 64 32 62 34 31 37 62 65 36 36 63  9b17ad2b417be66c
72b0: 33 37 31 30 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c  3710""]",,,,,,,,
72c0: 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45  ,.NIST800-38b-AE
72d0: 53 2d 32 35 36 2c 6c 65 6e 3d 35 31 32 2c 2c 2c  S-256,len=512,,,
72e0: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70  ::tls::cmac -cip
72f0: 68 65 72 20 61 65 73 2d 32 35 36 2d 63 62 63 20  her aes-256-cbc 
7300: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
7310: 24 64 61 74 61 2c 2c 2c 65 31 39 39 32 31 39 30  $data,,,e1992190
7320: 35 34 39 66 36 65 64 35 36 39 36 61 32 63 30 35  549f6ed5696a2c05
7330: 36 63 33 31 35 34 31 30 2c 2c 2c 0a 2c 2c 2c 2c  6c315410,,,.,,,,
7340: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
7350: 20 43 6c 65 61 6e 75 70 2c 2c 2c 2c 2c 2c 2c 2c   Cleanup,,,,,,,,
7360: 2c 0a 63 6f 6d 6d 61 6e 64 2c 3a 3a 74 63 6c 74  ,.command,::tclt
7370: 65 73 74 3a 3a 72 65 6d 6f 76 65 46 69 6c 65 20  est::removeFile 
7380: 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 2c 2c 2c  $test_file,,,,,,
7390: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 3a 3a 74 63  ,,,.command,::tc
73a0: 6c 74 65 73 74 3a 3a 72 65 6d 6f 76 65 46 69 6c  ltest::removeFil
73b0: 65 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65  e $test_alt_file
73c0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a                    ,,,,,,,,,.