Hex Artifact Content

Artifact 97f8b6bb77dfc715b9979deed2998bb454acb86975400045cc7313b35fae77a9:


0000: 23 20 41 75 74 6f 20 67 65 6e 65 72 61 74 65 64  # Auto generated
0010: 20 66 72 6f 6d 20 22 48 4d 41 43 5f 53 48 41 33   from "HMAC_SHA3
0020: 38 34 2e 74 78 74 22 0a 6c 61 70 70 65 6e 64 20  84.txt".lappend 
0030: 61 75 74 6f 5f 70 61 74 68 20 5b 66 69 6c 65 20  auto_path [file 
0040: 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69  dirname [file di
0050: 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e  rname [file dirn
0060: 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d  ame [file dirnam
0070: 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 5b 70 77  e [file join [pw
0080: 64 5d 20 5b 69 6e 66 6f 20 73 63 72 69 70 74 5d  d] [info script]
0090: 5d 5d 5d 5d 5d 0a 70 61 63 6b 61 67 65 20 72 65  ]]]]].package re
00a0: 71 75 69 72 65 20 74 6c 73 0a 70 61 63 6b 61 67  quire tls.packag
00b0: 65 20 72 65 71 75 69 72 65 20 74 63 6c 74 65 73  e require tcltes
00c0: 74 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  t..tcltest::test
00d0: 43 6f 6e 73 74 72 61 69 6e 74 20 48 4d 41 43 20  Constraint HMAC 
00e0: 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72 63 68 20  [expr {[lsearch 
00f0: 2d 6e 6f 63 61 73 65 20 5b 74 6c 73 3a 3a 6d 61  -nocase [tls::ma
0100: 63 73 5d 20 48 4d 41 43 5d 20 3e 20 2d 31 7d 5d  cs] HMAC] > -1}]
0110: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 43 6f  .tcltest::testCo
0120: 6e 73 74 72 61 69 6e 74 20 53 48 41 33 38 34 20  nstraint SHA384 
0130: 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72 63 68 20  [expr {[lsearch 
0140: 2d 6e 6f 63 61 73 65 20 5b 74 6c 73 3a 3a 64 69  -nocase [tls::di
0150: 67 65 73 74 73 5d 20 53 48 41 33 38 34 5d 20 3e  gests] SHA384] >
0160: 20 2d 31 7d 5d 0a 63 61 74 63 68 20 7b 74 6c 73   -1}].catch {tls
0170: 3a 3a 70 72 6f 76 69 64 65 72 20 6c 65 67 61 63  ::provider legac
0180: 79 7d 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  y}..tcltest::tes
0190: 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41 33 38  t MAC_HMAC-SHA38
01a0: 34 2d 31 2e 31 20 7b 48 4d 41 43 5f 53 48 41 33  4-1.1 {HMAC_SHA3
01b0: 38 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  84} \..-constrai
01c0: 6e 74 73 20 7b 48 4d 41 43 20 53 48 41 33 38 34  nts {HMAC SHA384
01d0: 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20   } \..-setup {} 
01e0: 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67  \..-body {string
01f0: 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61   range [tls::hma
0200: 63 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 53  c -hex -digest S
0210: 48 41 33 38 34 20 2d 6b 65 79 20 5b 62 69 6e 61  HA384 -key [bina
0220: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 30  ry decode hex 00
0230: 30 31 30 32 30 33 30 34 30 35 30 36 30 37 30 38  0102030405060708
0240: 30 39 30 61 30 62 30 63 30 64 30 65 30 66 31 30  090a0b0c0d0e0f10
0250: 31 31 31 32 31 33 31 34 31 35 31 36 31 37 31 38  1112131415161718
0260: 31 39 31 61 31 62 31 63 31 64 31 65 31 66 32 30  191a1b1c1d1e1f20
0270: 32 31 32 32 32 33 32 34 32 35 32 36 32 37 32 38  2122232425262728
0280: 32 39 32 61 32 62 32 63 32 64 32 65 32 66 33 30  292a2b2c2d2e2f30
0290: 33 31 33 32 33 33 33 34 33 35 33 36 33 37 33 38  3132333435363738
02a0: 33 39 33 61 33 62 33 63 33 64 33 65 33 66 34 30  393a3b3c3d3e3f40
02b0: 34 31 34 32 34 33 34 34 34 35 34 36 34 37 34 38  4142434445464748
02c0: 34 39 34 61 34 62 34 63 34 64 34 65 34 66 35 30  494a4b4c4d4e4f50
02d0: 35 31 35 32 35 33 35 34 35 35 35 36 35 37 35 38  5152535455565758
02e0: 35 39 35 61 35 62 35 63 35 64 35 65 35 66 36 30  595a5b5c5d5e5f60
02f0: 36 31 36 32 36 33 36 34 36 35 36 36 36 37 36 38  6162636465666768
0300: 36 39 36 61 36 62 36 63 36 64 36 65 36 66 37 30  696a6b6c6d6e6f70
0310: 37 31 37 32 37 33 37 34 37 35 37 36 37 37 37 38  7172737475767778
0320: 37 39 37 61 37 62 37 63 37 64 37 65 37 66 5d 20  797a7b7c7d7e7f] 
0330: 2d 64 61 74 61 20 22 53 61 6d 70 6c 65 20 6d 65  -data "Sample me
0340: 73 73 61 67 65 20 66 6f 72 20 6b 65 79 6c 65 6e  ssage for keylen
0350: 3d 62 6c 6f 63 6b 6c 65 6e 22 5d 20 30 20 39 35  =blocklen"] 0 95
0360: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0370: 74 20 2d 72 65 73 75 6c 74 20 36 33 63 35 64 61  t -result 63c5da
0380: 61 35 65 36 35 31 38 34 37 63 61 38 39 37 63 39  a5e651847ca897c9
0390: 35 38 31 34 61 62 38 33 30 62 65 64 65 64 63 37  5814ab830bededc7
03a0: 64 32 35 65 38 33 65 65 66 39 31 39 35 63 64 34  d25e83eef9195cd4
03b0: 35 38 35 37 61 33 37 66 34 34 38 39 34 37 38 35  5857a37f44894785
03c0: 38 66 35 61 66 35 30 63 63 32 62 31 62 37 33 30  8f5af50cc2b1b730
03d0: 64 64 66 32 39 36 37 31 61 39 0a 0a 74 63 6c 74  ddf29671a9..tclt
03e0: 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d  est::test MAC_HM
03f0: 41 43 2d 53 48 41 33 38 34 2d 31 2e 32 20 7b 48  AC-SHA384-1.2 {H
0400: 4d 41 43 5f 53 48 41 33 38 34 7d 20 5c 0a 09 2d  MAC_SHA384} \..-
0410: 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d 41  constraints {HMA
0420: 43 20 53 48 41 33 38 34 20 7d 20 5c 0a 09 2d 73  C SHA384 } \..-s
0430: 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79  etup {} \..-body
0440: 20 7b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 5b   {string range [
0450: 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d  tls::hmac -hex -
0460: 64 69 67 65 73 74 20 53 48 41 33 38 34 20 2d 6b  digest SHA384 -k
0470: 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ey [binary decod
0480: 65 20 68 65 78 20 30 30 30 31 30 32 30 33 30 34  e hex 0001020304
0490: 30 35 30 36 30 37 30 38 30 39 30 61 30 62 30 63  05060708090a0b0c
04a0: 30 64 30 65 30 66 31 30 31 31 31 32 31 33 31 34  0d0e0f1011121314
04b0: 31 35 31 36 31 37 31 38 31 39 31 61 31 62 31 63  15161718191a1b1c
04c0: 31 64 31 65 31 66 32 30 32 31 32 32 32 33 32 34  1d1e1f2021222324
04d0: 32 35 32 36 32 37 32 38 32 39 32 61 32 62 32 63  25262728292a2b2c
04e0: 32 64 32 65 32 66 5d 20 2d 64 61 74 61 20 22 53  2d2e2f] -data "S
04f0: 61 6d 70 6c 65 20 6d 65 73 73 61 67 65 20 66 6f  ample message fo
0500: 72 20 6b 65 79 6c 65 6e 3c 62 6c 6f 63 6b 6c 65  r keylen<blockle
0510: 6e 22 5d 20 30 20 39 35 7d 20 5c 0a 09 2d 6d 61  n"] 0 95} \..-ma
0520: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
0530: 74 20 36 65 62 32 34 32 62 64 62 62 35 38 32 63  t 6eb242bdbb582c
0540: 61 31 37 62 65 62 66 61 34 38 31 62 31 65 32 33  a17bebfa481b1e23
0550: 32 31 31 34 36 34 64 32 62 37 66 38 63 32 30 62  211464d2b7f8c20b
0560: 39 66 66 32 32 30 31 36 33 37 62 39 33 36 34 36  9ff2201637b93646
0570: 61 66 35 61 65 39 61 63 33 31 36 65 39 38 64 62  af5ae9ac316e98db
0580: 34 35 64 39 63 61 65 37 37 33 36 37 35 65 65 65  45d9cae773675eee
0590: 64 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  d0..tcltest::tes
05a0: 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41 33 38  t MAC_HMAC-SHA38
05b0: 34 2d 31 2e 33 20 7b 48 4d 41 43 5f 53 48 41 33  4-1.3 {HMAC_SHA3
05c0: 38 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  84} \..-constrai
05d0: 6e 74 73 20 7b 48 4d 41 43 20 53 48 41 33 38 34  nts {HMAC SHA384
05e0: 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20   } \..-setup {} 
05f0: 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67  \..-body {string
0600: 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61   range [tls::hma
0610: 63 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 53  c -hex -digest S
0620: 48 41 33 38 34 20 2d 6b 65 79 20 5b 62 69 6e 61  HA384 -key [bina
0630: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 30  ry decode hex 00
0640: 30 31 30 32 30 33 30 34 30 35 30 36 30 37 30 38  0102030405060708
0650: 30 39 30 61 30 62 30 63 30 64 30 65 30 66 31 30  090a0b0c0d0e0f10
0660: 31 31 31 32 31 33 31 34 31 35 31 36 31 37 31 38  1112131415161718
0670: 31 39 31 61 31 62 31 63 31 64 31 65 31 66 32 30  191a1b1c1d1e1f20
0680: 32 31 32 32 32 33 32 34 32 35 32 36 32 37 32 38  2122232425262728
0690: 32 39 32 61 32 62 32 63 32 64 32 65 32 66 33 30  292a2b2c2d2e2f30
06a0: 33 31 33 32 33 33 33 34 33 35 33 36 33 37 33 38  3132333435363738
06b0: 33 39 33 61 33 62 33 63 33 64 33 65 33 66 34 30  393a3b3c3d3e3f40
06c0: 34 31 34 32 34 33 34 34 34 35 34 36 34 37 34 38  4142434445464748
06d0: 34 39 34 61 34 62 34 63 34 64 34 65 34 66 35 30  494a4b4c4d4e4f50
06e0: 35 31 35 32 35 33 35 34 35 35 35 36 35 37 35 38  5152535455565758
06f0: 35 39 35 61 35 62 35 63 35 64 35 65 35 66 36 30  595a5b5c5d5e5f60
0700: 36 31 36 32 36 33 36 34 36 35 36 36 36 37 36 38  6162636465666768
0710: 36 39 36 61 36 62 36 63 36 64 36 65 36 66 37 30  696a6b6c6d6e6f70
0720: 37 31 37 32 37 33 37 34 37 35 37 36 37 37 37 38  7172737475767778
0730: 37 39 37 61 37 62 37 63 37 64 37 65 37 66 38 30  797a7b7c7d7e7f80
0740: 38 31 38 32 38 33 38 34 38 35 38 36 38 37 38 38  8182838485868788
0750: 38 39 38 61 38 62 38 63 38 64 38 65 38 66 39 30  898a8b8c8d8e8f90
0760: 39 31 39 32 39 33 39 34 39 35 39 36 39 37 39 38  9192939495969798
0770: 39 39 39 61 39 62 39 63 39 64 39 65 39 66 61 30  999a9b9c9d9e9fa0
0780: 61 31 61 32 61 33 61 34 61 35 61 36 61 37 61 38  a1a2a3a4a5a6a7a8
0790: 61 39 61 61 61 62 61 63 61 64 61 65 61 66 62 30  a9aaabacadaeafb0
07a0: 62 31 62 32 62 33 62 34 62 35 62 36 62 37 62 38  b1b2b3b4b5b6b7b8
07b0: 62 39 62 61 62 62 62 63 62 64 62 65 62 66 63 30  b9babbbcbdbebfc0
07c0: 63 31 63 32 63 33 63 34 63 35 63 36 63 37 5d 20  c1c2c3c4c5c6c7] 
07d0: 2d 64 61 74 61 20 22 53 61 6d 70 6c 65 20 6d 65  -data "Sample me
07e0: 73 73 61 67 65 20 66 6f 72 20 6b 65 79 6c 65 6e  ssage for keylen
07f0: 3d 62 6c 6f 63 6b 6c 65 6e 22 5d 20 30 20 39 35  =blocklen"] 0 95
0800: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0810: 74 20 2d 72 65 73 75 6c 74 20 35 62 36 36 34 34  t -result 5b6644
0820: 33 36 64 66 36 39 62 30 63 61 32 32 35 35 31 32  36df69b0ca225512
0830: 33 31 61 33 66 30 61 33 64 35 62 34 66 39 37 39  31a3f0a3d5b4f979
0840: 39 31 37 31 33 63 66 61 38 34 62 66 66 34 64 30  91713cfa84bff4d0
0850: 37 39 32 65 66 66 39 36 63 32 37 64 63 63 62 62  792eff96c27dccbb
0860: 62 36 66 37 39 62 36 35 64 35 34 38 62 34 30 65  b6f79b65d548b40e
0870: 38 35 36 34 63 65 66 35 39 34 0a 0a 74 63 6c 74  8564cef594..tclt
0880: 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d  est::test MAC_HM
0890: 41 43 2d 53 48 41 33 38 34 2d 31 2e 34 20 7b 48  AC-SHA384-1.4 {H
08a0: 4d 41 43 5f 53 48 41 33 38 34 7d 20 5c 0a 09 2d  MAC_SHA384} \..-
08b0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d 41  constraints {HMA
08c0: 43 20 53 48 41 33 38 34 20 7d 20 5c 0a 09 2d 73  C SHA384 } \..-s
08d0: 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79  etup {} \..-body
08e0: 20 7b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 5b   {string range [
08f0: 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d  tls::hmac -hex -
0900: 64 69 67 65 73 74 20 53 48 41 33 38 34 20 2d 6b  digest SHA384 -k
0910: 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ey [binary decod
0920: 65 20 68 65 78 20 30 30 30 31 30 32 30 33 30 34  e hex 0001020304
0930: 30 35 30 36 30 37 30 38 30 39 30 61 30 62 30 63  05060708090a0b0c
0940: 30 64 30 65 30 66 31 30 31 31 31 32 31 33 31 34  0d0e0f1011121314
0950: 31 35 31 36 31 37 31 38 31 39 31 61 31 62 31 63  15161718191a1b1c
0960: 31 64 31 65 31 66 32 30 32 31 32 32 32 33 32 34  1d1e1f2021222324
0970: 32 35 32 36 32 37 32 38 32 39 32 61 32 62 32 63  25262728292a2b2c
0980: 32 64 32 65 32 66 33 30 5d 20 2d 64 61 74 61 20  2d2e2f30] -data 
0990: 22 53 61 6d 70 6c 65 20 6d 65 73 73 61 67 65 20  "Sample message 
09a0: 66 6f 72 20 6b 65 79 6c 65 6e 3c 62 6c 6f 63 6b  for keylen<block
09b0: 6c 65 6e 2c 20 77 69 74 68 20 74 72 75 6e 63 61  len, with trunca
09c0: 74 65 64 20 74 61 67 22 5d 20 30 20 34 37 7d 20  ted tag"] 0 47} 
09d0: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
09e0: 2d 72 65 73 75 6c 74 20 63 34 38 31 33 30 64 33  -result c48130d3
09f0: 64 66 37 30 33 64 64 37 63 64 61 61 35 36 38 30  df703dd7cdaa5680
0a00: 30 64 66 62 64 32 62 61 32 34 35 38 33 32 30 65  0dfbd2ba2458320e
0a10: 36 65 31 66 39 38 66 65 0a 0a 74 63 6c 74 65 73  6e1f98fe..tcltes
0a20: 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43  t::test MAC_HMAC
0a30: 2d 53 48 41 33 38 34 2d 31 2e 35 20 7b 48 4d 41  -SHA384-1.5 {HMA
0a40: 43 5f 53 48 41 33 38 34 7d 20 5c 0a 09 2d 63 6f  C_SHA384} \..-co
0a50: 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d 41 43 20  nstraints {HMAC 
0a60: 53 48 41 33 38 34 20 7d 20 5c 0a 09 2d 73 65 74  SHA384 } \..-set
0a70: 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  up {} \..-body {
0a80: 73 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c  string range [tl
0a90: 73 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69  s::hmac -hex -di
0aa0: 67 65 73 74 20 53 48 41 33 38 34 20 2d 6b 65 79  gest SHA384 -key
0ab0: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
0ac0: 68 65 78 20 30 62 30 62 30 62 30 62 30 62 30 62  hex 0b0b0b0b0b0b
0ad0: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62  0b0b0b0b0b0b0b0b
0ae0: 30 62 30 62 30 62 30 62 30 62 30 62 5d 20 2d 64  0b0b0b0b0b0b] -d
0af0: 61 74 61 20 22 48 69 20 54 68 65 72 65 22 5d 20  ata "Hi There"] 
0b00: 30 20 39 35 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  0 95} \..-match 
0b10: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 61 66  exact -result af
0b20: 64 30 33 39 34 34 64 38 34 38 39 35 36 32 36 62  d03944d84895626b
0b30: 30 38 32 35 66 34 61 62 34 36 39 30 37 66 31 35  0825f4ab46907f15
0b40: 66 39 64 61 64 62 65 34 31 30 31 65 63 36 38 32  f9dadbe4101ec682
0b50: 61 61 30 33 34 63 37 63 65 62 63 35 39 63 66 61  aa034c7cebc59cfa
0b60: 65 61 39 65 61 39 30 37 36 65 64 65 37 66 34 61  ea9ea9076ede7f4a
0b70: 66 31 35 32 65 38 62 32 66 61 39 63 62 36 0a 0a  f152e8b2fa9cb6..
0b80: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d 41  tcltest::test MA
0b90: 43 5f 48 4d 41 43 2d 53 48 41 33 38 34 2d 31 2e  C_HMAC-SHA384-1.
0ba0: 36 20 7b 48 4d 41 43 5f 53 48 41 33 38 34 7d 20  6 {HMAC_SHA384} 
0bb0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
0bc0: 7b 48 4d 41 43 20 53 48 41 33 38 34 20 7d 20 5c  {HMAC SHA384 } \
0bd0: 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d  ..-setup {} \..-
0be0: 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61 6e  body {string ran
0bf0: 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68  ge [tls::hmac -h
0c00: 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 33 38  ex -digest SHA38
0c10: 34 20 2d 6b 65 79 20 22 4a 65 66 65 22 20 2d 64  4 -key "Jefe" -d
0c20: 61 74 61 20 22 77 68 61 74 20 64 6f 20 79 61 20  ata "what do ya 
0c30: 77 61 6e 74 20 66 6f 72 20 6e 6f 74 68 69 6e 67  want for nothing
0c40: 3f 22 5d 20 30 20 39 35 7d 20 5c 0a 09 2d 6d 61  ?"] 0 95} \..-ma
0c50: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
0c60: 74 20 61 66 34 35 64 32 65 33 37 36 34 38 34 30  t af45d2e3764840
0c70: 33 31 36 31 37 66 37 38 64 32 62 35 38 61 36 62  31617f78d2b58a6b
0c80: 31 62 39 63 37 65 66 34 36 34 66 35 61 30 31 62  1b9c7ef464f5a01b
0c90: 34 37 65 34 32 65 63 33 37 33 36 33 32 32 34 34  47e42ec373632244
0ca0: 35 65 38 65 32 32 34 30 63 61 35 65 36 39 65 32  5e8e2240ca5e69e2
0cb0: 63 37 38 62 33 32 33 39 65 63 66 61 62 32 31 36  c78b3239ecfab216
0cc0: 34 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  49..tcltest::tes
0cd0: 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41 33 38  t MAC_HMAC-SHA38
0ce0: 34 2d 31 2e 37 20 7b 48 4d 41 43 5f 53 48 41 33  4-1.7 {HMAC_SHA3
0cf0: 38 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  84} \..-constrai
0d00: 6e 74 73 20 7b 48 4d 41 43 20 53 48 41 33 38 34  nts {HMAC SHA384
0d10: 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20   } \..-setup {} 
0d20: 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67  \..-body {string
0d30: 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61   range [tls::hma
0d40: 63 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 53  c -hex -digest S
0d50: 48 41 33 38 34 20 2d 6b 65 79 20 5b 62 69 6e 61  HA384 -key [bina
0d60: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 61  ry decode hex aa
0d70: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0d80: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0d90: 61 61 61 61 61 61 5d 20 2d 64 61 74 61 20 5b 62  aaaaaa] -data [b
0da0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
0db0: 20 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64   ddddddddddddddd
0dc0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0dd0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0de0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0df0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0e00: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0e10: 64 64 64 64 64 5d 5d 20 30 20 39 35 7d 20 5c 0a  ddddd]] 0 95} \.
0e20: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
0e30: 65 73 75 6c 74 20 38 38 30 36 32 36 30 38 64 33  esult 88062608d3
0e40: 65 36 61 64 38 61 30 61 61 32 61 63 65 30 31 34  e6ad8a0aa2ace014
0e50: 63 38 61 38 36 66 30 61 61 36 33 35 64 39 34 37  c8a86f0aa635d947
0e60: 61 63 39 66 65 62 65 38 33 65 66 34 65 35 35 39  ac9febe83ef4e559
0e70: 36 36 31 34 34 62 32 61 35 61 62 33 39 64 63 31  66144b2a5ab39dc1
0e80: 33 38 31 34 62 39 34 65 33 61 62 36 65 31 30 31  3814b94e3ab6e101
0e90: 61 33 34 66 32 37 0a 0a 74 63 6c 74 65 73 74 3a  a34f27..tcltest:
0ea0: 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53  :test MAC_HMAC-S
0eb0: 48 41 33 38 34 2d 31 2e 38 20 7b 48 4d 41 43 5f  HA384-1.8 {HMAC_
0ec0: 53 48 41 33 38 34 7d 20 5c 0a 09 2d 63 6f 6e 73  SHA384} \..-cons
0ed0: 74 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 48  traints {HMAC SH
0ee0: 41 33 38 34 20 7d 20 5c 0a 09 2d 73 65 74 75 70  A384 } \..-setup
0ef0: 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74   {} \..-body {st
0f00: 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a  ring range [tls:
0f10: 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65  :hmac -hex -dige
0f20: 73 74 20 53 48 41 33 38 34 20 2d 6b 65 79 20 5b  st SHA384 -key [
0f30: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
0f40: 78 20 30 31 30 32 30 33 30 34 30 35 30 36 30 37  x 01020304050607
0f50: 30 38 30 39 30 61 30 62 30 63 30 64 30 65 30 66  08090a0b0c0d0e0f
0f60: 31 30 31 31 31 32 31 33 31 34 31 35 31 36 31 37  1011121314151617
0f70: 31 38 31 39 5d 20 2d 64 61 74 61 20 5b 62 69 6e  1819] -data [bin
0f80: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 63  ary decode hex c
0f90: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
0fa0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
0fb0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
0fc0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
0fd0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
0fe0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
0ff0: 64 63 64 5d 5d 20 30 20 39 35 7d 20 5c 0a 09 2d  dcd]] 0 95} \..-
1000: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
1010: 75 6c 74 20 33 65 38 61 36 39 62 37 37 38 33 63  ult 3e8a69b7783c
1020: 32 35 38 35 31 39 33 33 61 62 36 32 39 30 61 66  25851933ab6290af
1030: 36 63 61 37 37 61 39 39 38 31 34 38 30 38 35 30  6ca77a9981480850
1040: 30 30 39 63 63 35 35 37 37 63 36 65 31 66 35 37  009cc5577c6e1f57
1050: 33 62 34 65 36 38 30 31 64 64 32 33 63 34 61 37  3b4e6801dd23c4a7
1060: 64 36 37 39 63 63 66 38 61 33 38 36 63 36 37 34  d679ccf8a386c674
1070: 63 66 66 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  cffb..tcltest::t
1080: 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41  est MAC_HMAC-SHA
1090: 33 38 34 2d 31 2e 39 20 7b 48 4d 41 43 5f 53 48  384-1.9 {HMAC_SH
10a0: 41 33 38 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  A384} \..-constr
10b0: 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 48 41 33  aints {HMAC SHA3
10c0: 38 34 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b  84 } \..-setup {
10d0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69  } \..-body {stri
10e0: 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68  ng range [tls::h
10f0: 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65 73 74  mac -hex -digest
1100: 20 53 48 41 33 38 34 20 2d 6b 65 79 20 5b 62 69   SHA384 -key [bi
1110: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
1120: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63  0c0c0c0c0c0c0c0c
1130: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63  0c0c0c0c0c0c0c0c
1140: 30 63 30 63 30 63 30 63 5d 20 2d 64 61 74 61 20  0c0c0c0c] -data 
1150: 22 54 65 73 74 20 57 69 74 68 20 54 72 75 6e 63  "Test With Trunc
1160: 61 74 69 6f 6e 22 5d 20 30 20 33 31 7d 20 5c 0a  ation"] 0 31} \.
1170: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
1180: 65 73 75 6c 74 20 33 61 62 66 33 34 63 33 35 30  esult 3abf34c350
1190: 33 62 32 61 32 33 61 34 36 65 66 63 36 31 39 62  3b2a23a46efc619b
11a0: 61 65 66 38 39 37 0a 0a 74 63 6c 74 65 73 74 3a  aef897..tcltest:
11b0: 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53  :test MAC_HMAC-S
11c0: 48 41 33 38 34 2d 31 2e 31 30 20 7b 48 4d 41 43  HA384-1.10 {HMAC
11d0: 5f 53 48 41 33 38 34 7d 20 5c 0a 09 2d 63 6f 6e  _SHA384} \..-con
11e0: 73 74 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53  straints {HMAC S
11f0: 48 41 33 38 34 20 7d 20 5c 0a 09 2d 73 65 74 75  HA384 } \..-setu
1200: 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73  p {} \..-body {s
1210: 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73  tring range [tls
1220: 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67  ::hmac -hex -dig
1230: 65 73 74 20 53 48 41 33 38 34 20 2d 6b 65 79 20  est SHA384 -key 
1240: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
1250: 65 78 20 61 61 61 61 61 61 61 61 61 61 61 61 61  ex aaaaaaaaaaaaa
1260: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1270: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1280: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1290: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
12a0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
12b0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
12c0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
12d0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
12e0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
12f0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1300: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1310: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1320: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1330: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1340: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1350: 61 61 61 61 61 61 61 61 61 5d 20 2d 64 61 74 61  aaaaaaaaa] -data
1360: 20 22 54 65 73 74 20 55 73 69 6e 67 20 4c 61 72   "Test Using Lar
1370: 67 65 72 20 54 68 61 6e 20 42 6c 6f 63 6b 2d 53  ger Than Block-S
1380: 69 7a 65 20 4b 65 79 20 2d 20 48 61 73 68 20 4b  ize Key - Hash K
1390: 65 79 20 46 69 72 73 74 22 5d 20 30 20 39 35 7d  ey First"] 0 95}
13a0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
13b0: 20 2d 72 65 73 75 6c 74 20 34 65 63 65 30 38 34   -result 4ece084
13c0: 34 38 35 38 31 33 65 39 30 38 38 64 32 63 36 33  485813e9088d2c63
13d0: 61 30 34 31 62 63 35 62 34 34 66 39 65 66 31 30  a041bc5b44f9ef10
13e0: 31 32 61 32 62 35 38 38 66 33 63 64 31 31 66 30  12a2b588f3cd11f0
13f0: 35 30 33 33 61 63 34 63 36 30 63 32 65 66 36 61  5033ac4c60c2ef6a
1400: 62 34 30 33 30 66 65 38 32 39 36 32 34 38 64 66  b4030fe8296248df
1410: 31 36 33 66 34 34 39 35 32 0a 0a 74 63 6c 74 65  163f44952..tclte
1420: 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41  st::test MAC_HMA
1430: 43 2d 53 48 41 33 38 34 2d 31 2e 31 31 20 7b 48  C-SHA384-1.11 {H
1440: 4d 41 43 5f 53 48 41 33 38 34 7d 20 5c 0a 09 2d  MAC_SHA384} \..-
1450: 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d 41  constraints {HMA
1460: 43 20 53 48 41 33 38 34 20 7d 20 5c 0a 09 2d 73  C SHA384 } \..-s
1470: 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79  etup {} \..-body
1480: 20 7b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 5b   {string range [
1490: 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d  tls::hmac -hex -
14a0: 64 69 67 65 73 74 20 53 48 41 33 38 34 20 2d 6b  digest SHA384 -k
14b0: 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ey [binary decod
14c0: 65 20 68 65 78 20 61 61 61 61 61 61 61 61 61 61  e hex aaaaaaaaaa
14d0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
14e0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
14f0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1500: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1510: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1520: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1530: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1540: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1550: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1560: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1570: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1580: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1590: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
15a0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
15b0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
15c0: 61 61 61 61 61 61 61 61 61 61 61 61 5d 20 2d 64  aaaaaaaaaaaa] -d
15d0: 61 74 61 20 22 54 68 69 73 20 69 73 20 61 20 74  ata "This is a t
15e0: 65 73 74 20 75 73 69 6e 67 20 61 20 6c 61 72 67  est using a larg
15f0: 65 72 20 74 68 61 6e 20 62 6c 6f 63 6b 2d 73 69  er than block-si
1600: 7a 65 20 6b 65 79 20 61 6e 64 20 61 20 6c 61 72  ze key and a lar
1610: 67 65 72 20 74 68 61 6e 20 62 6c 6f 63 6b 2d 73  ger than block-s
1620: 69 7a 65 20 64 61 74 61 2e 20 54 68 65 20 6b 65  ize data. The ke
1630: 79 20 6e 65 65 64 73 20 74 6f 20 62 65 20 68 61  y needs to be ha
1640: 73 68 65 64 20 62 65 66 6f 72 65 20 62 65 69 6e  shed before bein
1650: 67 20 75 73 65 64 20 62 79 20 74 68 65 20 48 4d  g used by the HM
1660: 41 43 20 61 6c 67 6f 72 69 74 68 6d 2e 22 5d 20  AC algorithm."] 
1670: 30 20 39 35 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  0 95} \..-match 
1680: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36 36  exact -result 66
1690: 31 37 31 37 38 65 39 34 31 66 30 32 30 64 33 35  17178e941f020d35
16a0: 31 65 32 66 32 35 34 65 38 66 64 33 32 63 36 30  1e2f254e8fd32c60
16b0: 32 34 32 30 66 65 62 30 62 38 66 62 39 61 64 63  2420feb0b8fb9adc
16c0: 63 65 62 62 38 32 34 36 31 65 39 39 63 35 61 36  cebb82461e99c5a6
16d0: 37 38 63 63 33 31 65 37 39 39 31 37 36 64 33 38  78cc31e799176d38
16e0: 36 30 65 36 31 31 30 63 34 36 35 32 33 65 0a 0a  60e6110c46523e..
16f0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d 41  tcltest::test MA
1700: 43 5f 48 4d 41 43 2d 53 48 41 33 38 34 2d 31 2e  C_HMAC-SHA384-1.
1710: 31 32 20 7b 48 4d 41 43 5f 53 48 41 33 38 34 7d  12 {HMAC_SHA384}
1720: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
1730: 20 7b 48 4d 41 43 20 53 48 41 33 38 34 20 7d 20   {HMAC SHA384 } 
1740: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09  \..-setup {} \..
1750: 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61  -body {string ra
1760: 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d  nge [tls::hmac -
1770: 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 33  hex -digest SHA3
1780: 38 34 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20  84 -key [binary 
1790: 64 65 63 6f 64 65 20 68 65 78 20 30 62 30 62 30  decode hex 0b0b0
17a0: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
17b0: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
17c0: 62 30 62 5d 20 2d 64 61 74 61 20 22 48 69 20 54  b0b] -data "Hi T
17d0: 68 65 72 65 22 5d 20 30 20 39 35 7d 20 5c 0a 09  here"] 0 95} \..
17e0: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
17f0: 73 75 6c 74 20 61 66 64 30 33 39 34 34 64 38 34  sult afd03944d84
1800: 38 39 35 36 32 36 62 30 38 32 35 66 34 61 62 34  895626b0825f4ab4
1810: 36 39 30 37 66 31 35 66 39 64 61 64 62 65 34 31  6907f15f9dadbe41
1820: 30 31 65 63 36 38 32 61 61 30 33 34 63 37 63 65  01ec682aa034c7ce
1830: 62 63 35 39 63 66 61 65 61 39 65 61 39 30 37 36  bc59cfaea9ea9076
1840: 65 64 65 37 66 34 61 66 31 35 32 65 38 62 32 66  ede7f4af152e8b2f
1850: 61 39 63 62 36 0a 0a 74 63 6c 74 65 73 74 3a 3a  a9cb6..tcltest::
1860: 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48  test MAC_HMAC-SH
1870: 41 33 38 34 2d 31 2e 31 33 20 7b 48 4d 41 43 5f  A384-1.13 {HMAC_
1880: 53 48 41 33 38 34 7d 20 5c 0a 09 2d 63 6f 6e 73  SHA384} \..-cons
1890: 74 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 48  traints {HMAC SH
18a0: 41 33 38 34 20 7d 20 5c 0a 09 2d 73 65 74 75 70  A384 } \..-setup
18b0: 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74   {} \..-body {st
18c0: 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a  ring range [tls:
18d0: 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65  :hmac -hex -dige
18e0: 73 74 20 53 48 41 33 38 34 20 2d 6b 65 79 20 22  st SHA384 -key "
18f0: 4a 65 66 65 22 20 2d 64 61 74 61 20 22 77 68 61  Jefe" -data "wha
1900: 74 20 64 6f 20 79 61 20 77 61 6e 74 20 66 6f 72  t do ya want for
1910: 20 6e 6f 74 68 69 6e 67 3f 22 5d 20 30 20 39 35   nothing?"] 0 95
1920: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
1930: 74 20 2d 72 65 73 75 6c 74 20 61 66 34 35 64 32  t -result af45d2
1940: 65 33 37 36 34 38 34 30 33 31 36 31 37 66 37 38  e376484031617f78
1950: 64 32 62 35 38 61 36 62 31 62 39 63 37 65 66 34  d2b58a6b1b9c7ef4
1960: 36 34 66 35 61 30 31 62 34 37 65 34 32 65 63 33  64f5a01b47e42ec3
1970: 37 33 36 33 32 32 34 34 35 65 38 65 32 32 34 30  736322445e8e2240
1980: 63 61 35 65 36 39 65 32 63 37 38 62 33 32 33 39  ca5e69e2c78b3239
1990: 65 63 66 61 62 32 31 36 34 39 0a 0a 74 63 6c 74  ecfab21649..tclt
19a0: 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d  est::test MAC_HM
19b0: 41 43 2d 53 48 41 33 38 34 2d 31 2e 31 34 20 7b  AC-SHA384-1.14 {
19c0: 48 4d 41 43 5f 53 48 41 33 38 34 7d 20 5c 0a 09  HMAC_SHA384} \..
19d0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d  -constraints {HM
19e0: 41 43 20 53 48 41 33 38 34 20 7d 20 5c 0a 09 2d  AC SHA384 } \..-
19f0: 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64  setup {} \..-bod
1a00: 79 20 7b 73 74 72 69 6e 67 20 72 61 6e 67 65 20  y {string range 
1a10: 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78 20  [tls::hmac -hex 
1a20: 2d 64 69 67 65 73 74 20 53 48 41 33 38 34 20 2d  -digest SHA384 -
1a30: 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  key [binary deco
1a40: 64 65 20 68 65 78 20 61 61 61 61 61 61 61 61 61  de hex aaaaaaaaa
1a50: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1a60: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 5d  aaaaaaaaaaaaaaa]
1a70: 20 2d 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64   -data [binary d
1a80: 65 63 6f 64 65 20 68 65 78 20 64 64 64 64 64 64  ecode hex dddddd
1a90: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
1aa0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
1ab0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
1ac0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
1ad0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
1ae0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 5d 5d  dddddddddddddd]]
1af0: 20 30 20 39 35 7d 20 5c 0a 09 2d 6d 61 74 63 68   0 95} \..-match
1b00: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38   exact -result 8
1b10: 38 30 36 32 36 30 38 64 33 65 36 61 64 38 61 30  8062608d3e6ad8a0
1b20: 61 61 32 61 63 65 30 31 34 63 38 61 38 36 66 30  aa2ace014c8a86f0
1b30: 61 61 36 33 35 64 39 34 37 61 63 39 66 65 62 65  aa635d947ac9febe
1b40: 38 33 65 66 34 65 35 35 39 36 36 31 34 34 62 32  83ef4e55966144b2
1b50: 61 35 61 62 33 39 64 63 31 33 38 31 34 62 39 34  a5ab39dc13814b94
1b60: 65 33 61 62 36 65 31 30 31 61 33 34 66 32 37 0a  e3ab6e101a34f27.
1b70: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d  .tcltest::test M
1b80: 41 43 5f 48 4d 41 43 2d 53 48 41 33 38 34 2d 31  AC_HMAC-SHA384-1
1b90: 2e 31 35 20 7b 48 4d 41 43 5f 53 48 41 33 38 34  .15 {HMAC_SHA384
1ba0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
1bb0: 73 20 7b 48 4d 41 43 20 53 48 41 33 38 34 20 7d  s {HMAC SHA384 }
1bc0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a   \..-setup {} \.
1bd0: 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72  .-body {string r
1be0: 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20  ange [tls::hmac 
1bf0: 2d 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41  -hex -digest SHA
1c00: 33 38 34 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79  384 -key [binary
1c10: 20 64 65 63 6f 64 65 20 68 65 78 20 30 31 30 32   decode hex 0102
1c20: 30 33 30 34 30 35 30 36 30 37 30 38 30 39 30 61  030405060708090a
1c30: 30 62 30 63 30 64 30 65 30 66 31 30 31 31 31 32  0b0c0d0e0f101112
1c40: 31 33 31 34 31 35 31 36 31 37 31 38 31 39 5d 20  13141516171819] 
1c50: 2d 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65  -data [binary de
1c60: 63 6f 64 65 20 68 65 78 20 63 64 63 64 63 64 63  code hex cdcdcdc
1c70: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
1c80: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
1c90: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
1ca0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
1cb0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
1cc0: 64 63 64 63 64 63 64 63 64 63 64 63 64 5d 5d 20  dcdcdcdcdcdcd]] 
1cd0: 30 20 39 35 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  0 95} \..-match 
1ce0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33 65  exact -result 3e
1cf0: 38 61 36 39 62 37 37 38 33 63 32 35 38 35 31 39  8a69b7783c258519
1d00: 33 33 61 62 36 32 39 30 61 66 36 63 61 37 37 61  33ab6290af6ca77a
1d10: 39 39 38 31 34 38 30 38 35 30 30 30 39 63 63 35  9981480850009cc5
1d20: 35 37 37 63 36 65 31 66 35 37 33 62 34 65 36 38  577c6e1f573b4e68
1d30: 30 31 64 64 32 33 63 34 61 37 64 36 37 39 63 63  01dd23c4a7d679cc
1d40: 66 38 61 33 38 36 63 36 37 34 63 66 66 62 0a 0a  f8a386c674cffb..
1d50: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d 41  tcltest::test MA
1d60: 43 5f 48 4d 41 43 2d 53 48 41 33 38 34 2d 31 2e  C_HMAC-SHA384-1.
1d70: 31 36 20 7b 48 4d 41 43 5f 53 48 41 33 38 34 7d  16 {HMAC_SHA384}
1d80: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
1d90: 20 7b 48 4d 41 43 20 53 48 41 33 38 34 20 7d 20   {HMAC SHA384 } 
1da0: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09  \..-setup {} \..
1db0: 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61  -body {string ra
1dc0: 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d  nge [tls::hmac -
1dd0: 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 33  hex -digest SHA3
1de0: 38 34 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20  84 -key [binary 
1df0: 64 65 63 6f 64 65 20 68 65 78 20 30 63 30 63 30  decode hex 0c0c0
1e00: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
1e10: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
1e20: 63 30 63 5d 20 2d 64 61 74 61 20 22 54 65 73 74  c0c] -data "Test
1e30: 20 57 69 74 68 20 54 72 75 6e 63 61 74 69 6f 6e   With Truncation
1e40: 22 5d 20 30 20 33 31 7d 20 5c 0a 09 2d 6d 61 74  "] 0 31} \..-mat
1e50: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
1e60: 20 33 61 62 66 33 34 63 33 35 30 33 62 32 61 32   3abf34c3503b2a2
1e70: 33 61 34 36 65 66 63 36 31 39 62 61 65 66 38 39  3a46efc619baef89
1e80: 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  7..tcltest::test
1e90: 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41 33 38 34   MAC_HMAC-SHA384
1ea0: 2d 31 2e 31 37 20 7b 48 4d 41 43 5f 53 48 41 33  -1.17 {HMAC_SHA3
1eb0: 38 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  84} \..-constrai
1ec0: 6e 74 73 20 7b 48 4d 41 43 20 53 48 41 33 38 34  nts {HMAC SHA384
1ed0: 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20   } \..-setup {} 
1ee0: 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67  \..-body {string
1ef0: 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61   range [tls::hma
1f00: 63 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 53  c -hex -digest S
1f10: 48 41 33 38 34 20 2d 6b 65 79 20 5b 62 69 6e 61  HA384 -key [bina
1f20: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 61  ry decode hex aa
1f30: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1f40: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1f50: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1f60: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1f70: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1f80: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1f90: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1fa0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1fb0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1fc0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1fd0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1fe0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1ff0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2000: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2010: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2020: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2030: 61 61 61 61 5d 20 2d 64 61 74 61 20 22 54 65 73  aaaa] -data "Tes
2040: 74 20 55 73 69 6e 67 20 4c 61 72 67 65 72 20 54  t Using Larger T
2050: 68 61 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65 20 4b  han Block-Size K
2060: 65 79 20 2d 20 48 61 73 68 20 4b 65 79 20 46 69  ey - Hash Key Fi
2070: 72 73 74 22 5d 20 30 20 39 35 7d 20 5c 0a 09 2d  rst"] 0 95} \..-
2080: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
2090: 75 6c 74 20 34 65 63 65 30 38 34 34 38 35 38 31  ult 4ece08448581
20a0: 33 65 39 30 38 38 64 32 63 36 33 61 30 34 31 62  3e9088d2c63a041b
20b0: 63 35 62 34 34 66 39 65 66 31 30 31 32 61 32 62  c5b44f9ef1012a2b
20c0: 35 38 38 66 33 63 64 31 31 66 30 35 30 33 33 61  588f3cd11f05033a
20d0: 63 34 63 36 30 63 32 65 66 36 61 62 34 30 33 30  c4c60c2ef6ab4030
20e0: 66 65 38 32 39 36 32 34 38 64 66 31 36 33 66 34  fe8296248df163f4
20f0: 34 39 35 32 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  4952..tcltest::t
2100: 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41  est MAC_HMAC-SHA
2110: 33 38 34 2d 31 2e 31 38 20 7b 48 4d 41 43 5f 53  384-1.18 {HMAC_S
2120: 48 41 33 38 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74  HA384} \..-const
2130: 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 48 41  raints {HMAC SHA
2140: 33 38 34 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20  384 } \..-setup 
2150: 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72  {} \..-body {str
2160: 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a  ing range [tls::
2170: 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65 73  hmac -hex -diges
2180: 74 20 53 48 41 33 38 34 20 2d 6b 65 79 20 5b 62  t SHA384 -key [b
2190: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
21a0: 20 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61   aaaaaaaaaaaaaaa
21b0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
21c0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
21d0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
21e0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
21f0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2200: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2210: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2220: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2230: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2240: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2250: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2260: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2270: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2280: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
2290: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
22a0: 61 61 61 61 61 61 61 5d 20 2d 64 61 74 61 20 22  aaaaaaa] -data "
22b0: 54 68 69 73 20 69 73 20 61 20 74 65 73 74 20 75  This is a test u
22c0: 73 69 6e 67 20 61 20 6c 61 72 67 65 72 20 74 68  sing a larger th
22d0: 61 6e 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6b 65  an block-size ke
22e0: 79 20 61 6e 64 20 61 20 6c 61 72 67 65 72 20 74  y and a larger t
22f0: 68 61 6e 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 64  han block-size d
2300: 61 74 61 2e 20 54 68 65 20 6b 65 79 20 6e 65 65  ata. The key nee
2310: 64 73 20 74 6f 20 62 65 20 68 61 73 68 65 64 20  ds to be hashed 
2320: 62 65 66 6f 72 65 20 62 65 69 6e 67 20 75 73 65  before being use
2330: 64 20 62 79 20 74 68 65 20 48 4d 41 43 20 61 6c  d by the HMAC al
2340: 67 6f 72 69 74 68 6d 2e 22 5d 20 30 20 39 35 7d  gorithm."] 0 95}
2350: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
2360: 20 2d 72 65 73 75 6c 74 20 36 36 31 37 31 37 38   -result 6617178
2370: 65 39 34 31 66 30 32 30 64 33 35 31 65 32 66 32  e941f020d351e2f2
2380: 35 34 65 38 66 64 33 32 63 36 30 32 34 32 30 66  54e8fd32c602420f
2390: 65 62 30 62 38 66 62 39 61 64 63 63 65 62 62 38  eb0b8fb9adccebb8
23a0: 32 34 36 31 65 39 39 63 35 61 36 37 38 63 63 33  2461e99c5a678cc3
23b0: 31 65 37 39 39 31 37 36 64 33 38 36 30 65 36 31  1e799176d3860e61
23c0: 31 30 63 34 36 35 32 33 65 0a 0a 23 20 43 6c 65  10c46523e..# Cle
23d0: 61 6e 75 70 0a 3a 3a 74 63 6c 74 65 73 74 3a 3a  anup.::tcltest::
23e0: 63 6c 65 61 6e 75 70 54 65 73 74 73 0a 72 65 74  cleanupTests.ret
23f0: 75 72 6e 0a                                      urn.