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: 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  ,.,,,,,,,,,,.com
0480: 6d 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f 64  mand,"set test_d
0490: 61 74 61 20 22 22 45 78 61 6d 70 6c 65 20 73 74  ata ""Example st
04a0: 72 69 6e 67 20 66 6f 72 20 6d 65 73 73 61 67 65  ring for message
04b0: 20 64 69 67 65 73 74 20 74 65 73 74 73 2e 5c 6e   digest tests.\n
04c0: 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  """,,,,,,,,,.com
04d0: 6d 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f 66  mand,"set test_f
04e0: 69 6c 65 20 22 22 6d 64 5f 64 61 74 61 2e 64 61  ile ""md_data.da
04f0: 74 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  t""",,,,,,,,,.co
0500: 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f  mmand,"set test_
0510: 61 6c 74 5f 66 69 6c 65 20 22 22 6d 64 5f 61 6c  alt_file ""md_al
0520: 74 5f 64 61 74 61 2e 64 61 74 22 22 22 2c 2c 2c  t_data.dat""",,,
0530: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22  ,,,,,,.command,"
0540: 73 65 74 20 74 65 73 74 5f 6b 65 79 20 22 22 45  set test_key ""E
0550: 78 61 6d 70 6c 65 20 6b 65 79 22 22 22 2c 2c 2c  xample key""",,,
0560: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 3a  ,,,,,,.command,:
0570: 3a 74 63 6c 74 65 73 74 3a 3a 6d 61 6b 65 46 69  :tcltest::makeFi
0580: 6c 65 20 24 74 65 73 74 5f 64 61 74 61 20 24 74  le $test_data $t
0590: 65 73 74 5f 66 69 6c 65 2c 2c 2c 2c 2c 2c 2c 2c  est_file,,,,,,,,
05a0: 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  ,.,,,,,,,,,,.com
05b0: 6d 61 6e 64 2c 23 20 54 65 73 74 20 73 68 6f 72  mand,# Test shor
05c0: 74 2d 63 75 74 20 63 6f 6d 6d 61 6e 64 73 2c 2c  t-cut commands,,
05d0: 2c 2c 2c 2c 2c 2c 2c 0a 53 68 6f 72 74 63 75 74  ,,,,,,,.Shortcut
05e0: 20 43 6d 64 73 2c 6d 64 34 20 63 6d 64 2c 6d 64   Cmds,md4 cmd,md
05f0: 34 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 34 20 24 74  4,,::tls::md4 $t
0600: 65 73 74 5f 64 61 74 61 2c 2c 2c 37 39 33 33 39  est_data,,,79339
0610: 39 66 37 39 32 65 63 61 32 37 35 32 63 36 61 66  9f792eca2752c6af
0620: 33 32 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a 53  3234ba70858,,,.S
0630: 68 6f 72 74 63 75 74 20 43 6d 64 73 2c 6d 64 35  hortcut Cmds,md5
0640: 20 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64   cmd,,,::tls::md
0650: 35 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 39  5 $test_data,,,9
0660: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
0670: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
0680: 2c 2c 0a 53 68 6f 72 74 63 75 74 20 43 6d 64 73  ,,.Shortcut Cmds
0690: 2c 73 68 61 31 20 63 6d 64 2c 2c 2c 3a 3a 74 6c  ,sha1 cmd,,,::tl
06a0: 73 3a 3a 73 68 61 31 20 24 74 65 73 74 5f 64 61  s::sha1 $test_da
06b0: 74 61 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 36  ta,,,4fe03b7f256
06c0: 38 35 35 31 64 66 61 66 62 39 38 63 61 36 30 30  8551dfafb98ca600
06d0: 34 65 36 35 63 34 62 37 31 61 61 37 64 2c 2c 2c  4e65c4b71aa7d,,,
06e0: 0a 53 68 6f 72 74 63 75 74 20 43 6d 64 73 2c 73  .Shortcut Cmds,s
06f0: 68 61 32 35 36 20 63 6d 64 2c 2c 2c 3a 3a 74 6c  ha256 cmd,,,::tl
0700: 73 3a 3a 73 68 61 32 35 36 20 24 74 65 73 74 5f  s::sha256 $test_
0710: 64 61 74 61 2c 2c 2c 39 64 33 35 37 38 66 63 31  data,,,9d3578fc1
0720: 33 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66  38205cf0ee4b4cef
0730: 33 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62  35fe101bb4ecac7b
0740: 31 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63  1614c18e6fa48b5c
0750: 37 66 39 35 65 31 39 2c 2c 2c 0a 53 68 6f 72 74  7f95e19,,,.Short
0760: 63 75 74 20 43 6d 64 73 2c 73 68 61 35 31 32 20  cut Cmds,sha512 
0770: 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 73 68 61  cmd,,,::tls::sha
0780: 35 31 32 20 24 74 65 73 74 5f 64 61 74 61 2c 2c  512 $test_data,,
0790: 2c 64 31 37 38 65 37 35 39 64 63 35 39 31 32 37  ,d178e759dc59127
07a0: 30 37 31 35 38 38 64 32 66 61 64 31 37 33 63 30  071588d2fad173c0
07b0: 36 32 33 38 64 38 37 65 38 30 30 61 36 34 30 33  6238d87e800a6403
07c0: 63 30 61 33 30 64 61 61 34 66 61 61 66 30 35 64  c0a30daa4faaf05d
07d0: 30 65 37 63 65 30 34 39 31 36 61 66 61 61 36 61  0e7ce04916afaa6a
07e0: 35 38 61 33 30 63 62 65 62 35 39 37 64 61 63 62  58a30cbeb597dacb
07f0: 30 31 63 36 32 66 39 66 62 39 64 38 39 62 61 62  01c62f9fb9d89bab
0800: 39 64 61 36 33 30 63 36 39 39 65 34 38 31 36 66  9da630c699e4816f
0810: 31 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  1,,,.,,,,,,,,,,.
0820: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ,,,,,,,,,,.comma
0830: 6e 64 2c 23 20 54 65 73 74 20 4d 44 20 63 6f 6d  nd,# Test MD com
0840: 6d 61 6e 64 20 66 6f 72 20 72 65 61 64 20 63 68  mand for read ch
0850: 61 6e 6e 65 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d  annel,,,,,,,,,.M
0860: 44 20 43 68 61 6e 20 52 65 61 64 2c 6d 64 34 2c  D Chan Read,md4,
0870: 6d 64 34 2c 2c 64 69 67 65 73 74 5f 72 65 61 64  md4,,digest_read
0880: 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20  _chan ::tls::md 
0890: 24 74 65 73 74 5f 66 69 6c 65 20 2d 64 69 67 65  $test_file -dige
08a0: 73 74 20 6d 64 34 2c 2c 2c 37 39 33 33 39 39 66  st md4,,,793399f
08b0: 37 39 32 65 63 61 32 37 35 32 63 36 61 66 33 32  792eca2752c6af32
08c0: 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20  34ba70858,,,.MD 
08d0: 43 68 61 6e 20 52 65 61 64 2c 6d 64 35 2c 2c 2c  Chan Read,md5,,,
08e0: 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e  digest_read_chan
08f0: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74   ::tls::md $test
0900: 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 6d 64  _file -digest md
0910: 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  5,,,962bf0803b42
0920: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
0930: 65 61 30 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20  ea09,,,.MD Chan 
0940: 52 65 61 64 2c 73 68 61 31 2c 2c 2c 64 69 67 65  Read,sha1,,,dige
0950: 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74  st_read_chan ::t
0960: 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c  ls::md $test_fil
0970: 65 20 2d 64 69 67 65 73 74 20 73 68 61 31 2c 2c  e -digest sha1,,
0980: 2c 34 66 65 30 33 62 37 66 32 35 36 38 35 35 31  ,4fe03b7f2568551
0990: 64 66 61 66 62 39 38 63 61 36 30 30 34 65 36 35  dfafb98ca6004e65
09a0: 63 34 62 37 31 61 61 37 64 2c 2c 2c 0a 4d 44 20  c4b71aa7d,,,.MD 
09b0: 43 68 61 6e 20 52 65 61 64 2c 73 68 61 32 35 36  Chan Read,sha256
09c0: 2c 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63  ,,,digest_read_c
09d0: 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74  han ::tls::md $t
09e0: 65 73 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74  est_file -digest
09f0: 20 73 68 61 32 35 36 2c 2c 2c 39 64 33 35 37 38   sha256,,,9d3578
0a00: 66 63 31 33 38 32 30 35 63 66 30 65 65 34 62 34  fc138205cf0ee4b4
0a10: 63 65 66 33 35 66 65 31 30 31 62 62 34 65 63 61  cef35fe101bb4eca
0a20: 63 37 62 31 36 31 34 63 31 38 65 36 66 61 34 38  c7b1614c18e6fa48
0a30: 62 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 4d 44  b5c7f95e19,,,.MD
0a40: 20 43 68 61 6e 20 52 65 61 64 2c 73 68 61 35 31   Chan Read,sha51
0a50: 32 2c 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f  2,,,digest_read_
0a60: 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24  chan ::tls::md $
0a70: 74 65 73 74 5f 66 69 6c 65 20 2d 64 69 67 65 73  test_file -diges
0a80: 74 20 73 68 61 35 31 32 2c 2c 2c 64 31 37 38 65  t sha512,,,d178e
0a90: 37 35 39 64 63 35 39 31 32 37 30 37 31 35 38 38  759dc59127071588
0aa0: 64 32 66 61 64 31 37 33 63 30 36 32 33 38 64 38  d2fad173c06238d8
0ab0: 37 65 38 30 30 61 36 34 30 33 63 30 61 33 30 64  7e800a6403c0a30d
0ac0: 61 61 34 66 61 61 66 30 35 64 30 65 37 63 65 30  aa4faaf05d0e7ce0
0ad0: 34 39 31 36 61 66 61 61 36 61 35 38 61 33 30 63  4916afaa6a58a30c
0ae0: 62 65 62 35 39 37 64 61 63 62 30 31 63 36 32 66  beb597dacb01c62f
0af0: 39 66 62 39 64 38 39 62 61 62 39 64 61 36 33 30  9fb9d89bab9da630
0b00: 63 36 39 39 65 34 38 31 36 66 31 2c 2c 2c 0a 4d  c699e4816f1,,,.M
0b10: 44 20 43 68 61 6e 20 52 65 61 64 2c 6d 64 35 20  D Chan Read,md5 
0b20: 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63  bin,,,binary enc
0b30: 6f 64 65 20 68 65 78 20 5b 64 69 67 65 73 74 5f  ode hex [digest_
0b40: 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a  read_chan ::tls:
0b50: 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65 20 2d  :md $test_file -
0b60: 62 69 6e 20 2d 64 69 67 65 73 74 20 6d 64 35 5d  bin -digest md5]
0b70: 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33  ,,,962bf0803b423
0b80: 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65  2ec23bd8427bb94e
0b90: 61 30 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 52  a09,,,.MD Chan R
0ba0: 65 61 64 2c 6d 64 35 20 68 65 78 2c 2c 2c 64 69  ead,md5 hex,,,di
0bb0: 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a  gest_read_chan :
0bc0: 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66  :tls::md $test_f
0bd0: 69 6c 65 20 2d 68 65 78 20 2d 64 69 67 65 73 74  ile -hex -digest
0be0: 20 6d 64 35 2c 2c 2c 39 36 32 62 66 30 38 30 33   md5,,,962bf0803
0bf0: 62 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62  b4232ec23bd8427b
0c00: 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c  b94ea09,,,.,,,,,
0c10: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
0c20: 54 65 73 74 20 4d 44 20 63 6f 6d 6d 61 6e 64 20  Test MD command 
0c30: 66 6f 72 20 77 72 69 74 65 20 63 68 61 6e 6e 65  for write channe
0c40: 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 43 68  l,,,,,,,,,.MD Ch
0c50: 61 6e 20 57 72 69 74 65 2c 6d 64 34 2c 6d 64 34  an Write,md4,md4
0c60: 2c 2c 64 69 67 65 73 74 5f 77 72 69 74 65 5f 63  ,,digest_write_c
0c70: 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74  han ::tls::md $t
0c80: 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20 24 74 65  est_alt_file $te
0c90: 73 74 5f 64 61 74 61 20 2d 64 69 67 65 73 74 20  st_data -digest 
0ca0: 6d 64 34 2c 2c 2c 37 39 33 33 39 39 66 37 39 32  md4,,,793399f792
0cb0: 65 63 61 32 37 35 32 63 36 61 66 33 32 33 34 62  eca2752c6af3234b
0cc0: 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 43 68 61  a70858,,,.MD Cha
0cd0: 6e 20 57 72 69 74 65 2c 6d 64 35 2c 2c 2c 64 69  n Write,md5,,,di
0ce0: 67 65 73 74 5f 77 72 69 74 65 5f 63 68 61 6e 20  gest_write_chan 
0cf0: 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f  ::tls::md $test_
0d00: 61 6c 74 5f 66 69 6c 65 20 24 74 65 73 74 5f 64  alt_file $test_d
0d10: 61 74 61 20 2d 64 69 67 65 73 74 20 6d 64 35 2c  ata -digest md5,
0d20: 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32  ,,962bf0803b4232
0d30: 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61  ec23bd8427bb94ea
0d40: 30 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 57 72  09,,,.MD Chan Wr
0d50: 69 74 65 2c 73 68 61 31 2c 2c 2c 64 69 67 65 73  ite,sha1,,,diges
0d60: 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a 3a 74  t_write_chan ::t
0d70: 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61 6c 74  ls::md $test_alt
0d80: 5f 66 69 6c 65 20 24 74 65 73 74 5f 64 61 74 61  _file $test_data
0d90: 20 2d 64 69 67 65 73 74 20 73 68 61 31 2c 2c 2c   -digest sha1,,,
0da0: 34 66 65 30 33 62 37 66 32 35 36 38 35 35 31 64  4fe03b7f2568551d
0db0: 66 61 66 62 39 38 63 61 36 30 30 34 65 36 35 63  fafb98ca6004e65c
0dc0: 34 62 37 31 61 61 37 64 2c 2c 2c 0a 4d 44 20 43  4b71aa7d,,,.MD C
0dd0: 68 61 6e 20 57 72 69 74 65 2c 73 68 61 32 35 36  han Write,sha256
0de0: 2c 2c 2c 64 69 67 65 73 74 5f 77 72 69 74 65 5f  ,,,digest_write_
0df0: 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24  chan ::tls::md $
0e00: 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20 24 74  test_alt_file $t
0e10: 65 73 74 5f 64 61 74 61 20 2d 64 69 67 65 73 74  est_data -digest
0e20: 20 73 68 61 32 35 36 2c 2c 2c 39 64 33 35 37 38   sha256,,,9d3578
0e30: 66 63 31 33 38 32 30 35 63 66 30 65 65 34 62 34  fc138205cf0ee4b4
0e40: 63 65 66 33 35 66 65 31 30 31 62 62 34 65 63 61  cef35fe101bb4eca
0e50: 63 37 62 31 36 31 34 63 31 38 65 36 66 61 34 38  c7b1614c18e6fa48
0e60: 62 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 4d 44  b5c7f95e19,,,.MD
0e70: 20 43 68 61 6e 20 57 72 69 74 65 2c 73 68 61 35   Chan Write,sha5
0e80: 31 32 2c 2c 2c 64 69 67 65 73 74 5f 77 72 69 74  12,,,digest_writ
0e90: 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64  e_chan ::tls::md
0ea0: 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20   $test_alt_file 
0eb0: 24 74 65 73 74 5f 64 61 74 61 20 2d 64 69 67 65  $test_data -dige
0ec0: 73 74 20 73 68 61 35 31 32 2c 2c 2c 64 31 37 38  st sha512,,,d178
0ed0: 65 37 35 39 64 63 35 39 31 32 37 30 37 31 35 38  e759dc5912707158
0ee0: 38 64 32 66 61 64 31 37 33 63 30 36 32 33 38 64  8d2fad173c06238d
0ef0: 38 37 65 38 30 30 61 36 34 30 33 63 30 61 33 30  87e800a6403c0a30
0f00: 64 61 61 34 66 61 61 66 30 35 64 30 65 37 63 65  daa4faaf05d0e7ce
0f10: 30 34 39 31 36 61 66 61 61 36 61 35 38 61 33 30  04916afaa6a58a30
0f20: 63 62 65 62 35 39 37 64 61 63 62 30 31 63 36 32  cbeb597dacb01c62
0f30: 66 39 66 62 39 64 38 39 62 61 62 39 64 61 36 33  f9fb9d89bab9da63
0f40: 30 63 36 39 39 65 34 38 31 36 66 31 2c 2c 2c 0a  0c699e4816f1,,,.
0f50: 4d 44 20 43 68 61 6e 20 57 72 69 74 65 2c 6d 64  MD Chan Write,md
0f60: 35 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65  5 bin,,,binary e
0f70: 6e 63 6f 64 65 20 68 65 78 20 5b 64 69 67 65 73  ncode hex [diges
0f80: 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a 3a 74  t_write_chan ::t
0f90: 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61 6c 74  ls::md $test_alt
0fa0: 5f 66 69 6c 65 20 24 74 65 73 74 5f 64 61 74 61  _file $test_data
0fb0: 20 2d 62 69 6e 20 2d 64 69 67 65 73 74 20 6d 64   -bin -digest md
0fc0: 35 5d 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34  5],,,962bf0803b4
0fd0: 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39  232ec23bd8427bb9
0fe0: 34 65 61 30 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e  4ea09,,,.MD Chan
0ff0: 20 57 72 69 74 65 2c 6d 64 35 20 68 65 78 2c 2c   Write,md5 hex,,
1000: 2c 64 69 67 65 73 74 5f 77 72 69 74 65 5f 63 68  ,digest_write_ch
1010: 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65  an ::tls::md $te
1020: 73 74 5f 61 6c 74 5f 66 69 6c 65 20 24 74 65 73  st_alt_file $tes
1030: 74 5f 64 61 74 61 20 2d 68 65 78 20 2d 64 69 67  t_data -hex -dig
1040: 65 73 74 20 6d 64 35 2c 2c 2c 39 36 32 62 66 30  est md5,,,962bf0
1050: 38 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34  803b4232ec23bd84
1060: 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c  27bb94ea09,,,.,,
1070: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
1080: 2c 23 20 54 65 73 74 20 4d 44 20 63 6f 6d 6d 61  ,# Test MD comma
1090: 6e 64 20 66 6f 72 20 6f 62 6a 65 63 74 20 63 6f  nd for object co
10a0: 6d 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d  mmand,,,,,,,,,.M
10b0: 44 20 43 6f 6d 6d 61 6e 64 2c 6d 64 34 2c 6d 64  D Command,md4,md
10c0: 34 2c 2c 64 69 67 65 73 74 5f 61 63 63 75 6d 75  4,,digest_accumu
10d0: 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74 61 20  late $test_data 
10e0: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
10f0: 74 20 6d 64 34 2c 2c 2c 37 39 33 33 39 39 66 37  t md4,,,793399f7
1100: 39 32 65 63 61 32 37 35 32 63 36 61 66 33 32 33  92eca2752c6af323
1110: 34 62 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 43  4ba70858,,,.MD C
1120: 6f 6d 6d 61 6e 64 2c 6d 64 35 2c 2c 2c 64 69 67  ommand,md5,,,dig
1130: 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20 24  est_accumulate $
1140: 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a  test_data ::tls:
1150: 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 2c  :md -digest md5,
1160: 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32  ,,962bf0803b4232
1170: 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61  ec23bd8427bb94ea
1180: 30 39 2c 2c 2c 0a 4d 44 20 43 6f 6d 6d 61 6e 64  09,,,.MD Command
1190: 2c 73 68 61 31 2c 2c 2c 64 69 67 65 73 74 5f 61  ,sha1,,,digest_a
11a0: 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f  ccumulate $test_
11b0: 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  data ::tls::md -
11c0: 64 69 67 65 73 74 20 73 68 61 31 2c 2c 2c 34 66  digest sha1,,,4f
11d0: 65 30 33 62 37 66 32 35 36 38 35 35 31 64 66 61  e03b7f2568551dfa
11e0: 66 62 39 38 63 61 36 30 30 34 65 36 35 63 34 62  fb98ca6004e65c4b
11f0: 37 31 61 61 37 64 2c 2c 2c 0a 4d 44 20 43 6f 6d  71aa7d,,,.MD Com
1200: 6d 61 6e 64 2c 73 68 61 32 35 36 2c 2c 2c 64 69  mand,sha256,,,di
1210: 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20  gest_accumulate 
1220: 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73  $test_data ::tls
1230: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
1240: 32 35 36 2c 2c 2c 39 64 33 35 37 38 66 63 31 33  256,,,9d3578fc13
1250: 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66 33  8205cf0ee4b4cef3
1260: 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62 31  5fe101bb4ecac7b1
1270: 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63 37  614c18e6fa48b5c7
1280: 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 43 6f 6d  f95e19,,,.MD Com
1290: 6d 61 6e 64 2c 73 68 61 35 31 32 2c 2c 2c 64 69  mand,sha512,,,di
12a0: 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20  gest_accumulate 
12b0: 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73  $test_data ::tls
12c0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
12d0: 35 31 32 2c 2c 2c 64 31 37 38 65 37 35 39 64 63  512,,,d178e759dc
12e0: 35 39 31 32 37 30 37 31 35 38 38 64 32 66 61 64  59127071588d2fad
12f0: 31 37 33 63 30 36 32 33 38 64 38 37 65 38 30 30  173c06238d87e800
1300: 61 36 34 30 33 63 30 61 33 30 64 61 61 34 66 61  a6403c0a30daa4fa
1310: 61 66 30 35 64 30 65 37 63 65 30 34 39 31 36 61  af05d0e7ce04916a
1320: 66 61 61 36 61 35 38 61 33 30 63 62 65 62 35 39  faa6a58a30cbeb59
1330: 37 64 61 63 62 30 31 63 36 32 66 39 66 62 39 64  7dacb01c62f9fb9d
1340: 38 39 62 61 62 39 64 61 36 33 30 63 36 39 39 65  89bab9da630c699e
1350: 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 43 6f 6d  4816f1,,,.MD Com
1360: 6d 61 6e 64 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62  mand,md5 bin,,,b
1370: 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78  inary encode hex
1380: 20 5b 64 69 67 65 73 74 5f 61 63 63 75 6d 75 6c   [digest_accumul
1390: 61 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a  ate $test_data :
13a0: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
13b0: 20 6d 64 35 20 2d 62 69 6e 5d 2c 2c 2c 39 36 32   md5 -bin],,,962
13c0: 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62  bf0803b4232ec23b
13d0: 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c  d8427bb94ea09,,,
13e0: 0a 4d 44 20 43 6f 6d 6d 61 6e 64 2c 6d 64 35 20  .MD Command,md5 
13f0: 68 65 78 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63  hex,,,digest_acc
1400: 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61  umulate $test_da
1410: 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ta ::tls::md -di
1420: 67 65 73 74 20 6d 64 35 20 2d 68 65 78 2c 2c 2c  gest md5 -hex,,,
1430: 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63  962bf0803b4232ec
1440: 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39  23bd8427bb94ea09
1450: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
1460: 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 4d 44  ommand,# Test MD
1470: 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 64 61 74   command for dat
1480: 61 20 73 68 6f 72 74 63 75 74 2c 2c 2c 2c 2c 2c  a shortcut,,,,,,
1490: 2c 2c 2c 0a 4d 44 20 53 68 6f 72 74 63 75 74 2c  ,,,.MD Shortcut,
14a0: 6d 64 34 2c 6d 64 34 2c 2c 3a 3a 74 6c 73 3a 3a  md4,md4,,::tls::
14b0: 6d 64 20 6d 64 34 20 24 74 65 73 74 5f 64 61 74  md md4 $test_dat
14c0: 61 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63  a,,,793399f792ec
14d0: 61 32 37 35 32 63 36 61 66 33 32 33 34 62 61 37  a2752c6af3234ba7
14e0: 30 38 35 38 2c 2c 2c 0a 4d 44 20 53 68 6f 72 74  0858,,,.MD Short
14f0: 63 75 74 2c 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a  cut,md5,,,::tls:
1500: 3a 6d 64 20 6d 64 35 20 24 74 65 73 74 5f 64 61  :md md5 $test_da
1510: 74 61 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34  ta,,,962bf0803b4
1520: 32 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39  232ec23bd8427bb9
1530: 34 65 61 30 39 2c 2c 2c 0a 4d 44 20 53 68 6f 72  4ea09,,,.MD Shor
1540: 74 63 75 74 2c 73 68 61 31 2c 2c 2c 3a 3a 74 6c  tcut,sha1,,,::tl
1550: 73 3a 3a 6d 64 20 73 68 61 31 20 24 74 65 73 74  s::md sha1 $test
1560: 5f 64 61 74 61 2c 2c 2c 34 66 65 30 33 62 37 66  _data,,,4fe03b7f
1570: 32 35 36 38 35 35 31 64 66 61 66 62 39 38 63 61  2568551dfafb98ca
1580: 36 30 30 34 65 36 35 63 34 62 37 31 61 61 37 64  6004e65c4b71aa7d
1590: 2c 2c 2c 0a 4d 44 20 53 68 6f 72 74 63 75 74 2c  ,,,.MD Shortcut,
15a0: 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha256,,,::tls::
15b0: 6d 64 20 73 68 61 32 35 36 20 24 74 65 73 74 5f  md sha256 $test_
15c0: 64 61 74 61 2c 2c 2c 39 64 33 35 37 38 66 63 31  data,,,9d3578fc1
15d0: 33 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66  38205cf0ee4b4cef
15e0: 33 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62  35fe101bb4ecac7b
15f0: 31 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63  1614c18e6fa48b5c
1600: 37 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 53 68  7f95e19,,,.MD Sh
1610: 6f 72 74 63 75 74 2c 73 68 61 35 31 32 2c 2c 2c  ortcut,sha512,,,
1620: 3a 3a 74 6c 73 3a 3a 6d 64 20 73 68 61 35 31 32  ::tls::md sha512
1630: 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 64 31   $test_data,,,d1
1640: 37 38 65 37 35 39 64 63 35 39 31 32 37 30 37 31  78e759dc59127071
1650: 35 38 38 64 32 66 61 64 31 37 33 63 30 36 32 33  588d2fad173c0623
1660: 38 64 38 37 65 38 30 30 61 36 34 30 33 63 30 61  8d87e800a6403c0a
1670: 33 30 64 61 61 34 66 61 61 66 30 35 64 30 65 37  30daa4faaf05d0e7
1680: 63 65 30 34 39 31 36 61 66 61 61 36 61 35 38 61  ce04916afaa6a58a
1690: 33 30 63 62 65 62 35 39 37 64 61 63 62 30 31 63  30cbeb597dacb01c
16a0: 36 32 66 39 66 62 39 64 38 39 62 61 62 39 64 61  62f9fb9d89bab9da
16b0: 36 33 30 63 36 39 39 65 34 38 31 36 66 31 2c 2c  630c699e4816f1,,
16c0: 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  ,.,,,,,,,,,,.com
16d0: 6d 61 6e 64 2c 23 20 54 65 73 74 20 4d 44 20 63  mand,# Test MD c
16e0: 6f 6d 6d 61 6e 64 20 66 6f 72 20 64 61 74 61 2c  ommand for data,
16f0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 44 61 74 61  ,,,,,,,,.MD Data
1700: 2c 6d 64 34 2c 6d 64 34 2c 2c 3a 3a 74 6c 73 3a  ,md4,md4,,::tls:
1710: 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 34 20  :md -digest md4 
1720: 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61  -data $test_data
1730: 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63 61  ,,,793399f792eca
1740: 32 37 35 32 63 36 61 66 33 32 33 34 62 61 37 30  2752c6af3234ba70
1750: 38 35 38 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c 6d  858,,,.MD Data,m
1760: 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  d5,,,::tls::md -
1770: 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61  digest md5 -data
1780: 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 39 36   $test_data,,,96
1790: 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33  2bf0803b4232ec23
17a0: 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c  bd8427bb94ea09,,
17b0: 2c 0a 4d 44 20 44 61 74 61 2c 73 68 61 31 2c 2c  ,.MD Data,sha1,,
17c0: 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65  ,::tls::md -dige
17d0: 73 74 20 73 68 61 31 20 2d 64 61 74 61 20 24 74  st sha1 -data $t
17e0: 65 73 74 5f 64 61 74 61 2c 2c 2c 34 66 65 30 33  est_data,,,4fe03
17f0: 62 37 66 32 35 36 38 35 35 31 64 66 61 66 62 39  b7f2568551dfafb9
1800: 38 63 61 36 30 30 34 65 36 35 63 34 62 37 31 61  8ca6004e65c4b71a
1810: 61 37 64 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c 73  a7d,,,.MD Data,s
1820: 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ha256,,,::tls::m
1830: 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  d -digest sha256
1840: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74   -data $test_dat
1850: 61 2c 2c 2c 39 64 33 35 37 38 66 63 31 33 38 32  a,,,9d3578fc1382
1860: 30 35 63 66 30 65 65 34 62 34 63 65 66 33 35 66  05cf0ee4b4cef35f
1870: 65 31 30 31 62 62 34 65 63 61 63 37 62 31 36 31  e101bb4ecac7b161
1880: 34 63 31 38 65 36 66 61 34 38 62 35 63 37 66 39  4c18e6fa48b5c7f9
1890: 35 65 31 39 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c  5e19,,,.MD Data,
18a0: 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha512,,,::tls::
18b0: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 35 31  md -digest sha51
18c0: 32 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  2 -data $test_da
18d0: 74 61 2c 2c 2c 64 31 37 38 65 37 35 39 64 63 35  ta,,,d178e759dc5
18e0: 39 31 32 37 30 37 31 35 38 38 64 32 66 61 64 31  9127071588d2fad1
18f0: 37 33 63 30 36 32 33 38 64 38 37 65 38 30 30 61  73c06238d87e800a
1900: 36 34 30 33 63 30 61 33 30 64 61 61 34 66 61 61  6403c0a30daa4faa
1910: 66 30 35 64 30 65 37 63 65 30 34 39 31 36 61 66  f05d0e7ce04916af
1920: 61 61 36 61 35 38 61 33 30 63 62 65 62 35 39 37  aa6a58a30cbeb597
1930: 64 61 63 62 30 31 63 36 32 66 39 66 62 39 64 38  dacb01c62f9fb9d8
1940: 39 62 61 62 39 64 61 36 33 30 63 36 39 39 65 34  9bab9da630c699e4
1950: 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 44 61 74 61  816f1,,,.MD Data
1960: 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62 69 6e 61 72  ,md5 bin,,,binar
1970: 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a 3a  y encode hex [::
1980: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
1990: 6d 64 35 20 2d 64 61 74 61 20 24 74 65 73 74 5f  md5 -data $test_
19a0: 64 61 74 61 20 2d 62 69 6e 5d 2c 2c 2c 39 36 32  data -bin],,,962
19b0: 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62  bf0803b4232ec23b
19c0: 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c  d8427bb94ea09,,,
19d0: 0a 4d 44 20 44 61 74 61 2c 6d 64 35 20 68 65 78  .MD Data,md5 hex
19e0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ,,,::tls::md -di
19f0: 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20 24  gest md5 -data $
1a00: 74 65 73 74 5f 64 61 74 61 20 2d 68 65 78 2c 2c  test_data -hex,,
1a10: 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65  ,962bf0803b4232e
1a20: 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30  c23bd8427bb94ea0
1a30: 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  9,,,.,,,,,,,,,,.
1a40: 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 4d  command,# Test M
1a50: 44 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 66 69  D command for fi
1a60: 6c 65 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 46  le,,,,,,,,,.MD F
1a70: 69 6c 65 2c 6d 64 34 2c 6d 64 34 2c 2c 3a 3a 74  ile,md4,md4,,::t
1a80: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d  ls::md -digest m
1a90: 64 34 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66  d4 -file $test_f
1aa0: 69 6c 65 2c 2c 2c 37 39 33 33 39 39 66 37 39 32  ile,,,793399f792
1ab0: 65 63 61 32 37 35 32 63 36 61 66 33 32 33 34 62  eca2752c6af3234b
1ac0: 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 46 69 6c  a70858,,,.MD Fil
1ad0: 65 2c 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  e,md5,,,::tls::m
1ae0: 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 66  d -digest md5 -f
1af0: 69 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c  ile $test_file,,
1b00: 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65  ,962bf0803b4232e
1b10: 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30  c23bd8427bb94ea0
1b20: 39 2c 2c 2c 0a 4d 44 20 46 69 6c 65 2c 73 68 61  9,,,.MD File,sha
1b30: 31 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  1,,,::tls::md -d
1b40: 69 67 65 73 74 20 73 68 61 31 20 2d 66 69 6c 65  igest sha1 -file
1b50: 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 34 66   $test_file,,,4f
1b60: 65 30 33 62 37 66 32 35 36 38 35 35 31 64 66 61  e03b7f2568551dfa
1b70: 66 62 39 38 63 61 36 30 30 34 65 36 35 63 34 62  fb98ca6004e65c4b
1b80: 37 31 61 61 37 64 2c 2c 2c 0a 4d 44 20 46 69 6c  71aa7d,,,.MD Fil
1b90: 65 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73  e,sha256,,,::tls
1ba0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
1bb0: 32 35 36 20 2d 66 69 6c 65 20 24 74 65 73 74 5f  256 -file $test_
1bc0: 66 69 6c 65 2c 2c 2c 39 64 33 35 37 38 66 63 31  file,,,9d3578fc1
1bd0: 33 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66  38205cf0ee4b4cef
1be0: 33 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62  35fe101bb4ecac7b
1bf0: 31 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63  1614c18e6fa48b5c
1c00: 37 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 46 69  7f95e19,,,.MD Fi
1c10: 6c 65 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c  le,sha512,,,::tl
1c20: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68  s::md -digest sh
1c30: 61 35 31 32 20 2d 66 69 6c 65 20 24 74 65 73 74  a512 -file $test
1c40: 5f 66 69 6c 65 2c 2c 2c 64 31 37 38 65 37 35 39  _file,,,d178e759
1c50: 64 63 35 39 31 32 37 30 37 31 35 38 38 64 32 66  dc59127071588d2f
1c60: 61 64 31 37 33 63 30 36 32 33 38 64 38 37 65 38  ad173c06238d87e8
1c70: 30 30 61 36 34 30 33 63 30 61 33 30 64 61 61 34  00a6403c0a30daa4
1c80: 66 61 61 66 30 35 64 30 65 37 63 65 30 34 39 31  faaf05d0e7ce0491
1c90: 36 61 66 61 61 36 61 35 38 61 33 30 63 62 65 62  6afaa6a58a30cbeb
1ca0: 35 39 37 64 61 63 62 30 31 63 36 32 66 39 66 62  597dacb01c62f9fb
1cb0: 39 64 38 39 62 61 62 39 64 61 36 33 30 63 36 39  9d89bab9da630c69
1cc0: 39 65 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 46  9e4816f1,,,.MD F
1cd0: 69 6c 65 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62 69  ile,md5 bin,,,bi
1ce0: 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20  nary encode hex 
1cf0: 5b 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65  [::tls::md -dige
1d00: 73 74 20 6d 64 35 20 2d 66 69 6c 65 20 24 74 65  st md5 -file $te
1d10: 73 74 5f 66 69 6c 65 20 2d 62 69 6e 5d 2c 2c 2c  st_file -bin],,,
1d20: 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63  962bf0803b4232ec
1d30: 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39  23bd8427bb94ea09
1d40: 2c 2c 2c 0a 4d 44 20 46 69 6c 65 2c 6d 64 35 20  ,,,.MD File,md5 
1d50: 68 65 78 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  hex,,,::tls::md 
1d60: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 66 69 6c  -digest md5 -fil
1d70: 65 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 68 65  e $test_file -he
1d80: 78 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  x,,,962bf0803b42
1d90: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
1da0: 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  ea09,,,.,,,,,,,,
1db0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 4d 44 20  ,,.command,# MD 
1dc0: 45 72 72 6f 72 20 43 61 73 65 73 2c 2c 2c 2c 2c  Error Cases,,,,,
1dd0: 2c 2c 2c 2c 0a 4d 44 20 45 72 72 6f 72 73 2c 54  ,,,,.MD Errors,T
1de0: 6f 6f 20 66 65 77 20 61 72 67 73 2c 2c 2c 3a 3a  oo few args,,,::
1df0: 74 6c 73 3a 3a 6d 64 2c 2c 2c 22 77 72 6f 6e 67  tls::md,,,"wrong
1e00: 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20   # args: should 
1e10: 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 6d 64 20 3f  be ""::tls::md ?
1e20: 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70  -bin|-hex? ?-cip
1e30: 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65  her name? ?-dige
1e40: 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b  st name? ?-key k
1e50: 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20  ey? ?-mac name? 
1e60: 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c  [-channel chan |
1e70: 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d   -command cmdNam
1e80: 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61  e | -file filena
1e90: 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74  me | ?-data? dat
1ea0: 61 5d 22 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72  a]""",,,1.MD Err
1eb0: 6f 72 73 2c 54 6f 6f 20 6d 61 6e 79 20 61 72 67  ors,Too many arg
1ec0: 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 74 6f  s,,,::tls::md to
1ed0: 6f 20 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 6c  o many command l
1ee0: 69 6e 65 20 61 72 67 73 20 74 6f 20 70 61 73 73  ine args to pass
1ef0: 20 74 68 65 20 74 65 73 74 20 77 69 74 68 6f 75   the test withou
1f00: 74 20 61 6e 20 65 72 72 6f 72 20 6f 72 20 66 61  t an error or fa
1f10: 69 6c 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67 20 23  iling,,,"wrong #
1f20: 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65   args: should be
1f30: 20 22 22 3a 3a 74 6c 73 3a 3a 6d 64 20 3f 2d 62   ""::tls::md ?-b
1f40: 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65  in|-hex? ?-ciphe
1f50: 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74  r name? ?-digest
1f60: 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79   name? ?-key key
1f70: 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d  ? ?-mac name? [-
1f80: 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d  channel chan | -
1f90: 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20  command cmdName 
1fa0: 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65  | -file filename
1fb0: 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d   | ?-data? data]
1fc0: 22 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72  """,,,1.MD Error
1fd0: 73 2c 49 6e 76 61 6c 69 64 20 64 69 67 65 73 74  s,Invalid digest
1fe0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 62 6f 67  ,,,::tls::md bog
1ff0: 75 73 20 64 61 74 61 2c 2c 2c 22 69 6e 76 61 6c  us data,,,"inval
2000: 69 64 20 64 69 67 65 73 74 20 22 22 62 6f 67 75  id digest ""bogu
2010: 73 22 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f  s""",,,1.MD Erro
2020: 72 73 2c 49 6e 76 61 6c 69 64 20 64 69 67 65 73  rs,Invalid diges
2030: 74 20 41 72 67 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  t Arg,,,::tls::m
2040: 64 20 2d 64 69 67 65 73 74 20 62 6f 67 75 73 20  d -digest bogus 
2050: 2d 64 61 74 61 20 64 61 74 61 2c 2c 2c 22 69 6e  -data data,,,"in
2060: 76 61 6c 69 64 20 64 69 67 65 73 74 20 22 22 62  valid digest ""b
2070: 6f 67 75 73 22 22 22 2c 2c 2c 31 0a 4d 44 20 45  ogus""",,,1.MD E
2080: 72 72 6f 72 73 2c 4e 6f 20 64 69 67 65 73 74 2c  rrors,No digest,
2090: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 68 65 78  ,,::tls::md -hex
20a0: 20 2d 64 61 74 61 20 76 61 6c 75 65 2c 2c 2c 6e   -data value,,,n
20b0: 6f 20 64 69 67 65 73 74 2c 2c 2c 31 0a 4d 44 20  o digest,,,1.MD 
20c0: 45 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 6f  Errors,Invalid o
20d0: 70 74 69 6f 6e 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  ption,,,::tls::m
20e0: 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  d -digest sha256
20f0: 20 2d 62 6f 67 75 73 20 76 61 6c 75 65 2c 2c 2c   -bogus value,,,
2100: 22 62 61 64 20 6f 70 74 69 6f 6e 20 22 22 2d 62  "bad option ""-b
2110: 6f 67 75 73 22 22 3a 20 6d 75 73 74 20 62 65 20  ogus"": must be 
2120: 2d 62 69 6e 2c 20 2d 62 69 6e 61 72 79 2c 20 2d  -bin, -binary, -
2130: 68 65 78 2c 20 2d 68 65 78 61 64 65 63 69 6d 61  hex, -hexadecima
2140: 6c 2c 20 2d 63 68 61 6e 2c 20 2d 63 68 61 6e 6e  l, -chan, -chann
2150: 65 6c 2c 20 2d 63 69 70 68 65 72 2c 20 2d 63 6f  el, -cipher, -co
2160: 6d 6d 61 6e 64 2c 20 2d 64 61 74 61 2c 20 2d 64  mmand, -data, -d
2170: 69 67 65 73 74 2c 20 2d 66 69 6c 65 2c 20 2d 66  igest, -file, -f
2180: 69 6c 65 6e 61 6d 65 2c 20 2d 68 61 73 68 2c 20  ilename, -hash, 
2190: 2d 6b 65 79 2c 20 2d 6c 65 6e 67 74 68 2c 20 2d  -key, -length, -
21a0: 6d 61 63 2c 20 6f 72 20 2d 73 69 7a 65 22 2c 2c  mac, or -size",,
21b0: 2c 31 0a 4d 44 20 45 72 72 6f 72 73 2c 49 6e 76  ,1.MD Errors,Inv
21c0: 61 6c 69 64 20 66 69 6c 65 2c 2c 2c 3a 3a 74 6c  alid file,,,::tl
21d0: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68  s::md -digest sh
21e0: 61 32 35 36 20 2d 66 69 6c 65 20 62 6f 67 75 73  a256 -file bogus
21f0: 2c 2c 2c 22 63 6f 75 6c 64 6e 27 74 20 6f 70 65  ,,,"couldn't ope
2200: 6e 20 22 22 62 6f 67 75 73 22 22 3a 20 6e 6f 20  n ""bogus"": no 
2210: 73 75 63 68 20 66 69 6c 65 20 6f 72 20 64 69 72  such file or dir
2220: 65 63 74 6f 72 79 22 2c 2c 2c 31 0a 4d 44 20 45  ectory",,,1.MD E
2230: 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 63 68  rrors,Invalid ch
2240: 61 6e 6e 65 6c 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d  annel,,,::tls::m
2250: 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  d -digest sha256
2260: 20 2d 63 68 61 6e 6e 65 6c 20 62 6f 67 75 73 2c   -channel bogus,
2270: 2c 2c 22 63 61 6e 20 6e 6f 74 20 66 69 6e 64 20  ,,"can not find 
2280: 63 68 61 6e 6e 65 6c 20 6e 61 6d 65 64 20 22 22  channel named ""
2290: 62 6f 67 75 73 22 22 22 2c 2c 2c 31 0a 4d 44 20  bogus""",,,1.MD 
22a0: 45 72 72 6f 72 73 2c 4e 6f 20 6f 70 65 72 61 74  Errors,No operat
22b0: 69 6f 6e 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  ion,,,::tls::md 
22c0: 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20 2d  -digest sha256 -
22d0: 62 69 6e 2c 2c 2c 22 4e 6f 20 6f 70 65 72 61 74  bin,,,"No operat
22e0: 69 6f 6e 3a 20 55 73 65 20 2d 63 68 61 6e 6e 65  ion: Use -channe
22f0: 6c 2c 20 2d 63 6f 6d 6d 61 6e 64 2c 20 2d 64 61  l, -command, -da
2300: 74 61 2c 20 6f 72 20 2d 66 69 6c 65 20 6f 70 74  ta, or -file opt
2310: 69 6f 6e 22 2c 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c  ion",,,1.,,,,,,,
2320: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
2330: 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 43 4d  ommand,# Test CM
2340: 41 43 20 63 6f 6d 6d 61 6e 64 2c 2c 2c 2c 2c 2c  AC command,,,,,,
2350: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
2360: 20 74 65 73 74 5f 63 69 70 68 65 72 20 22 22 61   test_cipher ""a
2370: 65 73 2d 31 32 38 2d 63 62 63 22 22 22 2c 2c 2c  es-128-cbc""",,,
2380: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22  ,,,,,,.command,"
2390: 73 65 74 20 74 65 73 74 5f 6b 65 79 20 22 22 45  set test_key ""E
23a0: 78 61 6d 70 6c 65 20 6b 65 79 20 31 32 33 34 22  xample key 1234"
23b0: 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d 41 43  "",,,,,,,,,.CMAC
23c0: 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63  ,data,,,::tls::c
23d0: 6d 61 63 20 2d 63 69 70 68 65 72 20 24 74 65 73  mac -cipher $tes
23e0: 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74  t_cipher -key $t
23f0: 65 73 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 74  est_key -data $t
2400: 65 73 74 5f 64 61 74 61 2c 2c 2c 62 61 66 35 63  est_data,,,baf5c
2410: 32 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34  20f9973e2d606b14
2420: 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 43  c7efdfe52fa,,,.C
2430: 4d 41 43 2c 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73  MAC,file,,,::tls
2440: 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20 24  ::cmac -cipher $
2450: 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79  test_cipher -key
2460: 20 24 74 65 73 74 5f 6b 65 79 20 2d 66 69 6c 65   $test_key -file
2470: 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 62 61   $test_file,,,ba
2480: 66 35 63 32 30 66 39 39 37 33 65 32 64 36 30 36  f5c20f9973e2d606
2490: 62 31 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c  b14c7efdfe52fa,,
24a0: 2c 0a 43 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c 2c  ,.CMAC,channel,,
24b0: 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61  ,digest_read_cha
24c0: 6e 20 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 24 74  n ::tls::cmac $t
24d0: 65 73 74 5f 66 69 6c 65 20 2d 63 69 70 68 65 72  est_file -cipher
24e0: 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b   $test_cipher -k
24f0: 65 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 62  ey $test_key,,,b
2500: 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36 30  af5c20f9973e2d60
2510: 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61 2c  6b14c7efdfe52fa,
2520: 2c 2c 0a 43 4d 41 43 2c 63 6f 6d 6d 61 6e 64 2c  ,,.CMAC,command,
2530: 2c 2c 64 69 67 65 73 74 5f 61 63 63 75 6d 75 6c  ,,digest_accumul
2540: 61 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a  ate $test_data :
2550: 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68  :tls::cmac -ciph
2560: 65 72 20 24 74 65 73 74 5f 63 69 70 68 65 72 20  er $test_cipher 
2570: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c  -key $test_key,,
2580: 2c 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64  ,baf5c20f9973e2d
2590: 36 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66  606b14c7efdfe52f
25a0: 61 2c 2c 2c 0a 43 4d 41 43 2c 64 61 74 61 20 62  a,,,.CMAC,data b
25b0: 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f  in,,,binary enco
25c0: 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 63  de hex [::tls::c
25d0: 6d 61 63 20 2d 62 69 6e 20 2d 63 69 70 68 65 72  mac -bin -cipher
25e0: 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b   $test_cipher -k
25f0: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61  ey $test_key -da
2600: 74 61 20 24 74 65 73 74 5f 64 61 74 61 5d 2c 2c  ta $test_data],,
2610: 2c 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64  ,baf5c20f9973e2d
2620: 36 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66  606b14c7efdfe52f
2630: 61 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  a,,,.,,,,,,,,,,.
2640: 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 4d  command,# Test M
2650: 44 20 43 4d 41 43 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  D CMAC,,,,,,,,,.
2660: 4d 44 20 43 4d 41 43 2c 64 61 74 61 2c 2c 2c 3a  MD CMAC,data,,,:
2670: 3a 74 6c 73 3a 3a 6d 64 20 2d 63 69 70 68 65 72  :tls::md -cipher
2680: 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b   $test_cipher -k
2690: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61  ey $test_key -da
26a0: 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  ta $test_data,,,
26b0: 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36  baf5c20f9973e2d6
26c0: 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61  06b14c7efdfe52fa
26d0: 2c 2c 2c 0a 4d 44 20 43 4d 41 43 2c 66 69 6c 65  ,,,.MD CMAC,file
26e0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 63 69  ,,,::tls::md -ci
26f0: 70 68 65 72 20 24 74 65 73 74 5f 63 69 70 68 65  pher $test_ciphe
2700: 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79  r -key $test_key
2710: 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c   -file $test_fil
2720: 65 2c 2c 2c 62 61 66 35 63 32 30 66 39 39 37 33  e,,,baf5c20f9973
2730: 65 32 64 36 30 36 62 31 34 63 37 65 66 64 66 65  e2d606b14c7efdfe
2740: 35 32 66 61 2c 2c 2c 0a 4d 44 20 43 4d 41 43 2c  52fa,,,.MD CMAC,
2750: 63 68 61 6e 6e 65 6c 2c 2c 2c 64 69 67 65 73 74  channel,,,digest
2760: 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73  _read_chan ::tls
2770: 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65 20  ::md $test_file 
2780: 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69  -cipher $test_ci
2790: 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f  pher -key $test_
27a0: 6b 65 79 2c 2c 2c 62 61 66 35 63 32 30 66 39 39  key,,,baf5c20f99
27b0: 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66 64  73e2d606b14c7efd
27c0: 66 65 35 32 66 61 2c 2c 2c 0a 4d 44 20 43 4d 41  fe52fa,,,.MD CMA
27d0: 43 2c 63 6f 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65  C,command,,,dige
27e0: 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20 24 74  st_accumulate $t
27f0: 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a  est_data ::tls::
2800: 6d 64 20 2d 63 69 70 68 65 72 20 24 74 65 73 74  md -cipher $test
2810: 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65  _cipher -key $te
2820: 73 74 5f 6b 65 79 2c 2c 2c 62 61 66 35 63 32 30  st_key,,,baf5c20
2830: 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37  f9973e2d606b14c7
2840: 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 4d 44 20  efdfe52fa,,,.MD 
2850: 43 4d 41 43 2c 64 61 74 61 20 62 69 6e 2c 2c 2c  CMAC,data bin,,,
2860: 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65  binary encode he
2870: 78 20 5b 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 62 69  x [::tls::md -bi
2880: 6e 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f  n -cipher $test_
2890: 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73  cipher -key $tes
28a0: 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73  t_key -data $tes
28b0: 74 5f 64 61 74 61 5d 2c 2c 2c 62 61 66 35 63 32  t_data],,,baf5c2
28c0: 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63  0f9973e2d606b14c
28d0: 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 2c 2c  7efdfe52fa,,,.,,
28e0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
28f0: 2c 23 20 54 65 73 74 20 43 4d 41 43 20 53 68 6f  ,# Test CMAC Sho
2900: 72 74 63 75 74 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43  rtcut,,,,,,,,,.C
2910: 4d 41 43 20 53 68 6f 72 74 63 75 74 2c 64 61 74  MAC Shortcut,dat
2920: 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  a,,,::tls::cmac 
2930: 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65  $test_cipher -ke
2940: 79 20 24 74 65 73 74 5f 6b 65 79 20 24 74 65 73  y $test_key $tes
2950: 74 5f 64 61 74 61 2c 2c 2c 62 61 66 35 63 32 30  t_data,,,baf5c20
2960: 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37  f9973e2d606b14c7
2970: 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 2c 2c 2c  efdfe52fa,,,.,,,
2980: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
2990: 23 20 43 4d 41 43 20 45 72 72 6f 72 20 43 61 73  # CMAC Error Cas
29a0: 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d 41 43  es,,,,,,,,,.CMAC
29b0: 20 45 72 72 6f 72 73 2c 54 6f 6f 20 66 65 77 20   Errors,Too few 
29c0: 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d  args,,,::tls::cm
29d0: 61 63 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61 72  ac,,,"wrong # ar
29e0: 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22 22  gs: should be ""
29f0: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 3f 2d 62 69  ::tls::cmac ?-bi
2a00: 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65 72  n|-hex? ?-cipher
2a10: 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20   name? ?-digest 
2a20: 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f  name? ?-key key?
2a30: 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63   ?-mac name? [-c
2a40: 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63  hannel chan | -c
2a50: 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c  ommand cmdName |
2a60: 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20   -file filename 
2a70: 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d 22  | ?-data? data]"
2a80: 22 22 2c 2c 2c 31 0a 43 4d 41 43 20 45 72 72 6f  "",,,1.CMAC Erro
2a90: 72 73 2c 54 6f 6f 20 6d 61 6e 79 20 61 72 67 73  rs,Too many args
2aa0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 74  ,,,::tls::cmac t
2ab0: 6f 6f 20 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64 20  oo many command 
2ac0: 6c 69 6e 65 20 61 72 67 73 20 74 6f 20 70 61 73  line args to pas
2ad0: 73 20 74 68 65 20 74 65 73 74 20 77 69 74 68 6f  s the test witho
2ae0: 75 74 20 61 6e 20 65 72 72 6f 72 20 6f 72 20 66  ut an error or f
2af0: 61 69 6c 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67 20  ailing,,,"wrong 
2b00: 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62  # args: should b
2b10: 65 20 22 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  e ""::tls::cmac 
2b20: 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69  ?-bin|-hex? ?-ci
2b30: 70 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67  pher name? ?-dig
2b40: 65 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20  est name? ?-key 
2b50: 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f  key? ?-mac name?
2b60: 20 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20   [-channel chan 
2b70: 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61  | -command cmdNa
2b80: 6d 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e  me | -file filen
2b90: 61 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61  ame | ?-data? da
2ba0: 74 61 5d 22 22 22 2c 2c 2c 31 0a 43 4d 41 43 20  ta]""",,,1.CMAC 
2bb0: 45 72 72 6f 72 73 2c 4e 6f 20 63 69 70 68 65 72  Errors,No cipher
2bc0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d  ,,,::tls::cmac -
2bd0: 68 65 78 20 2d 64 61 74 61 20 24 74 65 73 74 5f  hex -data $test_
2be0: 64 61 74 61 2c 2c 2c 6e 6f 20 63 69 70 68 65 72  data,,,no cipher
2bf0: 2c 2c 2c 31 0a 43 4d 41 43 20 45 72 72 6f 72 73  ,,,1.CMAC Errors
2c00: 2c 4e 6f 20 6b 65 79 2c 2c 2c 3a 3a 74 6c 73 3a  ,No key,,,::tls:
2c10: 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20 24 74  :cmac -cipher $t
2c20: 65 73 74 5f 63 69 70 68 65 72 20 2d 64 61 74 61  est_cipher -data
2c30: 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 6e 6f   $test_data,,,no
2c40: 20 6b 65 79 2c 2c 2c 31 0a 43 4d 41 43 20 45 72   key,,,1.CMAC Er
2c50: 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 63 69 70  rors,Invalid cip
2c60: 68 65 72 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61  her,,,::tls::cma
2c70: 63 20 2d 63 69 70 68 65 72 20 62 6f 67 75 73 20  c -cipher bogus 
2c80: 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61  -data $test_data
2c90: 2c 2c 2c 22 69 6e 76 61 6c 69 64 20 63 69 70 68  ,,,"invalid ciph
2ca0: 65 72 20 22 22 62 6f 67 75 73 22 22 22 2c 2c 2c  er ""bogus""",,,
2cb0: 31 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c  1.,,,,,,,,,,.,,,
2cc0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
2cd0: 23 20 54 65 73 74 20 48 4d 41 43 20 63 6f 6d 6d  # Test HMAC comm
2ce0: 61 6e 64 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  and,,,,,,,,,.com
2cf0: 6d 61 6e 64 2c 73 65 74 20 74 65 73 74 5f 64 69  mand,set test_di
2d00: 67 65 73 74 20 6d 64 35 2c 2c 2c 2c 2c 2c 2c 2c  gest md5,,,,,,,,
2d10: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74  ,.command,"set t
2d20: 65 73 74 5f 6b 65 79 20 22 22 45 78 61 6d 70 6c  est_key ""Exampl
2d30: 65 20 6b 65 79 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c  e key""",,,,,,,,
2d40: 2c 0a 48 4d 41 43 2c 64 61 74 61 2c 2c 2c 3a 3a  ,.HMAC,data,,,::
2d50: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73  tls::hmac -diges
2d60: 74 20 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d  t $test_digest -
2d70: 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64  key $test_key -d
2d80: 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c  ata $test_data,,
2d90: 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 62 36  ,f98327ef3e20ab6
2da0: 64 33 38 38 66 36 37 36 63 36 61 37 39 64 39 33  d388f676c6a79d93
2db0: 64 2c 2c 2c 0a 48 4d 41 43 2c 66 69 6c 65 2c 2c  d,,,.HMAC,file,,
2dc0: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
2dd0: 67 65 73 74 20 24 74 65 73 74 5f 64 69 67 65 73  gest $test_diges
2de0: 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79  t -key $test_key
2df0: 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c   -file $test_fil
2e00: 65 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30  e,,,f98327ef3e20
2e10: 61 62 36 64 33 38 38 66 36 37 36 63 36 61 37 39  ab6d388f676c6a79
2e20: 64 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c 63 68 61  d93d,,,.HMAC,cha
2e30: 6e 6e 65 6c 2c 2c 2c 64 69 67 65 73 74 5f 72 65  nnel,,,digest_re
2e40: 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 68  ad_chan ::tls::h
2e50: 6d 61 63 20 24 74 65 73 74 5f 66 69 6c 65 20 2d  mac $test_file -
2e60: 64 69 67 65 73 74 20 24 74 65 73 74 5f 64 69 67  digest $test_dig
2e70: 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  est -key $test_k
2e80: 65 79 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32  ey,,,f98327ef3e2
2e90: 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61 37  0ab6d388f676c6a7
2ea0: 39 64 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c 63 6f  9d93d,,,.HMAC,co
2eb0: 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74 5f 61  mmand,,,digest_a
2ec0: 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f  ccumulate $test_
2ed0: 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 68 6d 61 63  data ::tls::hmac
2ee0: 20 2d 64 69 67 65 73 74 20 24 74 65 73 74 5f 64   -digest $test_d
2ef0: 69 67 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74  igest -key $test
2f00: 5f 6b 65 79 2c 2c 2c 66 39 38 33 32 37 65 66 33  _key,,,f98327ef3
2f10: 65 32 30 61 62 36 64 33 38 38 66 36 37 36 63 36  e20ab6d388f676c6
2f20: 61 37 39 64 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c  a79d93d,,,.HMAC,
2f30: 64 61 74 61 20 62 69 6e 2c 2c 2c 62 69 6e 61 72  data bin,,,binar
2f40: 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a 3a  y encode hex [::
2f50: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73  tls::hmac -diges
2f60: 74 20 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d  t $test_digest -
2f70: 62 69 6e 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  bin -key $test_k
2f80: 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64  ey -data $test_d
2f90: 61 74 61 5d 2c 2c 2c 66 39 38 33 32 37 65 66 33  ata],,,f98327ef3
2fa0: 65 32 30 61 62 36 64 33 38 38 66 36 37 36 63 36  e20ab6d388f676c6
2fb0: 61 37 39 64 39 33 64 2c 2c 2c 0a 2c 2c 2c 2c 2c  a79d93d,,,.,,,,,
2fc0: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
2fd0: 54 65 73 74 20 4d 44 20 48 4d 41 43 2c 2c 2c 2c  Test MD HMAC,,,,
2fe0: 2c 2c 2c 2c 2c 0a 4d 44 20 48 4d 41 43 2c 64 61  ,,,,,.MD HMAC,da
2ff0: 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  ta,,,::tls::md -
3000: 64 69 67 65 73 74 20 24 74 65 73 74 5f 64 69 67  digest $test_dig
3010: 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  est -key $test_k
3020: 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64  ey -data $test_d
3030: 61 74 61 2c 2c 2c 66 39 38 33 32 37 65 66 33 65  ata,,,f98327ef3e
3040: 32 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61  20ab6d388f676c6a
3050: 37 39 64 39 33 64 2c 2c 2c 0a 4d 44 20 48 4d 41  79d93d,,,.MD HMA
3060: 43 2c 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a  C,file,,,::tls::
3070: 6d 64 20 2d 64 69 67 65 73 74 20 24 74 65 73 74  md -digest $test
3080: 5f 64 69 67 65 73 74 20 2d 6b 65 79 20 24 74 65  _digest -key $te
3090: 73 74 5f 6b 65 79 20 2d 66 69 6c 65 20 24 74 65  st_key -file $te
30a0: 73 74 5f 66 69 6c 65 2c 2c 2c 66 39 38 33 32 37  st_file,,,f98327
30b0: 65 66 33 65 32 30 61 62 36 64 33 38 38 66 36 37  ef3e20ab6d388f67
30c0: 36 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a 4d 44  6c6a79d93d,,,.MD
30d0: 20 48 4d 41 43 2c 63 68 61 6e 6e 65 6c 2c 2c 2c   HMAC,channel,,,
30e0: 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e  digest_read_chan
30f0: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74   ::tls::md $test
3100: 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 24 74  _file -digest $t
3110: 65 73 74 5f 64 69 67 65 73 74 20 2d 6b 65 79 20  est_digest -key 
3120: 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39 38 33  $test_key,,,f983
3130: 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38 66  27ef3e20ab6d388f
3140: 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a  676c6a79d93d,,,.
3150: 4d 44 20 48 4d 41 43 2c 63 6f 6d 6d 61 6e 64 2c  MD HMAC,command,
3160: 2c 2c 64 69 67 65 73 74 5f 61 63 63 75 6d 75 6c  ,,digest_accumul
3170: 61 74 65 20 24 74 65 73 74 5f 64 61 74 61 20 3a  ate $test_data :
3180: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
3190: 20 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d 6b   $test_digest -k
31a0: 65 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66  ey $test_key,,,f
31b0: 39 38 33 32 37 65 66 33 65 32 30 61 62 36 64 33  98327ef3e20ab6d3
31c0: 38 38 66 36 37 36 63 36 61 37 39 64 39 33 64 2c  88f676c6a79d93d,
31d0: 2c 2c 0a 4d 44 20 48 4d 41 43 2c 64 61 74 61 20  ,,.MD HMAC,data 
31e0: 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63  bin,,,binary enc
31f0: 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a  ode hex [::tls::
3200: 6d 64 20 2d 64 69 67 65 73 74 20 24 74 65 73 74  md -digest $test
3210: 5f 64 69 67 65 73 74 20 2d 62 69 6e 20 2d 6b 65  _digest -bin -ke
3220: 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74  y $test_key -dat
3230: 61 20 24 74 65 73 74 5f 64 61 74 61 5d 2c 2c 2c  a $test_data],,,
3240: 66 39 38 33 32 37 65 66 33 65 32 30 61 62 36 64  f98327ef3e20ab6d
3250: 33 38 38 66 36 37 36 63 36 61 37 39 64 39 33 64  388f676c6a79d93d
3260: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
3270: 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 48 4d  ommand,# Test HM
3280: 41 43 20 53 68 6f 72 74 63 75 74 2c 2c 2c 2c 2c  AC Shortcut,,,,,
3290: 2c 2c 2c 2c 0a 48 4d 41 43 20 53 68 6f 72 74 63  ,,,,.HMAC Shortc
32a0: 75 74 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a  ut,data,,,::tls:
32b0: 3a 68 6d 61 63 20 24 74 65 73 74 5f 64 69 67 65  :hmac $test_dige
32c0: 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65  st -key $test_ke
32d0: 79 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 66  y $test_data,,,f
32e0: 39 38 33 32 37 65 66 33 65 32 30 61 62 36 64 33  98327ef3e20ab6d3
32f0: 38 38 66 36 37 36 63 36 61 37 39 64 39 33 64 2c  88f676c6a79d93d,
3300: 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ,,.,,,,,,,,,,.co
3310: 6d 6d 61 6e 64 2c 23 20 48 4d 41 43 20 45 72 72  mmand,# HMAC Err
3320: 6f 72 20 43 61 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c  or Cases,,,,,,,,
3330: 2c 0a 48 4d 41 43 20 45 72 72 6f 72 73 2c 54 6f  ,.HMAC Errors,To
3340: 6f 20 66 65 77 20 61 72 67 73 2c 2c 2c 3a 3a 74  o few args,,,::t
3350: 6c 73 3a 3a 68 6d 61 63 2c 2c 2c 22 77 72 6f 6e  ls::hmac,,,"wron
3360: 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64  g # args: should
3370: 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 68 6d 61   be ""::tls::hma
3380: 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d  c ?-bin|-hex? ?-
3390: 63 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64  cipher name? ?-d
33a0: 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65  igest name? ?-ke
33b0: 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d  y key? ?-mac nam
33c0: 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61  e? [-channel cha
33d0: 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64  n | -command cmd
33e0: 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c  Name | -file fil
33f0: 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20  ename | ?-data? 
3400: 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 48 4d 41  data]""",,,1.HMA
3410: 43 20 45 72 72 6f 72 73 2c 54 6f 6f 20 6d 61 6e  C Errors,Too man
3420: 79 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a  y args,,,::tls::
3430: 68 6d 61 63 20 74 6f 6f 20 6d 61 6e 79 20 63 6f  hmac too many co
3440: 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 73 20  mmand line args 
3450: 74 6f 20 70 61 73 73 20 74 68 65 20 74 65 73 74  to pass the test
3460: 20 77 69 74 68 6f 75 74 20 61 6e 20 65 72 72 6f   without an erro
3470: 72 20 6f 72 20 66 61 69 6c 69 6e 67 2c 2c 2c 22  r or failing,,,"
3480: 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68  wrong # args: sh
3490: 6f 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a  ould be ""::tls:
34a0: 3a 68 6d 61 63 20 3f 2d 62 69 6e 7c 2d 68 65 78  :hmac ?-bin|-hex
34b0: 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61 6d 65 3f  ? ?-cipher name?
34c0: 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d 65 3f 20   ?-digest name? 
34d0: 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d 61 63  ?-key key? ?-mac
34e0: 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c   name? [-channel
34f0: 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64   chan | -command
3500: 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66 69 6c 65   cmdName | -file
3510: 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64 61   filename | ?-da
3520: 74 61 3f 20 64 61 74 61 5d 22 22 22 2c 2c 2c 31  ta? data]""",,,1
3530: 0a 48 4d 41 43 20 45 72 72 6f 72 73 2c 4e 6f 20  .HMAC Errors,No 
3540: 64 69 67 65 73 74 2c 2c 2c 3a 3a 74 6c 73 3a 3a  digest,,,::tls::
3550: 68 6d 61 63 20 2d 68 65 78 20 2d 64 61 74 61 20  hmac -hex -data 
3560: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 6e 6f 20  $test_data,,,no 
3570: 64 69 67 65 73 74 2c 2c 2c 31 0a 48 4d 41 43 20  digest,,,1.HMAC 
3580: 45 72 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c 2c 2c  Errors,No key,,,
3590: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
35a0: 65 73 74 20 73 68 61 32 35 36 20 2d 64 61 74 61  est sha256 -data
35b0: 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 6e 6f   $test_data,,,no
35c0: 20 6b 65 79 2c 2c 2c 31 0a 48 4d 41 43 20 45 72   key,,,1.HMAC Er
35d0: 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 64 69 67  rors,Invalid dig
35e0: 65 73 74 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  est,,,::tls::md 
35f0: 2d 64 69 67 65 73 74 20 62 6f 67 75 73 20 2d 6b  -digest bogus -k
3600: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61  ey $test_key -da
3610: 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  ta $test_data,,,
3620: 22 69 6e 76 61 6c 69 64 20 64 69 67 65 73 74 20  "invalid digest 
3630: 22 22 62 6f 67 75 73 22 22 22 2c 2c 2c 31 0a 2c  ""bogus""",,,1.,
3640: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  ,,,,,,,,,.,,,,,,
3650: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54  ,,,,.command,# T
3660: 65 73 74 20 4d 41 43 20 63 6f 6d 6d 61 6e 64 2c  est MAC command,
3670: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
3680: 2c 22 73 65 74 20 74 65 73 74 5f 63 69 70 68 65  ,"set test_ciphe
3690: 72 20 22 22 61 65 73 2d 31 32 38 2d 63 62 63 22  r ""aes-128-cbc"
36a0: 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  "",,,,,,,,,.comm
36b0: 61 6e 64 2c 73 65 74 20 74 65 73 74 5f 64 69 67  and,set test_dig
36c0: 65 73 74 20 73 68 61 32 35 36 2c 2c 2c 2c 2c 2c  est sha256,,,,,,
36d0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
36e0: 20 74 65 73 74 5f 6b 65 79 20 22 22 45 78 61 6d   test_key ""Exam
36f0: 70 6c 65 20 6b 65 79 20 31 32 33 34 22 22 22 2c  ple key 1234""",
3700: 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 41 43 2c 43 4d 41  ,,,,,,,,.MAC,CMA
3710: 43 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d  C,,,::tls::mac -
3720: 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69 70  cipher $test_cip
3730: 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  her -key $test_k
3740: 65 79 20 2d 6d 61 63 20 63 6d 61 63 20 2d 64 61  ey -mac cmac -da
3750: 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  ta $test_data,,,
3760: 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36  baf5c20f9973e2d6
3770: 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61  06b14c7efdfe52fa
3780: 2c 2c 2c 0a 4d 41 43 2c 48 4d 41 43 2c 2c 2c 3a  ,,,.MAC,HMAC,,,:
3790: 3a 74 6c 73 3a 3a 6d 61 63 20 2d 64 69 67 65 73  :tls::mac -diges
37a0: 74 20 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d  t $test_digest -
37b0: 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 6d  key $test_key -m
37c0: 61 63 20 68 6d 61 63 20 2d 64 61 74 61 20 24 74  ac hmac -data $t
37d0: 65 73 74 5f 64 61 74 61 2c 2c 2c 36 37 36 64 61  est_data,,,676da
37e0: 66 39 36 33 37 30 64 30 65 33 63 35 35 39 38 35  f96370d0e3c55985
37f0: 35 37 64 61 33 38 61 39 61 38 31 30 61 34 66 62  57da38a9a810a4fb
3800: 61 63 62 62 32 64 31 30 63 36 37 66 36 64 66 61  acbb2d10c67f6dfa
3810: 38 33 66 31 30 66 34 38 65 39 36 2c 2c 2c 0a 4d  83f10f48e96,,,.M
3820: 41 43 2c 4d 44 2d 43 4d 41 43 2c 2c 2c 3a 3a 74  AC,MD-CMAC,,,::t
3830: 6c 73 3a 3a 6d 64 20 2d 63 69 70 68 65 72 20 24  ls::md -cipher $
3840: 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79  test_cipher -key
3850: 20 24 74 65 73 74 5f 6b 65 79 20 2d 6d 61 63 20   $test_key -mac 
3860: 63 6d 61 63 20 2d 64 61 74 61 20 24 74 65 73 74  cmac -data $test
3870: 5f 64 61 74 61 2c 2c 2c 62 61 66 35 63 32 30 66  _data,,,baf5c20f
3880: 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65  9973e2d606b14c7e
3890: 66 64 66 65 35 32 66 61 2c 2c 2c 0a 4d 41 43 2c  fdfe52fa,,,.MAC,
38a0: 4d 44 2d 48 4d 41 43 2c 2c 2c 3a 3a 74 6c 73 3a  MD-HMAC,,,::tls:
38b0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 24 74 65 73  :md -digest $tes
38c0: 74 5f 64 69 67 65 73 74 20 2d 6b 65 79 20 24 74  t_digest -key $t
38d0: 65 73 74 5f 6b 65 79 20 2d 6d 61 63 20 68 6d 61  est_key -mac hma
38e0: 63 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  c -data $test_da
38f0: 74 61 2c 2c 2c 36 37 36 64 61 66 39 36 33 37 30  ta,,,676daf96370
3900: 64 30 65 33 63 35 35 39 38 35 35 37 64 61 33 38  d0e3c5598557da38
3910: 61 39 61 38 31 30 61 34 66 62 61 63 62 62 32 64  a9a810a4fbacbb2d
3920: 31 30 63 36 37 66 36 64 66 61 38 33 66 31 30 66  10c67f6dfa83f10f
3930: 34 38 65 39 36 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c  48e96,,,.,,,,,,,
3940: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 4d 41  ,,,.command,# MA
3950: 43 20 45 72 72 6f 72 20 43 61 73 65 73 2c 2c 2c  C Error Cases,,,
3960: 2c 2c 2c 2c 2c 2c 0a 4d 41 43 20 45 72 72 6f 72  ,,,,,,.MAC Error
3970: 73 2c 54 6f 6f 20 66 65 77 20 61 72 67 73 2c 2c  s,Too few args,,
3980: 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 2c 2c 2c 22 77  ,::tls::mac,,,"w
3990: 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f  rong # args: sho
39a0: 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a  uld be ""::tls::
39b0: 6d 61 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20  mac ?-bin|-hex? 
39c0: 3f 2d 63 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f  ?-cipher name? ?
39d0: 2d 64 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d  -digest name? ?-
39e0: 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e  key key? ?-mac n
39f0: 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63  ame? [-channel c
3a00: 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63  han | -command c
3a10: 6d 64 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66  mdName | -file f
3a20: 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61  ilename | ?-data
3a30: 3f 20 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 4d  ? data]""",,,1.M
3a40: 41 43 20 45 72 72 6f 72 73 2c 4e 6f 20 6d 61 63  AC Errors,No mac
3a50: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d 6b  ,,,::tls::mac -k
3a60: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 64 61  ey $test_key -da
3a70: 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c  ta $test_data,,,
3a80: 6e 6f 20 4d 41 43 2c 2c 2c 31 0a 4d 41 43 20 45  no MAC,,,1.MAC E
3a90: 72 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c 2c 2c 3a  rrors,No key,,,:
3aa0: 3a 74 6c 73 3a 3a 6d 61 63 20 2d 6d 61 63 20 68  :tls::mac -mac h
3ab0: 6d 61 63 20 2d 64 69 67 65 73 74 20 24 74 65 73  mac -digest $tes
3ac0: 74 5f 64 69 67 65 73 74 20 2d 64 61 74 61 20 24  t_digest -data $
3ad0: 74 65 73 74 5f 64 61 74 61 2c 2c 2c 6e 6f 20 6b  test_data,,,no k
3ae0: 65 79 2c 2c 2c 31 0a 4d 41 43 20 45 72 72 6f 72  ey,,,1.MAC Error
3af0: 73 2c 49 6e 76 61 6c 69 64 20 4d 41 43 2c 2c 2c  s,Invalid MAC,,,
3b00: 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d 6d 61 63 20  ::tls::mac -mac 
3b10: 62 6f 67 75 73 20 2d 6b 65 79 20 24 74 65 73 74  bogus -key $test
3b20: 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74  _key -data $test
3b30: 5f 64 61 74 61 2c 2c 2c 22 69 6e 76 61 6c 69 64  _data,,,"invalid
3b40: 20 4d 41 43 20 22 22 62 6f 67 75 73 22 22 22 2c   MAC ""bogus""",
3b50: 2c 2c 31 0a 4d 41 43 20 45 72 72 6f 72 73 2c 54  ,,1.MAC Errors,T
3b60: 6f 6f 20 6d 61 6e 79 20 61 72 67 73 2c 2c 2c 3a  oo many args,,,:
3b70: 3a 74 6c 73 3a 3a 6d 61 63 20 74 6f 6f 20 6d 61  :tls::mac too ma
3b80: 6e 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20  ny command line 
3b90: 61 72 67 73 20 74 6f 20 70 61 73 73 20 74 68 65  args to pass the
3ba0: 20 74 65 73 74 20 77 69 74 68 6f 75 74 20 61 6e   test without an
3bb0: 20 65 72 72 6f 72 20 6f 72 20 66 61 69 6c 69 6e   error or failin
3bc0: 67 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61 72 67  g,,,"wrong # arg
3bd0: 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22 22 3a  s: should be "":
3be0: 3a 74 6c 73 3a 3a 6d 61 63 20 3f 2d 62 69 6e 7c  :tls::mac ?-bin|
3bf0: 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65 72 20 6e  -hex? ?-cipher n
3c00: 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e 61  ame? ?-digest na
3c10: 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f  me? ?-key key? ?
3c20: 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68 61  -mac name? [-cha
3c30: 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f 6d  nnel chan | -com
3c40: 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20 2d  mand cmdName | -
3c50: 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c 20  file filename | 
3c60: 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d 22 22 22  ?-data? data]"""
3c70: 2c 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  ,,,1.,,,,,,,,,,.
3c80: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ,,,,,,,,,,.comma
3c90: 6e 64 2c 23 20 52 46 43 20 31 33 32 31 20 4d 65  nd,# RFC 1321 Me
3ca0: 73 73 61 67 65 20 44 69 67 65 73 74 20 35 2c 2c  ssage Digest 5,,
3cb0: 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 31 33 32 31 2d  ,,,,,,,.RFC1321-
3cc0: 4d 44 35 2c 54 43 31 2c 2c 2c 22 3a 3a 74 6c 73  MD5,TC1,,,"::tls
3cd0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35  ::md -digest md5
3ce0: 20 2d 64 61 74 61 20 22 22 22 22 22 2c 2c 2c 64   -data """"",,,d
3cf0: 34 31 64 38 63 64 39 38 66 30 30 62 32 30 34 65  41d8cd98f00b204e
3d00: 39 38 30 30 39 39 38 65 63 66 38 34 32 37 65 2c  9800998ecf8427e,
3d10: 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44 35 2c 54  ,,.RFC1321-MD5,T
3d20: 43 32 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20  C2,,,"::tls::md 
3d30: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74  -digest md5 -dat
3d40: 61 20 22 22 61 22 22 22 2c 2c 2c 30 63 63 31 37  a ""a""",,,0cc17
3d50: 35 62 39 63 30 66 31 62 36 61 38 33 31 63 33 39  5b9c0f1b6a831c39
3d60: 39 65 32 36 39 37 37 32 36 36 31 2c 2c 2c 0a 52  9e269772661,,,.R
3d70: 46 43 31 33 32 31 2d 4d 44 35 2c 54 43 33 2c 2c  FC1321-MD5,TC3,,
3d80: 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,"::tls::md -dig
3d90: 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20 22 22  est md5 -data ""
3da0: 61 62 63 22 22 22 2c 2c 2c 39 30 30 31 35 30 39  abc""",,,9001509
3db0: 38 33 63 64 32 34 66 62 30 64 36 39 36 33 66 37  83cd24fb0d6963f7
3dc0: 64 32 38 65 31 37 66 37 32 2c 2c 2c 0a 52 46 43  d28e17f72,,,.RFC
3dd0: 31 33 32 31 2d 4d 44 35 2c 54 43 34 2c 2c 2c 22  1321-MD5,TC4,,,"
3de0: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
3df0: 74 20 6d 64 35 20 2d 64 61 74 61 20 22 22 6d 65  t md5 -data ""me
3e00: 73 73 61 67 65 20 64 69 67 65 73 74 22 22 22 2c  ssage digest""",
3e10: 2c 2c 66 39 36 62 36 39 37 64 37 63 62 37 39 33  ,,f96b697d7cb793
3e20: 38 64 35 32 35 61 32 66 33 31 61 61 66 31 36 31  8d525a2f31aaf161
3e30: 64 30 2c 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44  d0,,,.RFC1321-MD
3e40: 35 2c 54 43 35 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a  5,TC5,,,"::tls::
3e50: 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d  md -digest md5 -
3e60: 64 61 74 61 20 22 22 61 62 63 64 65 66 67 68 69  data ""abcdefghi
3e70: 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79  jklmnopqrstuvwxy
3e80: 7a 22 22 22 2c 2c 2c 63 33 66 63 64 33 64 37 36  z""",,,c3fcd3d76
3e90: 31 39 32 65 34 30 30 37 64 66 62 34 39 36 63 63  192e4007dfb496cc
3ea0: 61 36 37 65 31 33 62 2c 2c 2c 0a 52 46 43 31 33  a67e13b,,,.RFC13
3eb0: 32 31 2d 4d 44 35 2c 54 43 36 2c 2c 2c 22 3a 3a  21-MD5,TC6,,,"::
3ec0: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
3ed0: 6d 64 35 20 2d 64 61 74 61 20 22 22 41 42 43 44  md5 -data ""ABCD
3ee0: 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54  EFGHIJKLMNOPQRST
3ef0: 55 56 57 58 59 5a 61 62 63 64 65 66 67 68 69 6a  UVWXYZabcdefghij
3f00: 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a  klmnopqrstuvwxyz
3f10: 30 31 32 33 34 35 36 37 38 39 22 22 22 2c 2c 2c  0123456789""",,,
3f20: 64 31 37 34 61 62 39 38 64 32 37 37 64 39 66 35  d174ab98d277d9f5
3f30: 61 35 36 31 31 63 32 63 39 66 34 31 39 64 39 66  a5611c2c9f419d9f
3f40: 2c 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44 35 2c  ,,,.RFC1321-MD5,
3f50: 54 43 37 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64  TC7,,,"::tls::md
3f60: 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61   -digest md5 -da
3f70: 74 61 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61  ta [string repea
3f80: 74 20 22 22 31 32 33 34 35 36 37 38 39 30 22 22  t ""1234567890""
3f90: 20 38 5d 22 2c 2c 2c 35 37 65 64 66 34 61 32 32   8]",,,57edf4a22
3fa0: 62 65 33 63 39 35 35 61 63 34 39 64 61 32 65 32  be3c955ac49da2e2
3fb0: 31 30 37 62 36 37 61 2c 2c 2c 0a 2c 2c 2c 2c 2c  107b67a,,,.,,,,,
3fc0: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
3fd0: 52 46 43 20 36 32 33 34 20 53 48 41 31 2c 2c 2c  RFC 6234 SHA1,,,
3fe0: 2c 2c 2c 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d  ,,,,,,.RFC6234-M
3ff0: 44 2d 53 48 41 31 2c 54 43 31 2c 2c 2c 22 3a 3a  D-SHA1,TC1,,,"::
4000: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
4010: 73 68 61 31 20 2d 64 61 74 61 20 22 22 61 62 63  sha1 -data ""abc
4020: 22 22 22 2c 2c 2c 61 39 39 39 33 65 33 36 34 37  """,,,a9993e3647
4030: 30 36 38 31 36 61 62 61 33 65 32 35 37 31 37 38  06816aba3e257178
4040: 35 30 63 32 36 63 39 63 64 30 64 38 39 64 2c 2c  50c26c9cd0d89d,,
4050: 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41  ,.RFC6234-MD-SHA
4060: 31 2c 54 43 32 5f 31 2c 2c 2c 22 3a 3a 74 6c 73  1,TC2_1,,,"::tls
4070: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
4080: 31 20 2d 64 61 74 61 20 22 22 61 62 63 64 62 63  1 -data ""abcdbc
4090: 64 65 63 64 65 66 64 65 66 67 65 66 67 68 66 67  decdefdefgefghfg
40a0: 68 69 67 68 69 6a 68 69 6a 6b 69 6a 6b 6c 6a 6b  highijhijkijkljk
40b0: 6c 6d 6b 6c 6d 6e 6c 6d 6e 6f 6d 6e 6f 70 6e 6f  lmklmnlmnomnopno
40c0: 70 71 22 22 22 2c 2c 2c 38 34 39 38 33 65 34 34  pq""",,,84983e44
40d0: 31 63 33 62 64 32 36 65 62 61 61 65 34 61 61 31  1c3bd26ebaae4aa1
40e0: 66 39 35 31 32 39 65 35 65 35 34 36 37 30 66 31  f95129e5e54670f1
40f0: 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53  ,,,.RFC6234-MD-S
4100: 48 41 31 2c 54 43 33 2c 2c 2c 22 3a 3a 74 6c 73  HA1,TC3,,,"::tls
4110: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61  ::md -digest sha
4120: 31 20 2d 64 61 74 61 20 5b 73 74 72 69 6e 67 20  1 -data [string 
4130: 72 65 70 65 61 74 20 22 22 61 22 22 20 31 30 30  repeat ""a"" 100
4140: 30 30 30 30 5d 22 2c 2c 2c 33 34 61 61 39 37 33  0000]",,,34aa973
4150: 63 64 34 63 34 64 61 61 34 66 36 31 65 65 62 32  cd4c4daa4f61eeb2
4160: 62 64 62 61 64 32 37 33 31 36 35 33 34 30 31 36  bdbad27316534016
4170: 66 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d  f,,,.RFC6234-MD-
4180: 53 48 41 31 2c 54 43 34 2c 2c 2c 22 3a 3a 74 6c  SHA1,TC4,,,"::tl
4190: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68  s::md -digest sh
41a0: 61 31 20 2d 64 61 74 61 20 5b 73 74 72 69 6e 67  a1 -data [string
41b0: 20 72 65 70 65 61 74 20 22 22 30 31 32 33 34 35   repeat ""012345
41c0: 36 37 22 22 20 38 30 5d 22 2c 2c 2c 64 65 61 33  67"" 80]",,,dea3
41d0: 35 36 61 32 63 64 64 64 39 30 63 37 61 37 65 63  56a2cddd90c7a7ec
41e0: 65 64 63 35 65 62 62 35 36 33 39 33 34 66 34 36  edc5ebb563934f46
41f0: 30 34 35 32 2c 2c 2c 0a 52 46 43 36 32 33 34 2d  0452,,,.RFC6234-
4200: 4d 44 2d 53 48 41 31 2c 54 43 36 2c 2c 2c 22 3a  MD-SHA1,TC6,,,":
4210: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
4220: 20 73 68 61 31 20 2d 64 61 74 61 20 22 22 5c 78   sha1 -data ""\x
4230: 35 65 22 22 22 2c 2c 2c 35 65 36 66 38 30 61 33  5e""",,,5e6f80a3
4240: 34 61 39 37 39 38 63 61 66 63 36 61 35 64 62 39  4a9798cafc6a5db9
4250: 36 63 63 35 37 62 61 34 63 34 64 62 35 39 63 32  6cc57ba4c4db59c2
4260: 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53  ,,,.RFC6234-MD-S
4270: 48 41 31 2c 54 43 38 5f 31 2c 2c 2c 22 3a 3a 74  HA1,TC8_1,,,"::t
4280: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
4290: 68 61 31 20 2d 64 61 74 61 20 22 22 5c 78 39 61  ha1 -data ""\x9a
42a0: 5c 78 37 64 5c 78 66 64 5c 78 66 31 5c 78 65 63  \x7d\xfd\xf1\xec
42b0: 5c 78 65 61 5c 78 64 30 5c 78 36 65 5c 78 64 36  \xea\xd0\x6e\xd6
42c0: 5c 78 34 36 5c 78 61 61 5c 78 35 35 5c 78 66 65  \x46\xaa\x55\xfe
42d0: 5c 78 37 35 5c 78 37 31 5c 78 34 36 22 22 22 2c  \x75\x71\x46""",
42e0: 2c 2c 38 32 61 62 66 66 36 36 30 35 64 62 65 31  ,,82abff6605dbe1
42f0: 63 31 37 64 65 66 31 32 61 33 39 34 66 61 32 32  c17def12a394fa22
4300: 61 38 32 62 35 34 34 61 33 35 2c 2c 2c 0a 52 46  a82b544a35,,,.RF
4310: 43 36 32 33 34 2d 4d 44 2d 53 48 41 31 2c 54 43  C6234-MD-SHA1,TC
4320: 31 30 5f 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d  10_1,,,"::tls::m
4330: 64 20 2d 64 69 67 65 73 74 20 73 68 61 31 20 2d  d -digest sha1 -
4340: 64 61 74 61 20 22 22 5c 78 66 37 5c 78 38 66 5c  data ""\xf7\x8f\
4350: 78 39 32 5c 78 31 34 5c 78 31 62 5c 78 63 64 5c  x92\x14\x1b\xcd\
4360: 78 31 37 5c 78 30 61 5c 78 65 38 5c 78 39 62 5c  x17\x0a\xe8\x9b\
4370: 78 34 66 5c 78 62 61 5c 78 31 35 5c 78 61 31 5c  x4f\xba\x15\xa1\
4380: 78 64 35 5c 78 39 66 5c 78 33 66 5c 78 64 38 5c  xd5\x9f\x3f\xd8\
4390: 78 34 64 5c 78 32 32 5c 78 33 63 5c 78 39 32 5c  x4d\x22\x3c\x92\
43a0: 78 35 31 5c 78 62 64 5c 78 61 63 5c 78 62 62 5c  x51\xbd\xac\xbb\
43b0: 78 61 65 5c 78 36 31 5c 78 64 30 5c 78 35 65 5c  xae\x61\xd0\x5e\
43c0: 78 64 31 5c 78 31 35 5c 78 61 30 5c 78 36 61 5c  xd1\x15\xa0\x6a\
43d0: 78 37 63 5c 78 65 31 5c 78 31 37 5c 78 62 37 5c  x7c\xe1\x17\xb7\
43e0: 78 62 65 5c 78 65 61 5c 78 64 32 5c 78 34 34 5c  xbe\xea\xd2\x44\
43f0: 78 32 31 5c 78 64 65 5c 78 64 39 5c 78 63 33 5c  x21\xde\xd9\xc3\
4400: 78 32 35 5c 78 39 32 5c 78 62 64 5c 78 35 37 5c  x25\x92\xbd\x57\
4410: 78 65 64 5c 78 65 61 5c 78 65 33 5c 78 39 63 5c  xed\xea\xe3\x9c\
4420: 78 33 39 5c 78 66 61 5c 78 31 66 5c 78 65 38 5c  x39\xfa\x1f\xe8\
4430: 78 39 34 5c 78 36 61 5c 78 38 34 5c 78 64 30 5c  x94\x6a\x84\xd0\
4440: 78 63 66 5c 78 31 66 5c 78 37 62 5c 78 65 65 5c  xcf\x1f\x7b\xee\
4450: 78 61 64 5c 78 31 37 5c 78 31 33 5c 78 65 32 5c  xad\x17\x13\xe2\
4460: 78 65 30 5c 78 39 35 5c 78 39 38 5c 78 39 37 5c  xe0\x95\x98\x97\
4470: 78 33 34 5c 78 37 66 5c 78 36 37 5c 78 63 38 5c  x34\x7f\x67\xc8\
4480: 78 30 62 5c 78 30 34 5c 78 30 30 5c 78 63 32 5c  x0b\x04\x00\xc2\
4490: 78 30 39 5c 78 38 31 5c 78 35 64 5c 78 36 62 5c  x09\x81\x5d\x6b\
44a0: 78 31 30 5c 78 61 36 5c 78 38 33 5c 78 38 33 5c  x10\xa6\x83\x83\
44b0: 78 36 66 5c 78 64 35 5c 78 35 36 5c 78 32 61 5c  x6f\xd5\x56\x2a\
44c0: 78 35 36 5c 78 63 61 5c 78 62 31 5c 78 61 32 5c  x56\xca\xb1\xa2\
44d0: 78 38 65 5c 78 38 31 5c 78 62 36 5c 78 35 37 5c  x8e\x81\xb6\x57\
44e0: 78 36 36 5c 78 35 34 5c 78 36 33 5c 78 31 63 5c  x66\x54\x63\x1c\
44f0: 78 66 31 5c 78 36 35 5c 78 36 36 5c 78 62 38 5c  xf1\x65\x66\xb8\
4500: 78 36 65 5c 78 33 62 5c 78 33 33 5c 78 61 31 5c  x6e\x3b\x33\xa1\
4510: 78 30 38 5c 78 62 30 5c 78 35 33 5c 78 30 37 5c  x08\xb0\x53\x07\
4520: 78 63 30 5c 78 30 61 5c 78 66 66 5c 78 31 34 5c  xc0\x0a\xff\x14\
4530: 78 61 37 5c 78 36 38 5c 78 65 64 5c 78 37 33 5c  xa7\x68\xed\x73\
4540: 78 35 30 5c 78 36 30 5c 78 36 61 5c 78 30 66 5c  x50\x60\x6a\x0f\
4550: 78 38 35 5c 78 65 36 5c 78 61 39 5c 78 31 64 5c  x85\xe6\xa9\x1d\
4560: 78 33 39 5c 78 36 66 5c 78 35 62 5c 78 35 63 5c  x39\x6f\x5b\x5c\
4570: 78 62 65 5c 78 35 37 5c 78 37 66 5c 78 39 62 5c  xbe\x57\x7f\x9b\
4580: 78 33 38 5c 78 38 30 5c 78 37 63 5c 78 37 64 5c  x38\x80\x7c\x7d\
4590: 78 35 32 5c 78 33 64 5c 78 36 64 5c 78 37 39 5c  x52\x3d\x6d\x79\
45a0: 78 32 66 5c 78 36 65 5c 78 62 63 5c 78 32 34 5c  x2f\x6e\xbc\x24\
45b0: 78 61 34 5c 78 65 63 5c 78 66 32 5c 78 62 33 5c  xa4\xec\xf2\xb3\
45c0: 78 61 34 5c 78 32 37 5c 78 63 64 5c 78 62 62 5c  xa4\x27\xcd\xbb\
45d0: 78 66 62 22 22 22 2c 2c 2c 63 62 30 30 38 32 63  xfb""",,,cb0082c
45e0: 38 66 31 39 37 64 32 36 30 39 39 31 62 61 36 61  8f197d260991ba6a
45f0: 34 36 30 65 37 36 65 32 30 32 62 61 64 32 37 62  460e76e202bad27b
4600: 33 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  3,,,.,,,,,,,,,,.
4610: 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 36 32  command,# RFC 62
4620: 33 34 20 53 48 41 32 35 36 2c 2c 2c 2c 2c 2c 2c  34 SHA256,,,,,,,
4630: 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48  ,,.RFC6234-MD-SH
4640: 41 32 35 36 2c 54 43 31 2c 2c 2c 22 3a 3a 74 6c  A256,TC1,,,"::tl
4650: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68  s::md -digest sh
4660: 61 32 35 36 20 2d 64 61 74 61 20 22 22 61 62 63  a256 -data ""abc
4670: 22 22 22 2c 2c 2c 62 61 37 38 31 36 62 66 38 66  """,,,ba7816bf8f
4680: 30 31 63 66 65 61 34 31 34 31 34 30 64 65 35 64  01cfea414140de5d
4690: 61 65 32 32 32 33 62 30 30 33 36 31 61 33 39 36  ae2223b00361a396
46a0: 31 37 37 61 39 63 62 34 31 30 66 66 36 31 66 32  177a9cb410ff61f2
46b0: 30 30 31 35 61 64 2c 2c 2c 0a 52 46 43 36 32 33  0015ad,,,.RFC623
46c0: 34 2d 4d 44 2d 53 48 41 32 35 36 2c 54 43 32 5f  4-MD-SHA256,TC2_
46d0: 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  1,,,"::tls::md -
46e0: 64 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 64  digest sha256 -d
46f0: 61 74 61 20 22 22 61 62 63 64 62 63 64 65 63 64  ata ""abcdbcdecd
4700: 65 66 64 65 66 67 65 66 67 68 66 67 68 69 67 68  efdefgefghfghigh
4710: 69 6a 68 69 6a 6b 69 6a 6b 6c 6a 6b 6c 6d 6b 6c  ijhijkijkljklmkl
4720: 6d 6e 6c 6d 6e 6f 6d 6e 6f 70 6e 6f 70 71 22 22  mnlmnomnopnopq""
4730: 22 2c 2c 2c 32 34 38 64 36 61 36 31 64 32 30 36  ",,,248d6a61d206
4740: 33 38 62 38 65 35 63 30 32 36 39 33 30 63 33 65  38b8e5c026930c3e
4750: 36 30 33 39 61 33 33 63 65 34 35 39 36 34 66 66  6039a33ce45964ff
4760: 32 31 36 37 66 36 65 63 65 64 64 34 31 39 64 62  2167f6ecedd419db
4770: 30 36 63 31 2c 2c 2c 0a 52 46 43 36 32 33 34 2d  06c1,,,.RFC6234-
4780: 4d 44 2d 53 48 41 32 35 36 2c 54 43 33 2c 2c 2c  MD-SHA256,TC3,,,
4790: 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65  "::tls::md -dige
47a0: 73 74 20 73 68 61 32 35 36 20 2d 64 61 74 61 20  st sha256 -data 
47b0: 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22  [string repeat "
47c0: 22 61 22 22 20 31 30 30 30 30 30 30 5d 22 2c 2c  "a"" 1000000]",,
47d0: 2c 63 64 63 37 36 65 35 63 39 39 31 34 66 62 39  ,cdc76e5c9914fb9
47e0: 32 38 31 61 31 63 37 65 32 38 34 64 37 33 65 36  281a1c7e284d73e6
47f0: 37 66 31 38 30 39 61 34 38 61 34 39 37 32 30 30  7f1809a48a497200
4800: 65 30 34 36 64 33 39 63 63 63 37 31 31 32 63 64  e046d39ccc7112cd
4810: 30 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d  0,,,.RFC6234-MD-
4820: 53 48 41 32 35 36 2c 54 43 34 2c 2c 2c 22 3a 3a  SHA256,TC4,,,"::
4830: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
4840: 73 68 61 32 35 36 20 2d 64 61 74 61 20 5b 73 74  sha256 -data [st
4850: 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 30 31  ring repeat ""01
4860: 32 33 34 35 36 37 22 22 20 38 30 5d 22 2c 2c 2c  234567"" 80]",,,
4870: 35 39 34 38 34 37 33 32 38 34 35 31 62 64 66 61  594847328451bdfa
4880: 38 35 30 35 36 32 32 35 34 36 32 63 63 31 64 38  85056225462cc1d8
4890: 36 37 64 38 37 37 66 62 33 38 38 64 66 30 63 65  67d877fb388df0ce
48a0: 33 35 66 32 35 61 62 35 35 36 32 62 66 62 62 35  35f25ab5562bfbb5
48b0: 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53  ,,,.RFC6234-MD-S
48c0: 48 41 32 35 36 2c 54 43 36 2c 2c 2c 22 3a 3a 74  HA256,TC6,,,"::t
48d0: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
48e0: 68 61 32 35 36 20 2d 64 61 74 61 20 22 22 5c 78  ha256 -data ""\x
48f0: 31 39 22 22 22 2c 2c 2c 36 38 61 61 32 65 32 65  19""",,,68aa2e2e
4900: 65 35 64 66 66 39 36 65 33 33 35 35 65 36 63 37  e5dff96e3355e6c7
4910: 65 65 33 37 33 65 33 64 36 61 34 65 31 37 66 37  ee373e3d6a4e17f7
4920: 35 66 39 35 31 38 64 38 34 33 37 30 39 63 30 63  5f9518d843709c0c
4930: 39 62 63 33 65 33 64 34 2c 2c 2c 0a 52 46 43 36  9bc3e3d4,,,.RFC6
4940: 32 33 34 2d 4d 44 2d 53 48 41 32 35 36 2c 54 43  234-MD-SHA256,TC
4950: 38 5f 32 35 36 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a  8_256,,,"::tls::
4960: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35  md -digest sha25
4970: 36 20 2d 64 61 74 61 20 22 22 5c 78 65 33 5c 78  6 -data ""\xe3\x
4980: 64 37 5c 78 32 35 5c 78 37 30 5c 78 64 63 5c 78  d7\x25\x70\xdc\x
4990: 64 64 5c 78 37 38 5c 78 37 63 5c 78 65 33 5c 78  dd\x78\x7c\xe3\x
49a0: 38 38 5c 78 37 61 5c 78 62 32 5c 78 63 64 5c 78  88\x7a\xb2\xcd\x
49b0: 36 38 5c 78 34 36 5c 78 35 32 22 22 22 2c 2c 2c  68\x46\x52""",,,
49c0: 31 37 35 65 65 36 39 62 30 32 62 61 39 62 35 38  175ee69b02ba9b58
49d0: 65 32 62 30 61 35 66 64 31 33 38 31 39 63 65 61  e2b0a5fd13819cea
49e0: 35 37 33 66 33 39 34 30 61 39 34 66 38 32 35 31  573f3940a94f8251
49f0: 32 38 63 66 34 32 30 39 62 65 61 62 62 34 65 38  28cf4209beabb4e8
4a00: 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53  ,,,.RFC6234-MD-S
4a10: 48 41 32 35 36 2c 54 43 31 30 5f 32 35 36 2c 2c  HA256,TC10_256,,
4a20: 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,"::tls::md -dig
4a30: 65 73 74 20 73 68 61 32 35 36 20 2d 64 61 74 61  est sha256 -data
4a40: 20 22 22 5c 78 38 33 5c 78 32 36 5c 78 37 35 5c   ""\x83\x26\x75\
4a50: 78 34 65 5c 78 32 32 5c 78 37 37 5c 78 33 37 5c  x4e\x22\x77\x37\
4a60: 78 32 66 5c 78 34 66 5c 78 63 31 5c 78 32 62 5c  x2f\x4f\xc1\x2b\
4a70: 78 32 30 5c 78 35 32 5c 78 37 61 5c 78 66 65 5c  x20\x52\x7a\xfe\
4a80: 78 66 30 5c 78 34 64 5c 78 38 61 5c 78 30 35 5c  xf0\x4d\x8a\x05\
4a90: 78 36 39 5c 78 37 31 5c 78 62 31 5c 78 31 61 5c  x69\x71\xb1\x1a\
4aa0: 78 64 35 5c 78 37 31 5c 78 32 33 5c 78 61 37 5c  xd5\x71\x23\xa7\
4ab0: 78 63 31 5c 78 33 37 5c 78 37 36 5c 78 30 30 5c  xc1\x37\x76\x00\
4ac0: 78 30 30 5c 78 64 37 5c 78 62 65 5c 78 66 36 5c  x00\xd7\xbe\xf6\
4ad0: 78 66 33 5c 78 63 31 5c 78 66 37 5c 78 61 39 5c  xf3\xc1\xf7\xa9\
4ae0: 78 30 38 5c 78 33 61 5c 78 61 33 5c 78 39 64 5c  x08\x3a\xa3\x9d\
4af0: 78 38 31 5c 78 30 64 5c 78 62 33 5c 78 31 30 5c  x81\x0d\xb3\x10\
4b00: 78 37 37 5c 78 37 64 5c 78 61 62 5c 78 38 62 5c  x77\x7d\xab\x8b\
4b10: 78 31 65 5c 78 37 66 5c 78 30 32 5c 78 62 38 5c  x1e\x7f\x02\xb8\
4b20: 78 34 61 5c 78 32 36 5c 78 63 37 5c 78 37 33 5c  x4a\x26\xc7\x73\
4b30: 78 33 32 5c 78 35 66 5c 78 38 62 5c 78 32 33 5c  x32\x5f\x8b\x23\
4b40: 78 37 34 5c 78 64 65 5c 78 37 61 5c 78 34 62 5c  x74\xde\x7a\x4b\
4b50: 78 35 61 5c 78 35 38 5c 78 63 62 5c 78 35 63 5c  x5a\x58\xcb\x5c\
4b60: 78 35 63 5c 78 66 33 5c 78 35 62 5c 78 63 65 5c  x5c\xf3\x5b\xce\
4b70: 78 65 36 5c 78 66 62 5c 78 39 34 5c 78 36 65 5c  xe6\xfb\x94\x6e\
4b80: 78 35 62 5c 78 64 36 5c 78 39 34 5c 78 66 61 5c  x5b\xd6\x94\xfa\
4b90: 78 35 39 5c 78 33 61 5c 78 38 62 5c 78 65 62 5c  x59\x3a\x8b\xeb\
4ba0: 78 33 66 5c 78 39 64 5c 78 36 35 5c 78 39 32 5c  x3f\x9d\x65\x92\
4bb0: 78 65 63 5c 78 65 64 5c 78 61 61 5c 78 36 36 5c  xec\xed\xaa\x66\
4bc0: 78 63 61 5c 78 38 32 5c 78 61 32 5c 78 39 64 5c  xca\x82\xa2\x9d\
4bd0: 78 30 63 5c 78 35 31 5c 78 62 63 5c 78 66 39 5c  x0c\x51\xbc\xf9\
4be0: 78 33 33 5c 78 36 32 5c 78 33 30 5c 78 65 35 5c  x33\x62\x30\xe5\
4bf0: 78 64 37 5c 78 38 34 5c 78 65 34 5c 78 63 30 5c  xd7\x84\xe4\xc0\
4c00: 78 61 34 5c 78 33 66 5c 78 38 64 5c 78 37 39 5c  xa4\x3f\x8d\x79\
4c10: 78 61 33 5c 78 30 61 5c 78 31 36 5c 78 35 63 5c  xa3\x0a\x16\x5c\
4c20: 78 62 61 5c 78 62 65 5c 78 34 35 5c 78 32 62 5c  xba\xbe\x45\x2b\
4c30: 78 37 37 5c 78 34 62 5c 78 39 63 5c 78 37 31 5c  x77\x4b\x9c\x71\
4c40: 78 30 39 5c 78 61 39 5c 78 37 64 5c 78 31 33 5c  x09\xa9\x7d\x13\
4c50: 78 38 66 5c 78 31 32 5c 78 39 32 5c 78 32 38 5c  x8f\x12\x92\x28\
4c60: 78 39 36 5c 78 36 66 5c 78 36 63 5c 78 30 61 5c  x96\x6f\x6c\x0a\
4c70: 78 64 63 5c 78 31 30 5c 78 36 61 5c 78 61 64 5c  xdc\x10\x6a\xad\
4c80: 78 35 61 5c 78 39 66 5c 78 64 64 5c 78 33 30 5c  x5a\x9f\xdd\x30\
4c90: 78 38 32 5c 78 35 37 5c 78 36 39 5c 78 62 32 5c  x82\x57\x69\xb2\
4ca0: 78 63 36 5c 78 37 31 5c 78 61 66 5c 78 36 37 5c  xc6\x71\xaf\x67\
4cb0: 78 35 39 5c 78 64 66 5c 78 32 38 5c 78 65 62 5c  x59\xdf\x28\xeb\
4cc0: 78 33 39 5c 78 33 64 5c 78 35 34 5c 78 64 36 22  x39\x3d\x54\xd6"
4cd0: 22 22 2c 2c 2c 39 37 64 62 63 61 37 64 66 34 36  "",,,97dbca7df46
4ce0: 64 36 32 63 38 61 34 32 32 63 39 34 31 64 64 37  d62c8a422c941dd7
4cf0: 65 38 33 35 62 38 61 64 33 33 36 31 37 36 33 66  e835b8ad3361763f
4d00: 37 65 39 62 32 64 39 35 66 34 66 30 64 61 36 65  7e9b2d95f4f0da6e
4d10: 31 63 63 62 63 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c  1ccbc,,,.,,,,,,,
4d20: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46  ,,,.command,# RF
4d30: 43 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 6d  C 4231 HMAC Exam
4d40: 70 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 23  ples Test Case #
4d50: 31 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  1,,,,,,,,,.comma
4d60: 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e  nd,"set key [bin
4d70: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b  ary decode hex [
4d80: 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22  string repeat ""
4d90: 30 62 22 22 20 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c  0b"" 20]]",,,,,,
4da0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
4db0: 20 64 61 74 61 20 22 22 48 69 20 54 68 65 72 65   data ""Hi There
4dc0: 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43  """,,,,,,,,,.RFC
4dd0: 34 32 33 31 20 48 4d 41 43 20 54 43 31 2c 73 68  4231 HMAC TC1,sh
4de0: 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d  a224,,,::tls::hm
4df0: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32  ac -digest sha22
4e00: 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  4 -key $key -dat
4e10: 61 20 24 64 61 74 61 2c 2c 2c 38 39 36 66 62 31  a $data,,,896fb1
4e20: 31 32 38 61 62 62 64 66 31 39 36 38 33 32 31 30  128abbdf19683210
4e30: 37 63 64 34 39 64 66 33 33 66 34 37 62 34 62 31  7cd49df33f47b4b1
4e40: 31 36 39 39 31 32 62 61 34 66 35 33 36 38 34 62  169912ba4f53684b
4e50: 32 32 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d  22,,,.RFC4231 HM
4e60: 41 43 20 54 43 31 2c 73 68 61 32 35 36 2c 2c 2c  AC TC1,sha256,,,
4e70: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
4e80: 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79 20  est sha256 -key 
4e90: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
4ea0: 2c 2c 2c 62 30 33 34 34 63 36 31 64 38 64 62 33  ,,,b0344c61d8db3
4eb0: 38 35 33 35 63 61 38 61 66 63 65 61 66 30 62 66  8535ca8afceaf0bf
4ec0: 31 32 62 38 38 31 64 63 32 30 30 63 39 38 33 33  12b881dc200c9833
4ed0: 64 61 37 32 36 65 39 33 37 36 63 32 65 33 32 63  da726e9376c2e32c
4ee0: 66 66 37 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48  ff7,,,.RFC4231 H
4ef0: 4d 41 43 20 54 43 31 2c 73 68 61 33 38 34 2c 2c  MAC TC1,sha384,,
4f00: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
4f10: 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65 79  gest sha384 -key
4f20: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
4f30: 61 2c 2c 2c 61 66 64 30 33 39 34 34 64 38 34 38  a,,,afd03944d848
4f40: 39 35 36 32 36 62 30 38 32 35 66 34 61 62 34 36  95626b0825f4ab46
4f50: 39 30 37 66 31 35 66 39 64 61 64 62 65 34 31 30  907f15f9dadbe410
4f60: 31 65 63 36 38 32 61 61 30 33 34 63 37 63 65 62  1ec682aa034c7ceb
4f70: 63 35 39 63 66 61 65 61 39 65 61 39 30 37 36 65  c59cfaea9ea9076e
4f80: 64 65 37 66 34 61 66 31 35 32 65 38 62 32 66 61  de7f4af152e8b2fa
4f90: 39 63 62 36 2c 2c 2c 0a 52 46 43 34 32 33 31 20  9cb6,,,.RFC4231 
4fa0: 48 4d 41 43 20 54 43 31 2c 73 68 61 35 31 32 2c  HMAC TC1,sha512,
4fb0: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
4fc0: 69 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65  igest sha512 -ke
4fd0: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
4fe0: 74 61 2c 2c 2c 38 37 61 61 37 63 64 65 61 35 65  ta,,,87aa7cdea5e
4ff0: 66 36 31 39 64 34 66 66 30 62 34 32 34 31 61 31  f619d4ff0b4241a1
5000: 64 36 63 62 30 32 33 37 39 66 34 65 32 63 65 34  d6cb02379f4e2ce4
5010: 65 63 32 37 38 37 61 64 30 62 33 30 35 34 35 65  ec2787ad0b30545e
5020: 31 37 63 64 65 64 61 61 38 33 33 62 37 64 36 62  17cdedaa833b7d6b
5030: 38 61 37 30 32 30 33 38 62 32 37 34 65 61 65 61  8a702038b274eaea
5040: 33 66 34 65 34 62 65 39 64 39 31 34 65 65 62 36  3f4e4be9d914eeb6
5050: 31 66 31 37 30 32 65 36 39 36 63 32 30 33 61 31  1f1702e696c203a1
5060: 32 36 38 35 34 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c  26854,,,.,,,,,,,
5070: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46  ,,,.command,# RF
5080: 43 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 6d  C 4231 HMAC Exam
5090: 70 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 23  ples Test Case #
50a0: 32 20 2d 20 54 65 73 74 20 77 69 74 68 20 61 20  2 - Test with a 
50b0: 6b 65 79 20 73 68 6f 72 74 65 72 20 74 68 61 6e  key shorter than
50c0: 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74   the length of t
50d0: 68 65 20 48 4d 41 43 20 6f 75 74 70 75 74 2e 2c  he HMAC output.,
50e0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
50f0: 2c 22 73 65 74 20 6b 65 79 20 22 22 4a 65 66 65  ,"set key ""Jefe
5100: 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  """,,,,,,,,,.com
5110: 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20 22  mand,"set data "
5120: 22 77 68 61 74 20 64 6f 20 79 61 20 77 61 6e 74  "what do ya want
5130: 20 66 6f 72 20 6e 6f 74 68 69 6e 67 3f 22 22 22   for nothing?"""
5140: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33  ,,,,,,,,,.RFC423
5150: 31 20 48 4d 41 43 20 54 43 32 2c 73 68 61 32 32  1 HMAC TC2,sha22
5160: 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  4,,,::tls::hmac 
5170: 2d 64 69 67 65 73 74 20 73 68 61 32 32 34 20 2d  -digest sha224 -
5180: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
5190: 64 61 74 61 2c 2c 2c 61 33 30 65 30 31 30 39 38  data,,,a30e01098
51a0: 62 63 36 64 62 62 66 34 35 36 39 30 66 33 61 37  bc6dbbf45690f3a7
51b0: 65 39 65 36 64 30 66 38 62 62 65 61 32 61 33 39  e9e6d0f8bbea2a39
51c0: 65 36 31 34 38 30 30 38 66 64 30 35 65 34 34 2c  e6148008fd05e44,
51d0: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
51e0: 54 43 32 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74  TC2,sha256,,,::t
51f0: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
5200: 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65   sha256 -key $ke
5210: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
5220: 35 62 64 63 63 31 34 36 62 66 36 30 37 35 34 65  5bdcc146bf60754e
5230: 36 61 30 34 32 34 32 36 30 38 39 35 37 35 63 37  6a042426089575c7
5240: 35 61 30 30 33 66 30 38 39 64 32 37 33 39 38 33  5a003f089d273983
5250: 39 64 65 63 35 38 62 39 36 34 65 63 33 38 34 33  9dec58b964ec3843
5260: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43  ,,,.RFC4231 HMAC
5270: 20 54 43 32 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a   TC2,sha384,,,::
5280: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73  tls::hmac -diges
5290: 74 20 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b  t sha384 -key $k
52a0: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c  ey -data $data,,
52b0: 2c 61 66 34 35 64 32 65 33 37 36 34 38 34 30 33  ,af45d2e37648403
52c0: 31 36 31 37 66 37 38 64 32 62 35 38 61 36 62 31  1617f78d2b58a6b1
52d0: 62 39 63 37 65 66 34 36 34 66 35 61 30 31 62 34  b9c7ef464f5a01b4
52e0: 37 65 34 32 65 63 33 37 33 36 33 32 32 34 34 35  7e42ec3736322445
52f0: 65 38 65 32 32 34 30 63 61 35 65 36 39 65 32 63  e8e2240ca5e69e2c
5300: 37 38 62 33 32 33 39 65 63 66 61 62 32 31 36 34  78b3239ecfab2164
5310: 39 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  9,,,.RFC4231 HMA
5320: 43 20 54 43 32 2c 73 68 61 35 31 32 2c 2c 2c 3a  C TC2,sha512,,,:
5330: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
5340: 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24  st sha512 -key $
5350: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
5360: 2c 2c 31 36 34 62 37 61 37 62 66 63 66 38 31 39  ,,164b7a7bfcf819
5370: 65 32 65 33 39 35 66 62 65 37 33 62 35 36 65 30  e2e395fbe73b56e0
5380: 61 33 38 37 62 64 36 34 32 32 32 65 38 33 31 66  a387bd64222e831f
5390: 64 36 31 30 32 37 30 63 64 37 65 61 32 35 30 35  d610270cd7ea2505
53a0: 35 34 39 37 35 38 62 66 37 35 63 30 35 61 39 39  549758bf75c05a99
53b0: 34 61 36 64 30 33 34 66 36 35 66 38 66 30 65 36  4a6d034f65f8f0e6
53c0: 66 64 63 61 65 61 62 31 61 33 34 64 34 61 36 62  fdcaeab1a34d4a6b
53d0: 34 62 36 33 36 65 30 37 30 61 33 38 62 63 65 37  4b636e070a38bce7
53e0: 33 37 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  37,,,.,,,,,,,,,,
53f0: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34  .command,# RFC 4
5400: 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65  231 HMAC Example
5410: 73 20 54 65 73 74 20 43 61 73 65 20 23 33 20 2d  s Test Case #3 -
5420: 20 54 65 73 74 20 77 69 74 68 20 61 20 63 6f 6d   Test with a com
5430: 62 69 6e 65 64 20 6c 65 6e 67 74 68 20 6f 66 20  bined length of 
5440: 6b 65 79 20 61 6e 64 20 64 61 74 61 20 74 68 61  key and data tha
5450: 74 20 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e  t is larger than
5460: 20 36 34 20 62 79 74 65 73 20 28 3d 20 62 6c 6f   64 bytes (= blo
5470: 63 6b 2d 73 69 7a 65 20 6f 66 20 53 48 41 2d 32  ck-size of SHA-2
5480: 32 34 20 61 6e 64 20 53 48 41 2d 32 35 36 29 2e  24 and SHA-256).
5490: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
54a0: 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61  d,"set key [bina
54b0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73  ry decode hex [s
54c0: 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 61  tring repeat ""a
54d0: 61 22 22 20 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c  a"" 20]]",,,,,,,
54e0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
54f0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
5500: 6f 64 65 20 68 65 78 20 5b 73 74 72 69 6e 67 20  ode hex [string 
5510: 72 65 70 65 61 74 20 22 22 64 64 22 22 20 35 30  repeat ""dd"" 50
5520: 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43  ]]",,,,,,,,,.RFC
5530: 34 32 33 31 20 48 4d 41 43 20 54 43 33 2c 73 68  4231 HMAC TC3,sh
5540: 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d  a224,,,::tls::hm
5550: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32  ac -digest sha22
5560: 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  4 -key $key -dat
5570: 61 20 24 64 61 74 61 2c 2c 2c 37 66 62 33 63 62  a $data,,,7fb3cb
5580: 33 35 38 38 63 36 63 31 66 36 66 66 61 39 36 39  3588c6c1f6ffa969
5590: 34 64 37 64 36 61 64 32 36 34 39 33 36 35 62 30  4d7d6ad2649365b0
55a0: 63 31 66 36 35 64 36 39 64 31 65 63 38 33 33 33  c1f65d69d1ec8333
55b0: 65 61 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d  ea,,,.RFC4231 HM
55c0: 41 43 20 54 43 33 2c 73 68 61 32 35 36 2c 2c 2c  AC TC3,sha256,,,
55d0: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
55e0: 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79 20  est sha256 -key 
55f0: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
5600: 2c 2c 2c 37 37 33 65 61 39 31 65 33 36 38 30 30  ,,,773ea91e36800
5610: 65 34 36 38 35 34 64 62 38 65 62 64 30 39 31 38  e46854db8ebd0918
5620: 31 61 37 32 39 35 39 30 39 38 62 33 65 66 38 63  1a72959098b3ef8c
5630: 31 32 32 64 39 36 33 35 35 31 34 63 65 64 35 36  122d9635514ced56
5640: 35 66 65 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48  5fe,,,.RFC4231 H
5650: 4d 41 43 20 54 43 33 2c 73 68 61 33 38 34 2c 2c  MAC TC3,sha384,,
5660: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
5670: 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65 79  gest sha384 -key
5680: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
5690: 61 2c 2c 2c 38 38 30 36 32 36 30 38 64 33 65 36  a,,,88062608d3e6
56a0: 61 64 38 61 30 61 61 32 61 63 65 30 31 34 63 38  ad8a0aa2ace014c8
56b0: 61 38 36 66 30 61 61 36 33 35 64 39 34 37 61 63  a86f0aa635d947ac
56c0: 39 66 65 62 65 38 33 65 66 34 65 35 35 39 36 36  9febe83ef4e55966
56d0: 31 34 34 62 32 61 35 61 62 33 39 64 63 31 33 38  144b2a5ab39dc138
56e0: 31 34 62 39 34 65 33 61 62 36 65 31 30 31 61 33  14b94e3ab6e101a3
56f0: 34 66 32 37 2c 2c 2c 0a 52 46 43 34 32 33 31 20  4f27,,,.RFC4231 
5700: 48 4d 41 43 20 54 43 33 2c 73 68 61 35 31 32 2c  HMAC TC3,sha512,
5710: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
5720: 69 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65  igest sha512 -ke
5730: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
5740: 74 61 2c 2c 2c 66 61 37 33 62 30 30 38 39 64 35  ta,,,fa73b0089d5
5750: 36 61 32 38 34 65 66 62 30 66 30 37 35 36 63 38  6a284efb0f0756c8
5760: 39 30 62 65 39 62 31 62 35 64 62 64 64 38 65 65  90be9b1b5dbdd8ee
5770: 38 31 61 33 36 35 35 66 38 33 65 33 33 62 32 32  81a3655f83e33b22
5780: 37 39 64 33 39 62 66 33 65 38 34 38 32 37 39 61  79d39bf3e848279a
5790: 37 32 32 63 38 30 36 62 34 38 35 61 34 37 65 36  722c806b485a47e6
57a0: 37 63 38 30 37 62 39 34 36 61 33 33 37 62 65 65  7c807b946a337bee
57b0: 38 39 34 32 36 37 34 32 37 38 38 35 39 65 31 33  8942674278859e13
57c0: 32 39 32 66 62 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c  292fb,,,.,,,,,,,
57d0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46  ,,,.command,# RF
57e0: 43 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 6d  C 4231 HMAC Exam
57f0: 70 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 23  ples Test Case #
5800: 34 20 2d 20 54 65 73 74 20 77 69 74 68 20 61 20  4 - Test with a 
5810: 63 6f 6d 62 69 6e 65 64 20 6c 65 6e 67 74 68 20  combined length 
5820: 6f 66 20 6b 65 79 20 61 6e 64 20 64 61 74 61 20  of key and data 
5830: 74 68 61 74 20 69 73 20 6c 61 72 67 65 72 20 74  that is larger t
5840: 68 61 6e 20 36 34 20 62 79 74 65 73 20 28 3d 20  han 64 bytes (= 
5850: 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20 53 48  block-size of SH
5860: 41 2d 32 32 34 20 61 6e 64 20 53 48 41 2d 32 35  A-224 and SHA-25
5870: 36 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  6).,,,,,,,,,.com
5880: 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62  mand,"set key [b
5890: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
58a0: 20 22 22 30 31 30 32 30 33 30 34 30 35 30 36 30   ""0102030405060
58b0: 37 30 38 30 39 30 61 30 62 30 63 30 64 30 65 30  708090a0b0c0d0e0
58c0: 66 31 30 31 31 31 32 31 33 31 34 31 35 31 36 31  f101112131415161
58d0: 37 31 38 31 39 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c  71819""]",,,,,,,
58e0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
58f0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
5900: 6f 64 65 20 68 65 78 20 5b 73 74 72 69 6e 67 20  ode hex [string 
5910: 72 65 70 65 61 74 20 22 22 63 64 22 22 20 35 30  repeat ""cd"" 50
5920: 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43  ]]",,,,,,,,,.RFC
5930: 34 32 33 31 20 48 4d 41 43 20 54 43 34 2c 73 68  4231 HMAC TC4,sh
5940: 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d  a224,,,::tls::hm
5950: 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 32  ac -digest sha22
5960: 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  4 -key $key -dat
5970: 61 20 24 64 61 74 61 2c 2c 2c 36 63 31 31 35 30  a $data,,,6c1150
5980: 36 38 37 34 30 31 33 63 61 63 36 61 32 61 62 63  6874013cac6a2abc
5990: 31 62 62 33 38 32 36 32 37 63 65 63 36 61 39 30  1bb382627cec6a90
59a0: 64 38 36 65 66 63 30 31 32 64 65 37 61 66 65 63  d86efc012de7afec
59b0: 35 61 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d  5a,,,.RFC4231 HM
59c0: 41 43 20 54 43 34 2c 73 68 61 32 35 36 2c 2c 2c  AC TC4,sha256,,,
59d0: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
59e0: 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79 20  est sha256 -key 
59f0: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
5a00: 2c 2c 2c 38 32 35 35 38 61 33 38 39 61 34 34 33  ,,,82558a389a443
5a10: 63 30 65 61 34 63 63 38 31 39 38 39 39 66 32 30  c0ea4cc819899f20
5a20: 38 33 61 38 35 66 30 66 61 61 33 65 35 37 38 66  83a85f0faa3e578f
5a30: 38 30 37 37 61 32 65 33 66 66 34 36 37 32 39 36  8077a2e3ff467296
5a40: 36 35 62 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48  65b,,,.RFC4231 H
5a50: 4d 41 43 20 54 43 34 2c 73 68 61 33 38 34 2c 2c  MAC TC4,sha384,,
5a60: 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  ,::tls::hmac -di
5a70: 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b 65 79  gest sha384 -key
5a80: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
5a90: 61 2c 2c 2c 33 65 38 61 36 39 62 37 37 38 33 63  a,,,3e8a69b7783c
5aa0: 32 35 38 35 31 39 33 33 61 62 36 32 39 30 61 66  25851933ab6290af
5ab0: 36 63 61 37 37 61 39 39 38 31 34 38 30 38 35 30  6ca77a9981480850
5ac0: 30 30 39 63 63 35 35 37 37 63 36 65 31 66 35 37  009cc5577c6e1f57
5ad0: 33 62 34 65 36 38 30 31 64 64 32 33 63 34 61 37  3b4e6801dd23c4a7
5ae0: 64 36 37 39 63 63 66 38 61 33 38 36 63 36 37 34  d679ccf8a386c674
5af0: 63 66 66 62 2c 2c 2c 0a 52 46 43 34 32 33 31 20  cffb,,,.RFC4231 
5b00: 48 4d 41 43 20 54 43 34 2c 73 68 61 35 31 32 2c  HMAC TC4,sha512,
5b10: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
5b20: 69 67 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65  igest sha512 -ke
5b30: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
5b40: 74 61 2c 2c 2c 62 30 62 61 34 36 35 36 33 37 34  ta,,,b0ba4656374
5b50: 35 38 63 36 39 39 30 65 35 61 38 63 35 66 36 31  58c6990e5a8c5f61
5b60: 64 34 61 66 37 65 35 37 36 64 39 37 66 66 39 34  d4af7e576d97ff94
5b70: 62 38 37 32 64 65 37 36 66 38 30 35 30 33 36 31  b872de76f8050361
5b80: 65 65 33 64 62 61 39 31 63 61 35 63 31 31 61 61  ee3dba91ca5c11aa
5b90: 32 35 65 62 34 64 36 37 39 32 37 35 63 63 35 37  25eb4d679275cc57
5ba0: 38 38 30 36 33 61 35 66 31 39 37 34 31 31 32 30  88063a5f19741120
5bb0: 63 34 66 32 64 65 32 61 64 65 62 65 62 31 30 61  c4f2de2adebeb10a
5bc0: 32 39 38 64 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c  298dd,,,.,,,,,,,
5bd0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46  ,,,.command,# RF
5be0: 43 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 6d  C 4231 HMAC Exam
5bf0: 70 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 23  ples Test Case #
5c00: 35 20 2d 20 54 65 73 74 20 77 69 74 68 20 61 20  5 - Test with a 
5c10: 74 72 75 6e 63 61 74 69 6f 6e 20 6f 66 20 6f 75  truncation of ou
5c20: 74 70 75 74 20 74 6f 20 31 32 38 20 62 69 74 73  tput to 128 bits
5c30: 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  .,,,,,,,,,.comma
5c40: 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e  nd,"set key [bin
5c50: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b  ary decode hex [
5c60: 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22  string repeat ""
5c70: 30 63 22 22 20 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c  0c"" 20]]",,,,,,
5c80: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
5c90: 20 64 61 74 61 20 22 22 54 65 73 74 20 57 69 74   data ""Test Wit
5ca0: 68 20 54 72 75 6e 63 61 74 69 6f 6e 22 22 22 2c  h Truncation""",
5cb0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33 31  ,,,,,,,,.RFC4231
5cc0: 20 48 4d 41 43 20 54 43 35 2c 73 68 61 32 32 34   HMAC TC5,sha224
5cd0: 2c 2c 2c 73 74 72 69 6e 67 20 72 61 6e 67 65 20  ,,,string range 
5ce0: 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  [::tls::hmac -di
5cf0: 67 65 73 74 20 73 68 61 32 32 34 20 2d 6b 65 79  gest sha224 -key
5d00: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
5d10: 61 5d 20 30 20 33 31 2c 2c 2c 30 65 32 61 65 61  a] 0 31,,,0e2aea
5d20: 36 38 61 39 30 63 38 64 33 37 63 39 38 38 62 63  68a90c8d37c988bc
5d30: 64 62 39 66 63 61 36 66 61 38 2c 2c 2c 0a 52 46  db9fca6fa8,,,.RF
5d40: 43 34 32 33 31 20 48 4d 41 43 20 54 43 35 2c 73  C4231 HMAC TC5,s
5d50: 68 61 32 35 36 2c 2c 2c 73 74 72 69 6e 67 20 72  ha256,,,string r
5d60: 61 6e 67 65 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61  ange [::tls::hma
5d70: 63 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  c -digest sha256
5d80: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
5d90: 20 24 64 61 74 61 5d 20 30 20 33 31 2c 2c 2c 61   $data] 0 31,,,a
5da0: 33 62 36 31 36 37 34 37 33 31 30 30 65 65 30 36  3b6167473100ee06
5db0: 65 30 63 37 39 36 63 32 39 35 35 35 35 32 62 2c  e0c796c2955552b,
5dc0: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
5dd0: 54 43 35 2c 73 68 61 33 38 34 2c 2c 2c 73 74 72  TC5,sha384,,,str
5de0: 69 6e 67 20 72 61 6e 67 65 20 5b 3a 3a 74 6c 73  ing range [::tls
5df0: 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73  ::hmac -digest s
5e00: 68 61 33 38 34 20 2d 6b 65 79 20 24 6b 65 79 20  ha384 -key $key 
5e10: 2d 64 61 74 61 20 24 64 61 74 61 5d 20 30 20 33  -data $data] 0 3
5e20: 31 2c 2c 2c 33 61 62 66 33 34 63 33 35 30 33 62  1,,,3abf34c3503b
5e30: 32 61 32 33 61 34 36 65 66 63 36 31 39 62 61 65  2a23a46efc619bae
5e40: 66 38 39 37 2c 2c 2c 0a 52 46 43 34 32 33 31 20  f897,,,.RFC4231 
5e50: 48 4d 41 43 20 54 43 35 2c 73 68 61 35 31 32 2c  HMAC TC5,sha512,
5e60: 2c 2c 73 74 72 69 6e 67 20 72 61 6e 67 65 20 5b  ,,string range [
5e70: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
5e80: 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79 20  est sha512 -key 
5e90: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
5ea0: 5d 20 30 20 33 31 2c 2c 2c 34 31 35 66 61 64 36  ] 0 31,,,415fad6
5eb0: 32 37 31 35 38 30 61 35 33 31 64 34 31 37 39 62  271580a531d4179b
5ec0: 63 38 39 31 64 38 37 61 36 2c 2c 2c 0a 2c 2c 2c  c891d87a6,,,.,,,
5ed0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
5ee0: 23 20 52 46 43 20 34 32 33 31 20 48 4d 41 43 20  # RFC 4231 HMAC 
5ef0: 45 78 61 6d 70 6c 65 73 20 54 65 73 74 20 43 61  Examples Test Ca
5f00: 73 65 20 23 36 20 2d 20 54 65 73 74 20 77 69 74  se #6 - Test wit
5f10: 68 20 61 20 6b 65 79 20 6c 61 72 67 65 72 20 74  h a key larger t
5f20: 68 61 6e 20 31 32 38 20 62 79 74 65 73 20 28 3d  han 128 bytes (=
5f30: 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20 53   block-size of S
5f40: 48 41 2d 33 38 34 20 61 6e 64 20 53 48 41 2d 35  HA-384 and SHA-5
5f50: 31 32 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  12).,,,,,,,,,.co
5f60: 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b  mmand,"set key [
5f70: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
5f80: 78 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74  x [string repeat
5f90: 20 22 22 61 61 22 22 20 31 33 31 5d 5d 22 2c 2c   ""aa"" 131]]",,
5fa0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
5fb0: 22 73 65 74 20 64 61 74 61 20 22 22 54 65 73 74  "set data ""Test
5fc0: 20 55 73 69 6e 67 20 4c 61 72 67 65 72 20 54 68   Using Larger Th
5fd0: 61 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65 20 4b 65  an Block-Size Ke
5fe0: 79 20 2d 20 48 61 73 68 20 4b 65 79 20 46 69 72  y - Hash Key Fir
5ff0: 73 74 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52  st""",,,,,,,,,.R
6000: 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 36 2c  FC4231 HMAC TC6,
6010: 73 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha224,,,::tls::
6020: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61  hmac -digest sha
6030: 32 32 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  224 -key $key -d
6040: 61 74 61 20 24 64 61 74 61 2c 2c 2c 39 35 65 39  ata $data,,,95e9
6050: 61 30 64 62 39 36 32 30 39 35 61 64 61 65 62 65  a0db962095adaebe
6060: 39 62 32 64 36 66 30 64 62 63 65 32 64 34 39 39  9b2d6f0dbce2d499
6070: 66 31 31 32 66 32 64 32 62 37 32 37 33 66 61 36  f112f2d2b7273fa6
6080: 38 37 30 65 2c 2c 2c 0a 52 46 43 34 32 33 31 20  870e,,,.RFC4231 
6090: 48 4d 41 43 20 54 43 36 2c 73 68 61 32 35 36 2c  HMAC TC6,sha256,
60a0: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
60b0: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65  igest sha256 -ke
60c0: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
60d0: 74 61 2c 2c 2c 36 30 65 34 33 31 35 39 31 65 65  ta,,,60e431591ee
60e0: 30 62 36 37 66 30 64 38 61 32 36 61 61 63 62 66  0b67f0d8a26aacbf
60f0: 35 62 37 37 66 38 65 30 62 63 36 32 31 33 37 32  5b77f8e0bc621372
6100: 38 63 35 31 34 30 35 34 36 30 34 30 66 30 65 65  8c5140546040f0ee
6110: 33 37 66 35 34 2c 2c 2c 0a 52 46 43 34 32 33 31  37f54,,,.RFC4231
6120: 20 48 4d 41 43 20 54 43 36 2c 73 68 61 33 38 34   HMAC TC6,sha384
6130: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
6140: 64 69 67 65 73 74 20 73 68 61 33 38 34 20 2d 6b  digest sha384 -k
6150: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
6160: 61 74 61 2c 2c 2c 34 65 63 65 30 38 34 34 38 35  ata,,,4ece084485
6170: 38 31 33 65 39 30 38 38 64 32 63 36 33 61 30 34  813e9088d2c63a04
6180: 31 62 63 35 62 34 34 66 39 65 66 31 30 31 32 61  1bc5b44f9ef1012a
6190: 32 62 35 38 38 66 33 63 64 31 31 66 30 35 30 33  2b588f3cd11f0503
61a0: 33 61 63 34 63 36 30 63 32 65 66 36 61 62 34 30  3ac4c60c2ef6ab40
61b0: 33 30 66 65 38 32 39 36 32 34 38 64 66 31 36 33  30fe8296248df163
61c0: 66 34 34 39 35 32 2c 2c 2c 0a 52 46 43 34 32 33  f44952,,,.RFC423
61d0: 31 20 48 4d 41 43 20 54 43 36 2c 73 68 61 35 31  1 HMAC TC6,sha51
61e0: 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  2,,,::tls::hmac 
61f0: 2d 64 69 67 65 73 74 20 73 68 61 35 31 32 20 2d  -digest sha512 -
6200: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
6210: 64 61 74 61 2c 2c 2c 38 30 62 32 34 32 36 33 63  data,,,80b24263c
6220: 37 63 31 61 33 65 62 62 37 31 34 39 33 63 31 64  7c1a3ebb71493c1d
6230: 64 37 62 65 38 62 34 39 62 34 36 64 31 66 34 31  d7be8b49b46d1f41
6240: 62 34 61 65 65 63 31 31 32 31 62 30 31 33 37 38  b4aeec1121b01378
6250: 33 66 38 66 33 35 32 36 62 35 36 64 30 33 37 65  3f8f3526b56d037e
6260: 30 35 66 32 35 39 38 62 64 30 66 64 32 32 31 35  05f2598bd0fd2215
6270: 64 36 61 31 65 35 32 39 35 65 36 34 66 37 33 66  d6a1e5295e64f73f
6280: 36 33 66 30 61 65 63 38 62 39 31 35 61 39 38 35  63f0aec8b915a985
6290: 64 37 38 36 35 39 38 2c 2c 2c 0a 2c 2c 2c 2c 2c  d786598,,,.,,,,,
62a0: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
62b0: 52 46 43 20 34 32 33 31 20 48 4d 41 43 20 45 78  RFC 4231 HMAC Ex
62c0: 61 6d 70 6c 65 73 20 54 65 73 74 20 43 61 73 65  amples Test Case
62d0: 20 23 37 20 2d 20 54 65 73 74 20 77 69 74 68 20   #7 - Test with 
62e0: 61 20 6b 65 79 20 61 6e 64 20 64 61 74 61 20 74  a key and data t
62f0: 68 61 74 20 69 73 20 6c 61 72 67 65 72 20 74 68  hat is larger th
6300: 61 6e 20 31 32 38 20 62 79 74 65 73 20 28 3d 20  an 128 bytes (= 
6310: 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20 53 48  block-size of SH
6320: 41 2d 33 38 34 20 61 6e 64 20 53 48 41 2d 35 31  A-384 and SHA-51
6330: 32 29 2e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d  2).,,,,,,,,,.com
6340: 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b 62  mand,"set key [b
6350: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
6360: 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20   [string repeat 
6370: 22 22 61 61 22 22 20 31 33 31 5d 5d 22 2c 2c 2c  ""aa"" 131]]",,,
6380: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22  ,,,,,,.command,"
6390: 73 65 74 20 64 61 74 61 20 22 22 54 68 69 73 20  set data ""This 
63a0: 69 73 20 61 20 74 65 73 74 20 75 73 69 6e 67 20  is a test using 
63b0: 61 20 6c 61 72 67 65 72 20 74 68 61 6e 20 62 6c  a larger than bl
63c0: 6f 63 6b 2d 73 69 7a 65 20 6b 65 79 20 61 6e 64  ock-size key and
63d0: 20 61 20 6c 61 72 67 65 72 20 74 68 61 6e 20 62   a larger than b
63e0: 6c 6f 63 6b 2d 73 69 7a 65 20 64 61 74 61 2e 20  lock-size data. 
63f0: 54 68 65 20 6b 65 79 20 6e 65 65 64 73 20 74 6f  The key needs to
6400: 20 62 65 20 68 61 73 68 65 64 20 62 65 66 6f 72   be hashed befor
6410: 65 20 62 65 69 6e 67 20 75 73 65 64 20 62 79 20  e being used by 
6420: 74 68 65 20 48 4d 41 43 20 61 6c 67 6f 72 69 74  the HMAC algorit
6430: 68 6d 2e 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  hm.""",,,,,,,,,.
6440: 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 37  RFC4231 HMAC TC7
6450: 2c 73 68 61 32 32 34 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha224,,,::tls:
6460: 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68  :hmac -digest sh
6470: 61 32 32 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d  a224 -key $key -
6480: 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 33 61 38  data $data,,,3a8
6490: 35 34 31 36 36 61 63 35 64 39 66 30 32 33 66 35  54166ac5d9f023f5
64a0: 34 64 35 31 37 64 30 62 33 39 64 62 64 39 34 36  4d517d0b39dbd946
64b0: 37 37 30 64 62 39 63 32 62 39 35 63 39 66 36 66  770db9c2b95c9f6f
64c0: 35 36 35 64 31 2c 2c 2c 0a 52 46 43 34 32 33 31  565d1,,,.RFC4231
64d0: 20 48 4d 41 43 20 54 43 37 2c 73 68 61 32 35 36   HMAC TC7,sha256
64e0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d  ,,,::tls::hmac -
64f0: 64 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b  digest sha256 -k
6500: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
6510: 61 74 61 2c 2c 2c 39 62 30 39 66 66 61 37 31 62  ata,,,9b09ffa71b
6520: 39 34 32 66 63 62 32 37 36 33 35 66 62 63 64 35  942fcb27635fbcd5
6530: 62 30 65 39 34 34 62 66 64 63 36 33 36 34 34 66  b0e944bfdc63644f
6540: 30 37 31 33 39 33 38 61 37 66 35 31 35 33 35 63  0713938a7f51535c
6550: 33 61 33 35 65 32 2c 2c 2c 0a 52 46 43 34 32 33  3a35e2,,,.RFC423
6560: 31 20 48 4d 41 43 20 54 43 37 2c 73 68 61 33 38  1 HMAC TC7,sha38
6570: 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  4,,,::tls::hmac 
6580: 2d 64 69 67 65 73 74 20 73 68 61 33 38 34 20 2d  -digest sha384 -
6590: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
65a0: 64 61 74 61 2c 2c 2c 36 36 31 37 31 37 38 65 39  data,,,6617178e9
65b0: 34 31 66 30 32 30 64 33 35 31 65 32 66 32 35 34  41f020d351e2f254
65c0: 65 38 66 64 33 32 63 36 30 32 34 32 30 66 65 62  e8fd32c602420feb
65d0: 30 62 38 66 62 39 61 64 63 63 65 62 62 38 32 34  0b8fb9adccebb824
65e0: 36 31 65 39 39 63 35 61 36 37 38 63 63 33 31 65  61e99c5a678cc31e
65f0: 37 39 39 31 37 36 64 33 38 36 30 65 36 31 31 30  799176d3860e6110
6600: 63 34 36 35 32 33 65 2c 2c 2c 0a 52 46 43 34 32  c46523e,,,.RFC42
6610: 33 31 20 48 4d 41 43 20 54 43 37 2c 73 68 61 35  31 HMAC TC7,sha5
6620: 31 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63  12,,,::tls::hmac
6630: 20 2d 64 69 67 65 73 74 20 73 68 61 35 31 32 20   -digest sha512 
6640: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
6650: 24 64 61 74 61 2c 2c 2c 65 33 37 62 36 61 37 37  $data,,,e37b6a77
6660: 35 64 63 38 37 64 62 61 61 34 64 66 61 39 66 39  5dc87dbaa4dfa9f9
6670: 36 65 35 65 33 66 66 64 64 65 62 64 37 31 66 38  6e5e3ffddebd71f8
6680: 38 36 37 32 38 39 38 36 35 64 66 35 61 33 32 64  867289865df5a32d
6690: 32 30 63 64 63 39 34 34 62 36 30 32 32 63 61 63  20cdc944b6022cac
66a0: 33 63 34 39 38 32 62 31 30 64 35 65 65 62 35 35  3c4982b10d5eeb55
66b0: 63 33 65 34 64 65 31 35 31 33 34 36 37 36 66 62  c3e4de15134676fb
66c0: 36 64 65 30 34 34 36 30 36 35 63 39 37 34 34 30  6de0446065c97440
66d0: 66 61 38 63 36 61 35 38 2c 2c 2c 0a 2c 2c 2c 2c  fa8c6a58,,,.,,,,
66e0: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
66f0: 20 4e 49 53 54 20 38 30 30 2d 33 38 62 20 52 65   NIST 800-38b Re
6700: 63 6f 6d 6d 65 6e 64 61 74 69 6f 6e 20 66 6f 72  commendation for
6710: 20 42 6c 6f 63 6b 20 43 69 70 68 65 72 20 4d 6f   Block Cipher Mo
6720: 64 65 73 20 6f 66 20 4f 70 65 72 61 74 69 6f 6e  des of Operation
6730: 3a 20 54 68 65 20 43 4d 41 43 20 4d 6f 64 65 20  : The CMAC Mode 
6740: 66 6f 72 20 41 75 74 68 65 6e 74 69 63 61 74 69  for Authenticati
6750: 6f 6e 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  on,,,,,,,,,.comm
6760: 61 6e 64 2c 23 20 41 45 53 2d 31 32 38 2c 2c 2c  and,# AES-128,,,
6770: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22  ,,,,,,.command,"
6780: 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20  set key [binary 
6790: 64 65 63 6f 64 65 20 68 65 78 20 22 22 32 62 37  decode hex ""2b7
67a0: 65 31 35 31 36 32 38 61 65 64 32 61 36 61 62 66  e151628aed2a6abf
67b0: 37 31 35 38 38 30 39 63 66 34 66 33 63 22 22 5d  7158809cf4f3c""]
67c0: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38  ",,,,,,,,,.NIST8
67d0: 30 30 2d 33 38 62 2d 41 45 53 31 32 38 2c 6c 65  00-38b-AES128,le
67e0: 6e 3d 30 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 63 6d  n=0,,,"::tls::cm
67f0: 61 63 20 2d 63 69 70 68 65 72 20 61 65 73 2d 31  ac -cipher aes-1
6800: 32 38 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79  28-cbc -key $key
6810: 20 2d 64 61 74 61 20 22 22 22 22 22 2c 2c 2c 62   -data """"",,,b
6820: 62 31 64 36 39 32 39 65 39 35 39 33 37 32 38 37  b1d6929e95937287
6830: 66 61 33 37 64 31 32 39 62 37 35 36 37 34 36 2c  fa37d129b756746,
6840: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
6850: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
6860: 6f 64 65 20 68 65 78 20 22 22 36 62 63 31 62 65  ode hex ""6bc1be
6870: 65 32 32 65 34 30 39 66 39 36 65 39 33 64 37 65  e22e409f96e93d7e
6880: 31 31 37 33 39 33 31 37 32 61 22 22 5d 22 2c 2c  117393172a""]",,
6890: 2c 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d  ,,,,,,,.NIST800-
68a0: 33 38 62 2d 41 45 53 31 32 38 2c 6c 65 6e 3d 31  38b-AES128,len=1
68b0: 32 38 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63  28,,,::tls::cmac
68c0: 20 2d 63 69 70 68 65 72 20 61 65 73 2d 31 32 38   -cipher aes-128
68d0: 2d 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d  -cbc -key $key -
68e0: 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 30 37 30  data $data,,,070
68f0: 61 31 36 62 34 36 62 34 64 34 31 34 34 66 37 39  a16b46b4d4144f79
6900: 62 64 64 39 64 64 30 34 61 32 38 37 63 2c 2c 2c  bdd9dd04a287c,,,
6910: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61  .command,"set da
6920: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
6930: 65 20 68 65 78 20 22 22 36 62 63 31 62 65 65 32  e hex ""6bc1bee2
6940: 32 65 34 30 39 66 39 36 65 39 33 64 37 65 31 31  2e409f96e93d7e11
6950: 37 33 39 33 31 37 32 61 61 65 32 64 38 61 35 37  7393172aae2d8a57
6960: 31 65 30 33 61 63 39 63 39 65 62 37 36 66 61 63  1e03ac9c9eb76fac
6970: 34 35 61 66 38 65 35 31 33 30 63 38 31 63 34 36  45af8e5130c81c46
6980: 61 33 35 63 65 34 31 31 22 22 5d 22 2c 2c 2c 2c  a35ce411""]",,,,
6990: 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38  ,,,,,.NIST800-38
69a0: 62 2d 41 45 53 31 32 38 2c 6c 65 6e 3d 33 32 30  b-AES128,len=320
69b0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d  ,,,::tls::cmac -
69c0: 63 69 70 68 65 72 20 61 65 73 2d 31 32 38 2d 63  cipher aes-128-c
69d0: 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  bc -key $key -da
69e0: 74 61 20 24 64 61 74 61 2c 2c 2c 64 66 61 36 36  ta $data,,,dfa66
69f0: 37 34 37 64 65 39 61 65 36 33 30 33 30 63 61 33  747de9ae63030ca3
6a00: 32 36 31 31 34 39 37 63 38 32 37 2c 2c 2c 0a 63  2611497c827,,,.c
6a10: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61  ommand,"set data
6a20: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
6a30: 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65  hex ""6bc1bee22e
6a40: 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33  409f96e93d7e1173
6a50: 39 33 31 37 32 61 61 65 32 64 38 61 35 37 31 65  93172aae2d8a571e
6a60: 30 33 61 63 39 63 39 65 62 37 36 66 61 63 34 35  03ac9c9eb76fac45
6a70: 61 66 38 65 35 31 33 30 63 38 31 63 34 36 61 33  af8e5130c81c46a3
6a80: 35 63 65 34 31 31 65 35 66 62 63 31 31 39 31 61  5ce411e5fbc1191a
6a90: 30 61 35 32 65 66 66 36 39 66 32 34 34 35 64 66  0a52eff69f2445df
6aa0: 34 66 39 62 31 37 61 64 32 62 34 31 37 62 65 36  4f9b17ad2b417be6
6ab0: 36 63 33 37 31 30 22 22 5d 22 2c 2c 2c 2c 2c 2c  6c3710""]",,,,,,
6ac0: 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d  ,,,.NIST800-38b-
6ad0: 41 45 53 31 32 38 2c 6c 65 6e 3d 35 31 32 2c 2c  AES128,len=512,,
6ae0: 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69  ,::tls::cmac -ci
6af0: 70 68 65 72 20 61 65 73 2d 31 32 38 2d 63 62 63  pher aes-128-cbc
6b00: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
6b10: 20 24 64 61 74 61 2c 2c 2c 35 31 66 30 62 65 62   $data,,,51f0beb
6b20: 66 37 65 33 62 39 64 39 32 66 63 34 39 37 34 31  f7e3b9d92fc49741
6b30: 37 37 39 33 36 33 63 66 65 2c 2c 2c 0a 2c 2c 2c  779363cfe,,,.,,,
6b40: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
6b50: 23 20 41 45 53 2d 31 39 32 2c 2c 2c 2c 2c 2c 2c  # AES-192,,,,,,,
6b60: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
6b70: 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  key [binary deco
6b80: 64 65 20 68 65 78 20 22 22 38 65 37 33 62 30 66  de hex ""8e73b0f
6b90: 37 64 61 30 65 36 34 35 32 63 38 31 30 66 33 32  7da0e6452c810f32
6ba0: 62 38 30 39 30 37 39 65 35 36 32 66 38 65 61 64  b809079e562f8ead
6bb0: 32 35 32 32 63 36 62 37 62 22 22 5d 22 2c 2c 2c  2522c6b7b""]",,,
6bc0: 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33  ,,,,,,.NIST800-3
6bd0: 38 62 2d 41 45 53 2d 31 39 32 2c 6c 65 6e 3d 30  8b-AES-192,len=0
6be0: 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  ,,,"::tls::cmac 
6bf0: 2d 63 69 70 68 65 72 20 61 65 73 2d 31 39 32 2d  -cipher aes-192-
6c00: 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  cbc -key $key -d
6c10: 61 74 61 20 22 22 22 22 22 2c 2c 2c 64 31 37 64  ata """"",,,d17d
6c20: 64 66 34 36 61 64 61 61 63 64 65 35 33 31 63 61  df46adaacde531ca
6c30: 63 34 38 33 64 65 37 61 39 33 36 37 2c 2c 2c 0a  c483de7a9367,,,.
6c40: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74  command,"set dat
6c50: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
6c60: 20 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32   hex ""6bc1bee22
6c70: 65 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37  e409f96e93d7e117
6c80: 33 39 33 31 37 32 61 22 22 5d 22 2c 2c 2c 2c 2c  393172a""]",,,,,
6c90: 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62  ,,,,.NIST800-38b
6ca0: 2d 41 45 53 2d 31 39 32 2c 6c 65 6e 3d 31 32 38  -AES-192,len=128
6cb0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d  ,,,::tls::cmac -
6cc0: 63 69 70 68 65 72 20 61 65 73 2d 31 39 32 2d 63  cipher aes-192-c
6cd0: 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  bc -key $key -da
6ce0: 74 61 20 24 64 61 74 61 2c 2c 2c 39 65 39 39 61  ta $data,,,9e99a
6cf0: 37 62 66 33 31 65 37 31 30 39 30 30 36 36 32 66  7bf31e710900662f
6d00: 36 35 65 36 31 37 63 35 31 38 34 2c 2c 2c 0a 63  65e617c5184,,,.c
6d10: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61  ommand,"set data
6d20: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
6d30: 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65  hex ""6bc1bee22e
6d40: 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33  409f96e93d7e1173
6d50: 39 33 31 37 32 61 61 65 32 64 38 61 35 37 31 65  93172aae2d8a571e
6d60: 30 33 61 63 39 63 39 65 62 37 36 66 61 63 34 35  03ac9c9eb76fac45
6d70: 61 66 38 65 35 31 33 30 63 38 31 63 34 36 61 33  af8e5130c81c46a3
6d80: 35 63 65 34 31 31 22 22 5d 22 2c 2c 2c 2c 2c 2c  5ce411""]",,,,,,
6d90: 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d  ,,,.NIST800-38b-
6da0: 41 45 53 2d 31 39 32 2c 6c 65 6e 3d 33 32 30 2c  AES-192,len=320,
6db0: 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63  ,,::tls::cmac -c
6dc0: 69 70 68 65 72 20 61 65 73 2d 31 39 32 2d 63 62  ipher aes-192-cb
6dd0: 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  c -key $key -dat
6de0: 61 20 24 64 61 74 61 2c 2c 2c 38 61 31 64 65 35  a $data,,,8a1de5
6df0: 62 65 32 65 62 33 31 61 61 64 30 38 39 61 38 32  be2eb31aad089a82
6e00: 65 36 65 65 39 30 38 62 30 65 2c 2c 2c 0a 63 6f  e6ee908b0e,,,.co
6e10: 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20  mmand,"set data 
6e20: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
6e30: 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65 34  ex ""6bc1bee22e4
6e40: 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33 39  09f96e93d7e11739
6e50: 33 31 37 32 61 61 65 32 64 38 61 35 37 31 65 30  3172aae2d8a571e0
6e60: 33 61 63 39 63 39 65 62 37 36 66 61 63 34 35 61  3ac9c9eb76fac45a
6e70: 66 38 65 35 31 33 30 63 38 31 63 34 36 61 33 35  f8e5130c81c46a35
6e80: 63 65 34 31 31 65 35 66 62 63 31 31 39 31 61 30  ce411e5fbc1191a0
6e90: 61 35 32 65 66 66 36 39 66 32 34 34 35 64 66 34  a52eff69f2445df4
6ea0: 66 39 62 31 37 61 64 32 62 34 31 37 62 65 36 36  f9b17ad2b417be66
6eb0: 63 33 37 31 30 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c  c3710""]",,,,,,,
6ec0: 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41  ,,.NIST800-38b-A
6ed0: 45 53 2d 31 39 32 2c 6c 65 6e 3d 35 31 32 2c 2c  ES-192,len=512,,
6ee0: 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69  ,::tls::cmac -ci
6ef0: 70 68 65 72 20 61 65 73 2d 31 39 32 2d 63 62 63  pher aes-192-cbc
6f00: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
6f10: 20 24 64 61 74 61 2c 2c 2c 61 31 64 35 64 66 30   $data,,,a1d5df0
6f20: 65 65 64 37 39 30 66 37 39 34 64 37 37 35 38 39  eed790f794d77589
6f30: 36 35 39 66 33 39 61 31 31 2c 2c 2c 0a 2c 2c 2c  659f39a11,,,.,,,
6f40: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
6f50: 23 20 41 45 53 2d 32 35 36 2c 2c 2c 2c 2c 2c 2c  # AES-256,,,,,,,
6f60: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
6f70: 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  key [binary deco
6f80: 64 65 20 68 65 78 20 22 22 36 30 33 64 65 62 31  de hex ""603deb1
6f90: 30 31 35 63 61 37 31 62 65 32 62 37 33 61 65 66  015ca71be2b73aef
6fa0: 30 38 35 37 64 37 37 38 31 31 66 33 35 32 63 30  0857d77811f352c0
6fb0: 37 33 62 36 31 30 38 64 37 32 64 39 38 31 30 61  73b6108d72d9810a
6fc0: 33 30 39 31 34 64 66 66 34 22 22 5d 22 2c 2c 2c  30914dff4""]",,,
6fd0: 2c 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33  ,,,,,,.NIST800-3
6fe0: 38 62 2d 41 45 53 2d 32 35 36 2c 6c 65 6e 3d 30  8b-AES-256,len=0
6ff0: 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  ,,,"::tls::cmac 
7000: 2d 63 69 70 68 65 72 20 61 65 73 2d 32 35 36 2d  -cipher aes-256-
7010: 63 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  cbc -key $key -d
7020: 61 74 61 20 22 22 22 22 22 2c 2c 2c 30 32 38 39  ata """"",,,0289
7030: 36 32 66 36 31 62 37 62 66 38 39 65 66 63 36 62  62f61b7bf89efc6b
7040: 35 35 31 66 34 36 36 37 64 39 38 33 2c 2c 2c 0a  551f4667d983,,,.
7050: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74  command,"set dat
7060: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
7070: 20 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32   hex ""6bc1bee22
7080: 65 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37  e409f96e93d7e117
7090: 33 39 33 31 37 32 61 22 22 5d 22 2c 2c 2c 2c 2c  393172a""]",,,,,
70a0: 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62  ,,,,.NIST800-38b
70b0: 2d 41 45 53 2d 32 35 36 2c 6c 65 6e 3d 31 32 38  -AES-256,len=128
70c0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d  ,,,::tls::cmac -
70d0: 63 69 70 68 65 72 20 61 65 73 2d 32 35 36 2d 63  cipher aes-256-c
70e0: 62 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  bc -key $key -da
70f0: 74 61 20 24 64 61 74 61 2c 2c 2c 32 38 61 37 30  ta $data,,,28a70
7100: 32 33 66 34 35 32 65 38 66 38 32 62 64 34 62 66  23f452e8f82bd4bf
7110: 32 38 64 38 63 33 37 63 33 35 63 2c 2c 2c 0a 63  28d8c37c35c,,,.c
7120: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61  ommand,"set data
7130: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
7140: 68 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65  hex ""6bc1bee22e
7150: 34 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33  409f96e93d7e1173
7160: 39 33 31 37 32 61 61 65 32 64 38 61 35 37 31 65  93172aae2d8a571e
7170: 30 33 61 63 39 63 39 65 62 37 36 66 61 63 34 35  03ac9c9eb76fac45
7180: 61 66 38 65 35 31 33 30 63 38 31 63 34 36 61 33  af8e5130c81c46a3
7190: 35 63 65 34 31 31 22 22 5d 22 2c 2c 2c 2c 2c 2c  5ce411""]",,,,,,
71a0: 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d  ,,,.NIST800-38b-
71b0: 41 45 53 2d 32 35 36 2c 6c 65 6e 3d 33 32 30 2c  AES-256,len=320,
71c0: 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63  ,,::tls::cmac -c
71d0: 69 70 68 65 72 20 61 65 73 2d 32 35 36 2d 63 62  ipher aes-256-cb
71e0: 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  c -key $key -dat
71f0: 61 20 24 64 61 74 61 2c 2c 2c 61 61 66 33 64 38  a $data,,,aaf3d8
7200: 66 31 64 65 35 36 34 30 63 32 33 32 66 35 62 31  f1de5640c232f5b1
7210: 36 39 62 39 63 39 31 31 65 36 2c 2c 2c 0a 63 6f  69b9c911e6,,,.co
7220: 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20  mmand,"set data 
7230: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
7240: 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65 34  ex ""6bc1bee22e4
7250: 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33 39  09f96e93d7e11739
7260: 33 31 37 32 61 61 65 32 64 38 61 35 37 31 65 30  3172aae2d8a571e0
7270: 33 61 63 39 63 39 65 62 37 36 66 61 63 34 35 61  3ac9c9eb76fac45a
7280: 66 38 65 35 31 33 30 63 38 31 63 34 36 61 33 35  f8e5130c81c46a35
7290: 63 65 34 31 31 65 35 66 62 63 31 31 39 31 61 30  ce411e5fbc1191a0
72a0: 61 35 32 65 66 66 36 39 66 32 34 34 35 64 66 34  a52eff69f2445df4
72b0: 66 39 62 31 37 61 64 32 62 34 31 37 62 65 36 36  f9b17ad2b417be66
72c0: 63 33 37 31 30 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c  c3710""]",,,,,,,
72d0: 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41  ,,.NIST800-38b-A
72e0: 45 53 2d 32 35 36 2c 6c 65 6e 3d 35 31 32 2c 2c  ES-256,len=512,,
72f0: 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69  ,::tls::cmac -ci
7300: 70 68 65 72 20 61 65 73 2d 32 35 36 2d 63 62 63  pher aes-256-cbc
7310: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
7320: 20 24 64 61 74 61 2c 2c 2c 65 31 39 39 32 31 39   $data,,,e199219
7330: 30 35 34 39 66 36 65 64 35 36 39 36 61 32 63 30  0549f6ed5696a2c0
7340: 35 36 63 33 31 35 34 31 30 2c 2c 2c 0a 2c 2c 2c  56c315410,,,.,,,
7350: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
7360: 23 20 43 6c 65 61 6e 75 70 2c 2c 2c 2c 2c 2c 2c  # Cleanup,,,,,,,
7370: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 3a 3a 74 63 6c  ,,.command,::tcl
7380: 74 65 73 74 3a 3a 72 65 6d 6f 76 65 46 69 6c 65  test::removeFile
7390: 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 2c 2c   $test_file,,,,,
73a0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 3a 3a 74  ,,,,.command,::t
73b0: 63 6c 74 65 73 74 3a 3a 72 65 6d 6f 76 65 46 69  cltest::removeFi
73c0: 6c 65 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c  le $test_alt_fil
73d0: 65 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a                 e,,,,,,,,,.