Hex Artifact Content

Artifact 42a431f4b0bc5d4cf89f2b47285ea0029302f45c1eb6cb9698c3be0c13eaf7c5:


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 32   from "HMAC_SHA2
0020: 32 34 2e 74 78 74 22 0a 70 61 63 6b 61 67 65 20  24.txt".package 
0030: 72 65 71 75 69 72 65 20 74 6c 73 0a 70 61 63 6b  require tls.pack
0040: 61 67 65 20 72 65 71 75 69 72 65 20 74 63 6c 74  age require tclt
0050: 65 73 74 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  est..tcltest::te
0060: 73 74 43 6f 6e 73 74 72 61 69 6e 74 20 48 4d 41  stConstraint HMA
0070: 43 20 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72 63  C [expr {[lsearc
0080: 68 20 2d 6e 6f 63 61 73 65 20 5b 74 6c 73 3a 3a  h -nocase [tls::
0090: 6d 61 63 73 5d 20 48 4d 41 43 5d 20 3e 20 2d 31  macs] HMAC] > -1
00a0: 7d 5d 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  }].tcltest::test
00b0: 43 6f 6e 73 74 72 61 69 6e 74 20 53 48 41 32 32  Constraint SHA22
00c0: 34 20 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72 63  4 [expr {[lsearc
00d0: 68 20 2d 6e 6f 63 61 73 65 20 5b 74 6c 73 3a 3a  h -nocase [tls::
00e0: 64 69 67 65 73 74 73 5d 20 53 48 41 32 32 34 5d  digests] SHA224]
00f0: 20 3e 20 2d 31 7d 5d 0a 0a 74 63 6c 74 65 73 74   > -1}]..tcltest
0100: 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d  ::test MAC_HMAC-
0110: 53 48 41 32 32 34 2d 31 2e 31 20 7b 48 4d 41 43  SHA224-1.1 {HMAC
0120: 5f 53 48 41 32 32 34 7d 20 5c 0a 09 2d 63 6f 6e  _SHA224} \..-con
0130: 73 74 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53  straints {HMAC S
0140: 48 41 32 32 34 20 7d 20 5c 0a 09 2d 73 65 74 75  HA224 } \..-setu
0150: 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73  p {} \..-body {s
0160: 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73  tring range [tls
0170: 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67  ::hmac -hex -dig
0180: 65 73 74 20 53 48 41 32 32 34 20 2d 6b 65 79 20  est SHA224 -key 
0190: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
01a0: 65 78 20 30 30 30 31 30 32 30 33 30 34 30 35 30  ex 0001020304050
01b0: 36 30 37 30 38 30 39 30 61 30 62 30 63 30 64 30  60708090a0b0c0d0
01c0: 65 30 66 31 30 31 31 31 32 31 33 31 34 31 35 31  e0f1011121314151
01d0: 36 31 37 31 38 31 39 31 61 31 62 31 63 31 64 31  61718191a1b1c1d1
01e0: 65 31 66 32 30 32 31 32 32 32 33 32 34 32 35 32  e1f2021222324252
01f0: 36 32 37 32 38 32 39 32 61 32 62 32 63 32 64 32  62728292a2b2c2d2
0200: 65 32 66 33 30 33 31 33 32 33 33 33 34 33 35 33  e2f3031323334353
0210: 36 33 37 33 38 33 39 33 61 33 62 33 63 33 64 33  63738393a3b3c3d3
0220: 65 33 66 5d 20 2d 64 61 74 61 20 22 53 61 6d 70  e3f] -data "Samp
0230: 6c 65 20 6d 65 73 73 61 67 65 20 66 6f 72 20 6b  le message for k
0240: 65 79 6c 65 6e 3d 62 6c 6f 63 6b 6c 65 6e 22 5d  eylen=blocklen"]
0250: 20 30 20 35 35 7d 20 5c 0a 09 2d 6d 61 74 63 68   0 55} \..-match
0260: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 63   exact -result c
0270: 37 34 30 35 65 33 61 65 30 35 38 65 38 63 64 33  7405e3ae058e8cd3
0280: 30 62 30 38 62 34 31 34 30 32 34 38 35 38 31 65  0b08b4140248581e
0290: 64 31 37 34 63 62 33 34 65 31 32 32 34 62 63 63  d174cb34e1224bcc
02a0: 31 65 66 63 38 31 62 0a 0a 74 63 6c 74 65 73 74  1efc81b..tcltest
02b0: 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d  ::test MAC_HMAC-
02c0: 53 48 41 32 32 34 2d 31 2e 32 20 7b 48 4d 41 43  SHA224-1.2 {HMAC
02d0: 5f 53 48 41 32 32 34 7d 20 5c 0a 09 2d 63 6f 6e  _SHA224} \..-con
02e0: 73 74 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53  straints {HMAC S
02f0: 48 41 32 32 34 20 7d 20 5c 0a 09 2d 73 65 74 75  HA224 } \..-setu
0300: 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73  p {} \..-body {s
0310: 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73  tring range [tls
0320: 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67  ::hmac -hex -dig
0330: 65 73 74 20 53 48 41 32 32 34 20 2d 6b 65 79 20  est SHA224 -key 
0340: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
0350: 65 78 20 30 30 30 31 30 32 30 33 30 34 30 35 30  ex 0001020304050
0360: 36 30 37 30 38 30 39 30 61 30 62 30 63 30 64 30  60708090a0b0c0d0
0370: 65 30 66 31 30 31 31 31 32 31 33 31 34 31 35 31  e0f1011121314151
0380: 36 31 37 31 38 31 39 31 61 31 62 5d 20 2d 64 61  61718191a1b] -da
0390: 74 61 20 22 53 61 6d 70 6c 65 20 6d 65 73 73 61  ta "Sample messa
03a0: 67 65 20 66 6f 72 20 6b 65 79 6c 65 6e 3c 62 6c  ge for keylen<bl
03b0: 6f 63 6b 6c 65 6e 22 5d 20 30 20 35 35 7d 20 5c  ocklen"] 0 55} \
03c0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
03d0: 72 65 73 75 6c 74 20 65 33 64 32 34 39 61 38 63  result e3d249a8c
03e0: 66 62 36 37 65 66 38 62 37 61 31 36 39 65 39 61  fb67ef8b7a169e9a
03f0: 30 61 35 39 39 37 31 34 61 32 63 65 63 62 61 36  0a599714a2cecba6
0400: 35 39 39 39 61 35 31 62 65 62 38 66 62 62 65 0a  5999a51beb8fbbe.
0410: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d  .tcltest::test M
0420: 41 43 5f 48 4d 41 43 2d 53 48 41 32 32 34 2d 31  AC_HMAC-SHA224-1
0430: 2e 33 20 7b 48 4d 41 43 5f 53 48 41 32 32 34 7d  .3 {HMAC_SHA224}
0440: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
0450: 20 7b 48 4d 41 43 20 53 48 41 32 32 34 20 7d 20   {HMAC SHA224 } 
0460: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09  \..-setup {} \..
0470: 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61  -body {string ra
0480: 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d  nge [tls::hmac -
0490: 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 32  hex -digest SHA2
04a0: 32 34 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20  24 -key [binary 
04b0: 64 65 63 6f 64 65 20 68 65 78 20 30 30 30 31 30  decode hex 00010
04c0: 32 30 33 30 34 30 35 30 36 30 37 30 38 30 39 30  2030405060708090
04d0: 61 30 62 30 63 30 64 30 65 30 66 31 30 31 31 31  a0b0c0d0e0f10111
04e0: 32 31 33 31 34 31 35 31 36 31 37 31 38 31 39 31  2131415161718191
04f0: 61 31 62 31 63 31 64 31 65 31 66 32 30 32 31 32  a1b1c1d1e1f20212
0500: 32 32 33 32 34 32 35 32 36 32 37 32 38 32 39 32  2232425262728292
0510: 61 32 62 32 63 32 64 32 65 32 66 33 30 33 31 33  a2b2c2d2e2f30313
0520: 32 33 33 33 34 33 35 33 36 33 37 33 38 33 39 33  2333435363738393
0530: 61 33 62 33 63 33 64 33 65 33 66 34 30 34 31 34  a3b3c3d3e3f40414
0540: 32 34 33 34 34 34 35 34 36 34 37 34 38 34 39 34  2434445464748494
0550: 61 34 62 34 63 34 64 34 65 34 66 35 30 35 31 35  a4b4c4d4e4f50515
0560: 32 35 33 35 34 35 35 35 36 35 37 35 38 35 39 35  2535455565758595
0570: 61 35 62 35 63 35 64 35 65 35 66 36 30 36 31 36  a5b5c5d5e5f60616
0580: 32 36 33 5d 20 2d 64 61 74 61 20 22 53 61 6d 70  263] -data "Samp
0590: 6c 65 20 6d 65 73 73 61 67 65 20 66 6f 72 20 6b  le message for k
05a0: 65 79 6c 65 6e 3d 62 6c 6f 63 6b 6c 65 6e 22 5d  eylen=blocklen"]
05b0: 20 30 20 35 35 7d 20 5c 0a 09 2d 6d 61 74 63 68   0 55} \..-match
05c0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39   exact -result 9
05d0: 31 63 35 32 35 30 39 65 35 61 66 38 35 33 31 36  1c52509e5af85316
05e0: 30 31 61 65 36 32 33 30 30 39 39 64 39 30 62 65  01ae6230099d90be
05f0: 66 38 38 61 61 65 66 62 39 36 31 66 34 30 38 30  f88aaefb961f4080
0600: 61 62 63 30 31 34 64 0a 0a 74 63 6c 74 65 73 74  abc014d..tcltest
0610: 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d  ::test MAC_HMAC-
0620: 53 48 41 32 32 34 2d 31 2e 34 20 7b 48 4d 41 43  SHA224-1.4 {HMAC
0630: 5f 53 48 41 32 32 34 7d 20 5c 0a 09 2d 63 6f 6e  _SHA224} \..-con
0640: 73 74 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53  straints {HMAC S
0650: 48 41 32 32 34 20 7d 20 5c 0a 09 2d 73 65 74 75  HA224 } \..-setu
0660: 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73  p {} \..-body {s
0670: 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73  tring range [tls
0680: 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67  ::hmac -hex -dig
0690: 65 73 74 20 53 48 41 32 32 34 20 2d 6b 65 79 20  est SHA224 -key 
06a0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
06b0: 65 78 20 30 30 30 31 30 32 30 33 30 34 30 35 30  ex 0001020304050
06c0: 36 30 37 30 38 30 39 30 61 30 62 30 63 30 64 30  60708090a0b0c0d0
06d0: 65 30 66 31 30 31 31 31 32 31 33 31 34 31 35 31  e0f1011121314151
06e0: 36 31 37 31 38 31 39 31 61 31 62 31 63 31 64 31  61718191a1b1c1d1
06f0: 65 31 66 32 30 32 31 32 32 32 33 32 34 32 35 32  e1f2021222324252
0700: 36 32 37 32 38 32 39 32 61 32 62 32 63 32 64 32  62728292a2b2c2d2
0710: 65 32 66 33 30 5d 20 2d 64 61 74 61 20 22 53 61  e2f30] -data "Sa
0720: 6d 70 6c 65 20 6d 65 73 73 61 67 65 20 66 6f 72  mple message for
0730: 20 6b 65 79 6c 65 6e 3c 62 6c 6f 63 6b 6c 65 6e   keylen<blocklen
0740: 2c 20 77 69 74 68 20 74 72 75 6e 63 61 74 65 64  , with truncated
0750: 20 74 61 67 22 5d 20 30 20 33 31 7d 20 5c 0a 09   tag"] 0 31} \..
0760: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
0770: 73 75 6c 74 20 64 35 32 32 66 31 64 66 35 39 36  sult d522f1df596
0780: 63 61 34 62 34 62 31 63 32 33 64 32 37 62 64 65  ca4b4b1c23d27bde
0790: 30 36 37 64 36 0a 0a 74 63 6c 74 65 73 74 3a 3a  067d6..tcltest::
07a0: 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48  test MAC_HMAC-SH
07b0: 41 32 32 34 2d 31 2e 35 20 7b 48 4d 41 43 5f 53  A224-1.5 {HMAC_S
07c0: 48 41 32 32 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74  HA224} \..-const
07d0: 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 48 41  raints {HMAC SHA
07e0: 32 32 34 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20  224 } \..-setup 
07f0: 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72  {} \..-body {str
0800: 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a  ing range [tls::
0810: 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65 73  hmac -hex -diges
0820: 74 20 53 48 41 32 32 34 20 2d 6b 65 79 20 5b 62  t SHA224 -key [b
0830: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
0840: 20 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30   0b0b0b0b0b0b0b0
0850: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0860: 62 30 62 30 62 30 62 30 62 5d 20 2d 64 61 74 61  b0b0b0b0b] -data
0870: 20 22 48 69 20 54 68 65 72 65 22 5d 20 30 20 35   "Hi There"] 0 5
0880: 35 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  5} \..-match exa
0890: 63 74 20 2d 72 65 73 75 6c 74 20 38 39 36 66 62  ct -result 896fb
08a0: 31 31 32 38 61 62 62 64 66 31 39 36 38 33 32 31  1128abbdf1968321
08b0: 30 37 63 64 34 39 64 66 33 33 66 34 37 62 34 62  07cd49df33f47b4b
08c0: 31 31 36 39 39 31 32 62 61 34 66 35 33 36 38 34  1169912ba4f53684
08d0: 62 32 32 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  b22..tcltest::te
08e0: 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41 32  st MAC_HMAC-SHA2
08f0: 32 34 2d 31 2e 36 20 7b 48 4d 41 43 5f 53 48 41  24-1.6 {HMAC_SHA
0900: 32 32 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  224} \..-constra
0910: 69 6e 74 73 20 7b 48 4d 41 43 20 53 48 41 32 32  ints {HMAC SHA22
0920: 34 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d  4 } \..-setup {}
0930: 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e   \..-body {strin
0940: 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d  g range [tls::hm
0950: 61 63 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20  ac -hex -digest 
0960: 53 48 41 32 32 34 20 2d 6b 65 79 20 22 4a 65 66  SHA224 -key "Jef
0970: 65 22 20 2d 64 61 74 61 20 22 77 68 61 74 20 64  e" -data "what d
0980: 6f 20 79 61 20 77 61 6e 74 20 66 6f 72 20 6e 6f  o ya want for no
0990: 74 68 69 6e 67 3f 22 5d 20 30 20 35 35 7d 20 5c  thing?"] 0 55} \
09a0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
09b0: 72 65 73 75 6c 74 20 61 33 30 65 30 31 30 39 38  result a30e01098
09c0: 62 63 36 64 62 62 66 34 35 36 39 30 66 33 61 37  bc6dbbf45690f3a7
09d0: 65 39 65 36 64 30 66 38 62 62 65 61 32 61 33 39  e9e6d0f8bbea2a39
09e0: 65 36 31 34 38 30 30 38 66 64 30 35 65 34 34 0a  e6148008fd05e44.
09f0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d  .tcltest::test M
0a00: 41 43 5f 48 4d 41 43 2d 53 48 41 32 32 34 2d 31  AC_HMAC-SHA224-1
0a10: 2e 37 20 7b 48 4d 41 43 5f 53 48 41 32 32 34 7d  .7 {HMAC_SHA224}
0a20: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
0a30: 20 7b 48 4d 41 43 20 53 48 41 32 32 34 20 7d 20   {HMAC SHA224 } 
0a40: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09  \..-setup {} \..
0a50: 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61  -body {string ra
0a60: 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d  nge [tls::hmac -
0a70: 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 32  hex -digest SHA2
0a80: 32 34 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20  24 -key [binary 
0a90: 64 65 63 6f 64 65 20 68 65 78 20 61 61 61 61 61  decode hex aaaaa
0aa0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0ab0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0ac0: 61 61 61 5d 20 2d 64 61 74 61 20 5b 62 69 6e 61  aaa] -data [bina
0ad0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 64 64  ry decode hex dd
0ae0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0af0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0b00: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0b10: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0b20: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0b30: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0b40: 64 64 5d 5d 20 30 20 35 35 7d 20 5c 0a 09 2d 6d  dd]] 0 55} \..-m
0b50: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
0b60: 6c 74 20 37 66 62 33 63 62 33 35 38 38 63 36 63  lt 7fb3cb3588c6c
0b70: 31 66 36 66 66 61 39 36 39 34 64 37 64 36 61 64  1f6ffa9694d7d6ad
0b80: 32 36 34 39 33 36 35 62 30 63 31 66 36 35 64 36  2649365b0c1f65d6
0b90: 39 64 31 65 63 38 33 33 33 65 61 0a 0a 74 63 6c  9d1ec8333ea..tcl
0ba0: 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48  test::test MAC_H
0bb0: 4d 41 43 2d 53 48 41 32 32 34 2d 31 2e 38 20 7b  MAC-SHA224-1.8 {
0bc0: 48 4d 41 43 5f 53 48 41 32 32 34 7d 20 5c 0a 09  HMAC_SHA224} \..
0bd0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d  -constraints {HM
0be0: 41 43 20 53 48 41 32 32 34 20 7d 20 5c 0a 09 2d  AC SHA224 } \..-
0bf0: 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64  setup {} \..-bod
0c00: 79 20 7b 73 74 72 69 6e 67 20 72 61 6e 67 65 20  y {string range 
0c10: 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78 20  [tls::hmac -hex 
0c20: 2d 64 69 67 65 73 74 20 53 48 41 32 32 34 20 2d  -digest SHA224 -
0c30: 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  key [binary deco
0c40: 64 65 20 68 65 78 20 30 31 30 32 30 33 30 34 30  de hex 010203040
0c50: 35 30 36 30 37 30 38 30 39 30 61 30 62 30 63 30  5060708090a0b0c0
0c60: 64 30 65 30 66 31 30 31 31 31 32 31 33 31 34 31  d0e0f10111213141
0c70: 35 31 36 31 37 31 38 31 39 5d 20 2d 64 61 74 61  516171819] -data
0c80: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
0c90: 68 65 78 20 63 64 63 64 63 64 63 64 63 64 63 64  hex cdcdcdcdcdcd
0ca0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
0cb0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
0cc0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
0cd0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
0ce0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
0cf0: 63 64 63 64 63 64 63 64 5d 5d 20 30 20 35 35 7d  cdcdcdcd]] 0 55}
0d00: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
0d10: 20 2d 72 65 73 75 6c 74 20 36 63 31 31 35 30 36   -result 6c11506
0d20: 38 37 34 30 31 33 63 61 63 36 61 32 61 62 63 31  874013cac6a2abc1
0d30: 62 62 33 38 32 36 32 37 63 65 63 36 61 39 30 64  bb382627cec6a90d
0d40: 38 36 65 66 63 30 31 32 64 65 37 61 66 65 63 35  86efc012de7afec5
0d50: 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  a..tcltest::test
0d60: 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41 32 32 34   MAC_HMAC-SHA224
0d70: 2d 31 2e 39 20 7b 48 4d 41 43 5f 53 48 41 32 32  -1.9 {HMAC_SHA22
0d80: 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  4} \..-constrain
0d90: 74 73 20 7b 48 4d 41 43 20 53 48 41 32 32 34 20  ts {HMAC SHA224 
0da0: 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c  } \..-setup {} \
0db0: 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20  ..-body {string 
0dc0: 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63  range [tls::hmac
0dd0: 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 53 48   -hex -digest SH
0de0: 41 32 32 34 20 2d 6b 65 79 20 5b 62 69 6e 61 72  A224 -key [binar
0df0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 63 30  y decode hex 0c0
0e00: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
0e10: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
0e20: 63 30 63 30 63 5d 20 2d 64 61 74 61 20 22 54 65  c0c0c] -data "Te
0e30: 73 74 20 57 69 74 68 20 54 72 75 6e 63 61 74 69  st With Truncati
0e40: 6f 6e 22 5d 20 30 20 33 31 7d 20 5c 0a 09 2d 6d  on"] 0 31} \..-m
0e50: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
0e60: 6c 74 20 30 65 32 61 65 61 36 38 61 39 30 63 38  lt 0e2aea68a90c8
0e70: 64 33 37 63 39 38 38 62 63 64 62 39 66 63 61 36  d37c988bcdb9fca6
0e80: 66 61 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  fa8..tcltest::te
0e90: 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41 32  st MAC_HMAC-SHA2
0ea0: 32 34 2d 31 2e 31 30 20 7b 48 4d 41 43 5f 53 48  24-1.10 {HMAC_SH
0eb0: 41 32 32 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  A224} \..-constr
0ec0: 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 48 41 32  aints {HMAC SHA2
0ed0: 32 34 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b  24 } \..-setup {
0ee0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69  } \..-body {stri
0ef0: 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68  ng range [tls::h
0f00: 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65 73 74  mac -hex -digest
0f10: 20 53 48 41 32 32 34 20 2d 6b 65 79 20 5b 62 69   SHA224 -key [bi
0f20: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
0f30: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0f40: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0f50: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0f60: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0f70: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0f80: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0f90: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0fa0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0fb0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0fc0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0fd0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0fe0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0ff0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1000: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1010: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1020: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1030: 61 61 61 61 61 61 5d 20 2d 64 61 74 61 20 22 54  aaaaaa] -data "T
1040: 65 73 74 20 55 73 69 6e 67 20 4c 61 72 67 65 72  est Using Larger
1050: 20 54 68 61 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65   Than Block-Size
1060: 20 4b 65 79 20 2d 20 48 61 73 68 20 4b 65 79 20   Key - Hash Key 
1070: 46 69 72 73 74 22 5d 20 30 20 35 35 7d 20 5c 0a  First"] 0 55} \.
1080: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
1090: 65 73 75 6c 74 20 39 35 65 39 61 30 64 62 39 36  esult 95e9a0db96
10a0: 32 30 39 35 61 64 61 65 62 65 39 62 32 64 36 66  2095adaebe9b2d6f
10b0: 30 64 62 63 65 32 64 34 39 39 66 31 31 32 66 32  0dbce2d499f112f2
10c0: 64 32 62 37 32 37 33 66 61 36 38 37 30 65 0a 0a  d2b7273fa6870e..
10d0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d 41  tcltest::test MA
10e0: 43 5f 48 4d 41 43 2d 53 48 41 32 32 34 2d 31 2e  C_HMAC-SHA224-1.
10f0: 31 31 20 7b 48 4d 41 43 5f 53 48 41 32 32 34 7d  11 {HMAC_SHA224}
1100: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
1110: 20 7b 48 4d 41 43 20 53 48 41 32 32 34 20 7d 20   {HMAC SHA224 } 
1120: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09  \..-setup {} \..
1130: 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61  -body {string ra
1140: 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d  nge [tls::hmac -
1150: 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 32  hex -digest SHA2
1160: 32 34 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20  24 -key [binary 
1170: 64 65 63 6f 64 65 20 68 65 78 20 61 61 61 61 61  decode hex aaaaa
1180: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1190: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
11a0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
11b0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
11c0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
11d0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
11e0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
11f0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1200: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1210: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1220: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1230: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1240: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1250: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
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 5d 20 2d 64 61 74 61 20 22 54 68 69 73 20 69  a] -data "This i
1290: 73 20 61 20 74 65 73 74 20 75 73 69 6e 67 20 61  s a test using a
12a0: 20 6c 61 72 67 65 72 20 74 68 61 6e 20 62 6c 6f   larger than blo
12b0: 63 6b 2d 73 69 7a 65 20 6b 65 79 20 61 6e 64 20  ck-size key and 
12c0: 61 20 6c 61 72 67 65 72 20 74 68 61 6e 20 62 6c  a larger than bl
12d0: 6f 63 6b 2d 73 69 7a 65 20 64 61 74 61 2e 20 54  ock-size data. T
12e0: 68 65 20 6b 65 79 20 6e 65 65 64 73 20 74 6f 20  he key needs to 
12f0: 62 65 20 68 61 73 68 65 64 20 62 65 66 6f 72 65  be hashed before
1300: 20 62 65 69 6e 67 20 75 73 65 64 20 62 79 20 74   being used by t
1310: 68 65 20 48 4d 41 43 20 61 6c 67 6f 72 69 74 68  he HMAC algorith
1320: 6d 2e 22 5d 20 30 20 35 35 7d 20 5c 0a 09 2d 6d  m."] 0 55} \..-m
1330: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
1340: 6c 74 20 33 61 38 35 34 31 36 36 61 63 35 64 39  lt 3a854166ac5d9
1350: 66 30 32 33 66 35 34 64 35 31 37 64 30 62 33 39  f023f54d517d0b39
1360: 64 62 64 39 34 36 37 37 30 64 62 39 63 32 62 39  dbd946770db9c2b9
1370: 35 63 39 66 36 66 35 36 35 64 31 0a 0a 74 63 6c  5c9f6f565d1..tcl
1380: 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48  test::test MAC_H
1390: 4d 41 43 2d 53 48 41 32 32 34 2d 31 2e 31 32 20  MAC-SHA224-1.12 
13a0: 7b 48 4d 41 43 5f 53 48 41 32 32 34 7d 20 5c 0a  {HMAC_SHA224} \.
13b0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48  .-constraints {H
13c0: 4d 41 43 20 53 48 41 32 32 34 20 7d 20 5c 0a 09  MAC SHA224 } \..
13d0: 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f  -setup {} \..-bo
13e0: 64 79 20 7b 73 74 72 69 6e 67 20 72 61 6e 67 65  dy {string range
13f0: 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78   [tls::hmac -hex
1400: 20 2d 64 69 67 65 73 74 20 53 48 41 32 32 34 20   -digest SHA224 
1410: 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63  -key [binary dec
1420: 6f 64 65 20 68 65 78 20 30 62 30 62 30 62 30 62  ode hex 0b0b0b0b
1430: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62  0b0b0b0b0b0b0b0b
1440: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62  0b0b0b0b0b0b0b0b
1450: 5d 20 2d 64 61 74 61 20 22 48 69 20 54 68 65 72  ] -data "Hi Ther
1460: 65 22 5d 20 30 20 35 35 7d 20 5c 0a 09 2d 6d 61  e"] 0 55} \..-ma
1470: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
1480: 74 20 38 39 36 66 62 31 31 32 38 61 62 62 64 66  t 896fb1128abbdf
1490: 31 39 36 38 33 32 31 30 37 63 64 34 39 64 66 33  196832107cd49df3
14a0: 33 66 34 37 62 34 62 31 31 36 39 39 31 32 62 61  3f47b4b1169912ba
14b0: 34 66 35 33 36 38 34 62 32 32 0a 0a 74 63 6c 74  4f53684b22..tclt
14c0: 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d  est::test MAC_HM
14d0: 41 43 2d 53 48 41 32 32 34 2d 31 2e 31 33 20 7b  AC-SHA224-1.13 {
14e0: 48 4d 41 43 5f 53 48 41 32 32 34 7d 20 5c 0a 09  HMAC_SHA224} \..
14f0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d  -constraints {HM
1500: 41 43 20 53 48 41 32 32 34 20 7d 20 5c 0a 09 2d  AC SHA224 } \..-
1510: 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64  setup {} \..-bod
1520: 79 20 7b 73 74 72 69 6e 67 20 72 61 6e 67 65 20  y {string range 
1530: 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78 20  [tls::hmac -hex 
1540: 2d 64 69 67 65 73 74 20 53 48 41 32 32 34 20 2d  -digest SHA224 -
1550: 6b 65 79 20 22 4a 65 66 65 22 20 2d 64 61 74 61  key "Jefe" -data
1560: 20 22 77 68 61 74 20 64 6f 20 79 61 20 77 61 6e   "what do ya wan
1570: 74 20 66 6f 72 20 6e 6f 74 68 69 6e 67 3f 22 5d  t for nothing?"]
1580: 20 30 20 35 35 7d 20 5c 0a 09 2d 6d 61 74 63 68   0 55} \..-match
1590: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 61   exact -result a
15a0: 33 30 65 30 31 30 39 38 62 63 36 64 62 62 66 34  30e01098bc6dbbf4
15b0: 35 36 39 30 66 33 61 37 65 39 65 36 64 30 66 38  5690f3a7e9e6d0f8
15c0: 62 62 65 61 32 61 33 39 65 36 31 34 38 30 30 38  bbea2a39e6148008
15d0: 66 64 30 35 65 34 34 0a 0a 74 63 6c 74 65 73 74  fd05e44..tcltest
15e0: 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d  ::test MAC_HMAC-
15f0: 53 48 41 32 32 34 2d 31 2e 31 34 20 7b 48 4d 41  SHA224-1.14 {HMA
1600: 43 5f 53 48 41 32 32 34 7d 20 5c 0a 09 2d 63 6f  C_SHA224} \..-co
1610: 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d 41 43 20  nstraints {HMAC 
1620: 53 48 41 32 32 34 20 7d 20 5c 0a 09 2d 73 65 74  SHA224 } \..-set
1630: 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  up {} \..-body {
1640: 73 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c  string range [tl
1650: 73 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69  s::hmac -hex -di
1660: 67 65 73 74 20 53 48 41 32 32 34 20 2d 6b 65 79  gest SHA224 -key
1670: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
1680: 68 65 78 20 61 61 61 61 61 61 61 61 61 61 61 61  hex aaaaaaaaaaaa
1690: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
16a0: 61 61 61 61 61 61 61 61 61 61 61 61 5d 20 2d 64  aaaaaaaaaaaa] -d
16b0: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
16c0: 64 65 20 68 65 78 20 64 64 64 64 64 64 64 64 64  de hex ddddddddd
16d0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
16e0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
16f0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
1700: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
1710: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
1720: 64 64 64 64 64 64 64 64 64 64 64 5d 5d 20 30 20  ddddddddddd]] 0 
1730: 35 35 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  55} \..-match ex
1740: 61 63 74 20 2d 72 65 73 75 6c 74 20 37 66 62 33  act -result 7fb3
1750: 63 62 33 35 38 38 63 36 63 31 66 36 66 66 61 39  cb3588c6c1f6ffa9
1760: 36 39 34 64 37 64 36 61 64 32 36 34 39 33 36 35  694d7d6ad2649365
1770: 62 30 63 31 66 36 35 64 36 39 64 31 65 63 38 33  b0c1f65d69d1ec83
1780: 33 33 65 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  33ea..tcltest::t
1790: 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41  est MAC_HMAC-SHA
17a0: 32 32 34 2d 31 2e 31 35 20 7b 48 4d 41 43 5f 53  224-1.15 {HMAC_S
17b0: 48 41 32 32 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74  HA224} \..-const
17c0: 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 48 41  raints {HMAC SHA
17d0: 32 32 34 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20  224 } \..-setup 
17e0: 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72  {} \..-body {str
17f0: 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a  ing range [tls::
1800: 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65 73  hmac -hex -diges
1810: 74 20 53 48 41 32 32 34 20 2d 6b 65 79 20 5b 62  t SHA224 -key [b
1820: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
1830: 20 30 31 30 32 30 33 30 34 30 35 30 36 30 37 30   010203040506070
1840: 38 30 39 30 61 30 62 30 63 30 64 30 65 30 66 31  8090a0b0c0d0e0f1
1850: 30 31 31 31 32 31 33 31 34 31 35 31 36 31 37 31  0111213141516171
1860: 38 31 39 5d 20 2d 64 61 74 61 20 5b 62 69 6e 61  819] -data [bina
1870: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 63 64  ry decode hex cd
1880: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
1890: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
18a0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
18b0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
18c0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
18d0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
18e0: 63 64 5d 5d 20 30 20 35 35 7d 20 5c 0a 09 2d 6d  cd]] 0 55} \..-m
18f0: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
1900: 6c 74 20 36 63 31 31 35 30 36 38 37 34 30 31 33  lt 6c11506874013
1910: 63 61 63 36 61 32 61 62 63 31 62 62 33 38 32 36  cac6a2abc1bb3826
1920: 32 37 63 65 63 36 61 39 30 64 38 36 65 66 63 30  27cec6a90d86efc0
1930: 31 32 64 65 37 61 66 65 63 35 61 0a 0a 74 63 6c  12de7afec5a..tcl
1940: 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48  test::test MAC_H
1950: 4d 41 43 2d 53 48 41 32 32 34 2d 31 2e 31 36 20  MAC-SHA224-1.16 
1960: 7b 48 4d 41 43 5f 53 48 41 32 32 34 7d 20 5c 0a  {HMAC_SHA224} \.
1970: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48  .-constraints {H
1980: 4d 41 43 20 53 48 41 32 32 34 20 7d 20 5c 0a 09  MAC SHA224 } \..
1990: 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f  -setup {} \..-bo
19a0: 64 79 20 7b 73 74 72 69 6e 67 20 72 61 6e 67 65  dy {string range
19b0: 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78   [tls::hmac -hex
19c0: 20 2d 64 69 67 65 73 74 20 53 48 41 32 32 34 20   -digest SHA224 
19d0: 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63  -key [binary dec
19e0: 6f 64 65 20 68 65 78 20 30 63 30 63 30 63 30 63  ode hex 0c0c0c0c
19f0: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63  0c0c0c0c0c0c0c0c
1a00: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63  0c0c0c0c0c0c0c0c
1a10: 5d 20 2d 64 61 74 61 20 22 54 65 73 74 20 57 69  ] -data "Test Wi
1a20: 74 68 20 54 72 75 6e 63 61 74 69 6f 6e 22 5d 20  th Truncation"] 
1a30: 30 20 33 31 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  0 31} \..-match 
1a40: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30 65  exact -result 0e
1a50: 32 61 65 61 36 38 61 39 30 63 38 64 33 37 63 39  2aea68a90c8d37c9
1a60: 38 38 62 63 64 62 39 66 63 61 36 66 61 38 0a 0a  88bcdb9fca6fa8..
1a70: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d 41  tcltest::test MA
1a80: 43 5f 48 4d 41 43 2d 53 48 41 32 32 34 2d 31 2e  C_HMAC-SHA224-1.
1a90: 31 37 20 7b 48 4d 41 43 5f 53 48 41 32 32 34 7d  17 {HMAC_SHA224}
1aa0: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
1ab0: 20 7b 48 4d 41 43 20 53 48 41 32 32 34 20 7d 20   {HMAC SHA224 } 
1ac0: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09  \..-setup {} \..
1ad0: 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61  -body {string ra
1ae0: 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d  nge [tls::hmac -
1af0: 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 32  hex -digest SHA2
1b00: 32 34 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20  24 -key [binary 
1b10: 64 65 63 6f 64 65 20 68 65 78 20 61 61 61 61 61  decode hex aaaaa
1b20: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1b30: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1b40: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1b50: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1b60: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1b70: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1b80: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1b90: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1ba0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1bb0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1bc0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1bd0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1be0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1bf0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1c00: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1c10: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1c20: 61 5d 20 2d 64 61 74 61 20 22 54 65 73 74 20 55  a] -data "Test U
1c30: 73 69 6e 67 20 4c 61 72 67 65 72 20 54 68 61 6e  sing Larger Than
1c40: 20 42 6c 6f 63 6b 2d 53 69 7a 65 20 4b 65 79 20   Block-Size Key 
1c50: 2d 20 48 61 73 68 20 4b 65 79 20 46 69 72 73 74  - Hash Key First
1c60: 22 5d 20 30 20 35 35 7d 20 5c 0a 09 2d 6d 61 74  "] 0 55} \..-mat
1c70: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
1c80: 20 39 35 65 39 61 30 64 62 39 36 32 30 39 35 61   95e9a0db962095a
1c90: 64 61 65 62 65 39 62 32 64 36 66 30 64 62 63 65  daebe9b2d6f0dbce
1ca0: 32 64 34 39 39 66 31 31 32 66 32 64 32 62 37 32  2d499f112f2d2b72
1cb0: 37 33 66 61 36 38 37 30 65 0a 0a 74 63 6c 74 65  73fa6870e..tclte
1cc0: 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41  st::test MAC_HMA
1cd0: 43 2d 53 48 41 32 32 34 2d 31 2e 31 38 20 7b 48  C-SHA224-1.18 {H
1ce0: 4d 41 43 5f 53 48 41 32 32 34 7d 20 5c 0a 09 2d  MAC_SHA224} \..-
1cf0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d 41  constraints {HMA
1d00: 43 20 53 48 41 32 32 34 20 7d 20 5c 0a 09 2d 73  C SHA224 } \..-s
1d10: 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79  etup {} \..-body
1d20: 20 7b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 5b   {string range [
1d30: 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d  tls::hmac -hex -
1d40: 64 69 67 65 73 74 20 53 48 41 32 32 34 20 2d 6b  digest SHA224 -k
1d50: 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ey [binary decod
1d60: 65 20 68 65 78 20 61 61 61 61 61 61 61 61 61 61  e hex aaaaaaaaaa
1d70: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1d80: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1d90: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1da0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1db0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1dc0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1dd0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1de0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1df0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1e00: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1e10: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1e20: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1e30: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1e40: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1e50: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
1e60: 61 61 61 61 61 61 61 61 61 61 61 61 5d 20 2d 64  aaaaaaaaaaaa] -d
1e70: 61 74 61 20 22 54 68 69 73 20 69 73 20 61 20 74  ata "This is a t
1e80: 65 73 74 20 75 73 69 6e 67 20 61 20 6c 61 72 67  est using a larg
1e90: 65 72 20 74 68 61 6e 20 62 6c 6f 63 6b 2d 73 69  er than block-si
1ea0: 7a 65 20 6b 65 79 20 61 6e 64 20 61 20 6c 61 72  ze key and a lar
1eb0: 67 65 72 20 74 68 61 6e 20 62 6c 6f 63 6b 2d 73  ger than block-s
1ec0: 69 7a 65 20 64 61 74 61 2e 20 54 68 65 20 6b 65  ize data. The ke
1ed0: 79 20 6e 65 65 64 73 20 74 6f 20 62 65 20 68 61  y needs to be ha
1ee0: 73 68 65 64 20 62 65 66 6f 72 65 20 62 65 69 6e  shed before bein
1ef0: 67 20 75 73 65 64 20 62 79 20 74 68 65 20 48 4d  g used by the HM
1f00: 41 43 20 61 6c 67 6f 72 69 74 68 6d 2e 22 5d 20  AC algorithm."] 
1f10: 30 20 35 35 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  0 55} \..-match 
1f20: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33 61  exact -result 3a
1f30: 38 35 34 31 36 36 61 63 35 64 39 66 30 32 33 66  854166ac5d9f023f
1f40: 35 34 64 35 31 37 64 30 62 33 39 64 62 64 39 34  54d517d0b39dbd94
1f50: 36 37 37 30 64 62 39 63 32 62 39 35 63 39 66 36  6770db9c2b95c9f6
1f60: 66 35 36 35 64 31 0a 0a 23 20 43 6c 65 61 6e 75  f565d1..# Cleanu
1f70: 70 0a 3a 3a 74 63 6c 74 65 73 74 3a 3a 63 6c 65  p.::tcltest::cle
1f80: 61 6e 75 70 54 65 73 74 73 0a 72 65 74 75 72 6e  anupTests.return
1f90: 0a                                               .