Artifact
42297378ebefd5ba5f1e4275b9d9f51f59684ffb8784976baa39d7fc4a30e097:
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: 35 36 2e 74 78 74 22 0a 70 61 63 6b 61 67 65 20 56.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 35 Constraint SHA25
00c0: 36 20 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72 63 6 [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 35 36 5d digests] SHA256]
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 35 36 2d 31 2e 31 20 7b 48 4d 41 43 SHA256-1.1 {HMAC
0120: 5f 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e _SHA256} \..-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 35 36 20 7d 20 5c 0a 09 2d 73 65 74 75 HA256 } \..-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 35 36 20 2d 6b 65 79 20 est SHA256 -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 36 33 7d 20 5c 0a 09 2d 6d 61 74 63 68 0 63} \..-match
0260: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 exact -result 8
0270: 62 62 39 61 31 64 62 39 38 30 36 66 32 30 64 66 bb9a1db9806f20df
0280: 37 66 37 37 62 38 32 31 33 38 63 37 39 31 34 64 7f77b82138c7914d
0290: 31 37 34 64 35 39 65 31 33 64 63 34 64 30 31 36 174d59e13dc4d016
02a0: 39 63 39 30 35 37 62 31 33 33 65 31 64 36 32 0a 9c9057b133e1d62.
02b0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d .tcltest::test M
02c0: 41 43 5f 48 4d 41 43 2d 53 48 41 32 35 36 2d 31 AC_HMAC-SHA256-1
02d0: 2e 32 20 7b 48 4d 41 43 5f 53 48 41 32 35 36 7d .2 {HMAC_SHA256}
02e0: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 \..-constraints
02f0: 20 7b 48 4d 41 43 20 53 48 41 32 35 36 20 7d 20 {HMAC SHA256 }
0300: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 \..-setup {} \..
0310: 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61 -body {string ra
0320: 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d nge [tls::hmac -
0330: 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 32 hex -digest SHA2
0340: 35 36 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20 56 -key [binary
0350: 64 65 63 6f 64 65 20 68 65 78 20 30 30 30 31 30 decode hex 00010
0360: 32 30 33 30 34 30 35 30 36 30 37 30 38 30 39 30 2030405060708090
0370: 61 30 62 30 63 30 64 30 65 30 66 31 30 31 31 31 a0b0c0d0e0f10111
0380: 32 31 33 31 34 31 35 31 36 31 37 31 38 31 39 31 2131415161718191
0390: 61 31 62 31 63 31 64 31 65 31 66 5d 20 2d 64 61 a1b1c1d1e1f] -da
03a0: 74 61 20 22 53 61 6d 70 6c 65 20 6d 65 73 73 61 ta "Sample messa
03b0: 67 65 20 66 6f 72 20 6b 65 79 6c 65 6e 3c 62 6c ge for keylen<bl
03c0: 6f 63 6b 6c 65 6e 22 5d 20 30 20 36 33 7d 20 5c ocklen"] 0 63} \
03d0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d ..-match exact -
03e0: 72 65 73 75 6c 74 20 61 32 38 63 66 34 33 31 33 result a28cf4313
03f0: 30 65 65 36 39 36 61 39 38 66 31 34 61 33 37 36 0ee696a98f14a376
0400: 37 38 62 35 36 62 63 66 63 62 64 64 39 65 35 63 78b56bcfcbdd9e5c
0410: 66 36 39 37 31 37 66 65 63 66 35 34 38 30 66 30 f69717fecf5480f0
0420: 65 62 64 66 37 39 30 0a 0a 74 63 6c 74 65 73 74 ebdf790..tcltest
0430: 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d ::test MAC_HMAC-
0440: 53 48 41 32 35 36 2d 31 2e 33 20 7b 48 4d 41 43 SHA256-1.3 {HMAC
0450: 5f 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e _SHA256} \..-con
0460: 73 74 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 straints {HMAC S
0470: 48 41 32 35 36 20 7d 20 5c 0a 09 2d 73 65 74 75 HA256 } \..-setu
0480: 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 p {} \..-body {s
0490: 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 tring range [tls
04a0: 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 ::hmac -hex -dig
04b0: 65 73 74 20 53 48 41 32 35 36 20 2d 6b 65 79 20 est SHA256 -key
04c0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 [binary decode h
04d0: 65 78 20 30 30 30 31 30 32 30 33 30 34 30 35 30 ex 0001020304050
04e0: 36 30 37 30 38 30 39 30 61 30 62 30 63 30 64 30 60708090a0b0c0d0
04f0: 65 30 66 31 30 31 31 31 32 31 33 31 34 31 35 31 e0f1011121314151
0500: 36 31 37 31 38 31 39 31 61 31 62 31 63 31 64 31 61718191a1b1c1d1
0510: 65 31 66 32 30 32 31 32 32 32 33 32 34 32 35 32 e1f2021222324252
0520: 36 32 37 32 38 32 39 32 61 32 62 32 63 32 64 32 62728292a2b2c2d2
0530: 65 32 66 33 30 33 31 33 32 33 33 33 34 33 35 33 e2f3031323334353
0540: 36 33 37 33 38 33 39 33 61 33 62 33 63 33 64 33 63738393a3b3c3d3
0550: 65 33 66 34 30 34 31 34 32 34 33 34 34 34 35 34 e3f4041424344454
0560: 36 34 37 34 38 34 39 34 61 34 62 34 63 34 64 34 64748494a4b4c4d4
0570: 65 34 66 35 30 35 31 35 32 35 33 35 34 35 35 35 e4f5051525354555
0580: 36 35 37 35 38 35 39 35 61 35 62 35 63 35 64 35 65758595a5b5c5d5
0590: 65 35 66 36 30 36 31 36 32 36 33 5d 20 2d 64 61 e5f60616263] -da
05a0: 74 61 20 22 53 61 6d 70 6c 65 20 6d 65 73 73 61 ta "Sample messa
05b0: 67 65 20 66 6f 72 20 6b 65 79 6c 65 6e 3d 62 6c ge for keylen=bl
05c0: 6f 63 6b 6c 65 6e 22 5d 20 30 20 36 33 7d 20 5c ocklen"] 0 63} \
05d0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d ..-match exact -
05e0: 72 65 73 75 6c 74 20 62 64 63 63 62 36 63 37 32 result bdccb6c72
05f0: 64 64 65 61 64 62 35 30 30 61 65 37 36 38 33 38 ddeadb500ae76838
0600: 36 63 62 33 38 63 63 34 31 63 36 33 64 62 62 30 6cb38cc41c63dbb0
0610: 38 37 38 64 64 62 39 63 37 61 33 38 61 34 33 31 878ddb9c7a38a431
0620: 62 37 38 33 37 38 64 0a 0a 74 63 6c 74 65 73 74 b78378d..tcltest
0630: 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d ::test MAC_HMAC-
0640: 53 48 41 32 35 36 2d 31 2e 34 20 7b 48 4d 41 43 SHA256-1.4 {HMAC
0650: 5f 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e _SHA256} \..-con
0660: 73 74 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 straints {HMAC S
0670: 48 41 32 35 36 20 7d 20 5c 0a 09 2d 73 65 74 75 HA256 } \..-setu
0680: 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 p {} \..-body {s
0690: 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 tring range [tls
06a0: 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 ::hmac -hex -dig
06b0: 65 73 74 20 53 48 41 32 35 36 20 2d 6b 65 79 20 est SHA256 -key
06c0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 [binary decode h
06d0: 65 78 20 30 30 30 31 30 32 30 33 30 34 30 35 30 ex 0001020304050
06e0: 36 30 37 30 38 30 39 30 61 30 62 30 63 30 64 30 60708090a0b0c0d0
06f0: 65 30 66 31 30 31 31 31 32 31 33 31 34 31 35 31 e0f1011121314151
0700: 36 31 37 31 38 31 39 31 61 31 62 31 63 31 64 31 61718191a1b1c1d1
0710: 65 31 66 32 30 32 31 32 32 32 33 32 34 32 35 32 e1f2021222324252
0720: 36 32 37 32 38 32 39 32 61 32 62 32 63 32 64 32 62728292a2b2c2d2
0730: 65 32 66 33 30 5d 20 2d 64 61 74 61 20 22 53 61 e2f30] -data "Sa
0740: 6d 70 6c 65 20 6d 65 73 73 61 67 65 20 66 6f 72 mple message for
0750: 20 6b 65 79 6c 65 6e 3c 62 6c 6f 63 6b 6c 65 6e keylen<blocklen
0760: 2c 20 77 69 74 68 20 74 72 75 6e 63 61 74 65 64 , with truncated
0770: 20 74 61 67 22 5d 20 30 20 33 31 7d 20 5c 0a 09 tag"] 0 31} \..
0780: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 -match exact -re
0790: 73 75 6c 74 20 32 37 61 38 62 31 35 37 38 33 39 sult 27a8b157839
07a0: 65 66 65 61 63 39 38 64 66 30 37 30 62 33 33 31 efeac98df070b331
07b0: 64 35 39 33 36 0a 0a 74 63 6c 74 65 73 74 3a 3a d5936..tcltest::
07c0: 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 test MAC_HMAC-SH
07d0: 41 32 35 36 2d 31 2e 35 20 7b 48 4d 41 43 5f 53 A256-1.5 {HMAC_S
07e0: 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 HA256} \..-const
07f0: 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 48 41 raints {HMAC SHA
0800: 32 35 36 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 256 } \..-setup
0810: 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 {} \..-body {str
0820: 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a ing range [tls::
0830: 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65 73 hmac -hex -diges
0840: 74 20 53 48 41 32 35 36 20 2d 6b 65 79 20 5b 62 t SHA256 -key [b
0850: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 inary decode hex
0860: 20 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 0b0b0b0b0b0b0b0
0870: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 b0b0b0b0b0b0b0b0
0880: 62 30 62 30 62 30 62 30 62 5d 20 2d 64 61 74 61 b0b0b0b0b] -data
0890: 20 22 48 69 20 54 68 65 72 65 22 5d 20 30 20 36 "Hi There"] 0 6
08a0: 33 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 3} \..-match exa
08b0: 63 74 20 2d 72 65 73 75 6c 74 20 62 30 33 34 34 ct -result b0344
08c0: 63 36 31 64 38 64 62 33 38 35 33 35 63 61 38 61 c61d8db38535ca8a
08d0: 66 63 65 61 66 30 62 66 31 32 62 38 38 31 64 63 fceaf0bf12b881dc
08e0: 32 30 30 63 39 38 33 33 64 61 37 32 36 65 39 33 200c9833da726e93
08f0: 37 36 63 32 65 33 32 63 66 66 37 0a 0a 74 63 6c 76c2e32cff7..tcl
0900: 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 test::test MAC_H
0910: 4d 41 43 2d 53 48 41 32 35 36 2d 31 2e 36 20 7b MAC-SHA256-1.6 {
0920: 48 4d 41 43 5f 53 48 41 32 35 36 7d 20 5c 0a 09 HMAC_SHA256} \..
0930: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d -constraints {HM
0940: 41 43 20 53 48 41 32 35 36 20 7d 20 5c 0a 09 2d AC SHA256 } \..-
0950: 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 setup {} \..-bod
0960: 79 20 7b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 y {string range
0970: 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78 20 [tls::hmac -hex
0980: 2d 64 69 67 65 73 74 20 53 48 41 32 35 36 20 2d -digest SHA256 -
0990: 6b 65 79 20 22 4a 65 66 65 22 20 2d 64 61 74 61 key "Jefe" -data
09a0: 20 22 77 68 61 74 20 64 6f 20 79 61 20 77 61 6e "what do ya wan
09b0: 74 20 66 6f 72 20 6e 6f 74 68 69 6e 67 3f 22 5d t for nothing?"]
09c0: 20 30 20 36 33 7d 20 5c 0a 09 2d 6d 61 74 63 68 0 63} \..-match
09d0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 exact -result 5
09e0: 62 64 63 63 31 34 36 62 66 36 30 37 35 34 65 36 bdcc146bf60754e6
09f0: 61 30 34 32 34 32 36 30 38 39 35 37 35 63 37 35 a042426089575c75
0a00: 61 30 30 33 66 30 38 39 64 32 37 33 39 38 33 39 a003f089d2739839
0a10: 64 65 63 35 38 62 39 36 34 65 63 33 38 34 33 0a dec58b964ec3843.
0a20: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d .tcltest::test M
0a30: 41 43 5f 48 4d 41 43 2d 53 48 41 32 35 36 2d 31 AC_HMAC-SHA256-1
0a40: 2e 37 20 7b 48 4d 41 43 5f 53 48 41 32 35 36 7d .7 {HMAC_SHA256}
0a50: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 \..-constraints
0a60: 20 7b 48 4d 41 43 20 53 48 41 32 35 36 20 7d 20 {HMAC SHA256 }
0a70: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 \..-setup {} \..
0a80: 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61 -body {string ra
0a90: 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d nge [tls::hmac -
0aa0: 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 32 hex -digest SHA2
0ab0: 35 36 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20 56 -key [binary
0ac0: 64 65 63 6f 64 65 20 68 65 78 20 61 61 61 61 61 decode hex aaaaa
0ad0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0ae0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0af0: 61 61 61 5d 20 2d 64 61 74 61 20 5b 62 69 6e 61 aaa] -data [bina
0b00: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 64 64 ry decode hex dd
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 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0b50: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0b60: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0b70: 64 64 5d 5d 20 30 20 36 33 7d 20 5c 0a 09 2d 6d dd]] 0 63} \..-m
0b80: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 atch exact -resu
0b90: 6c 74 20 37 37 33 65 61 39 31 65 33 36 38 30 30 lt 773ea91e36800
0ba0: 65 34 36 38 35 34 64 62 38 65 62 64 30 39 31 38 e46854db8ebd0918
0bb0: 31 61 37 32 39 35 39 30 39 38 62 33 65 66 38 63 1a72959098b3ef8c
0bc0: 31 32 32 64 39 36 33 35 35 31 34 63 65 64 35 36 122d9635514ced56
0bd0: 35 66 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 5fe..tcltest::te
0be0: 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41 32 st MAC_HMAC-SHA2
0bf0: 35 36 2d 31 2e 38 20 7b 48 4d 41 43 5f 53 48 41 56-1.8 {HMAC_SHA
0c00: 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 256} \..-constra
0c10: 69 6e 74 73 20 7b 48 4d 41 43 20 53 48 41 32 35 ints {HMAC SHA25
0c20: 36 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 6 } \..-setup {}
0c30: 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e \..-body {strin
0c40: 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d g range [tls::hm
0c50: 61 63 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 ac -hex -digest
0c60: 53 48 41 32 35 36 20 2d 6b 65 79 20 5b 62 69 6e SHA256 -key [bin
0c70: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 ary decode hex 0
0c80: 31 30 32 30 33 30 34 30 35 30 36 30 37 30 38 30 1020304050607080
0c90: 39 30 61 30 62 30 63 30 64 30 65 30 66 31 30 31 90a0b0c0d0e0f101
0ca0: 31 31 32 31 33 31 34 31 35 31 36 31 37 31 38 31 1121314151617181
0cb0: 39 5d 20 2d 64 61 74 61 20 5b 62 69 6e 61 72 79 9] -data [binary
0cc0: 20 64 65 63 6f 64 65 20 68 65 78 20 63 64 63 64 decode hex cdcd
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 63 64 63 64 63 64 63 64 cdcdcdcdcdcdcdcd
0d00: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 cdcdcdcdcdcdcdcd
0d10: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 cdcdcdcdcdcdcdcd
0d20: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 cdcdcdcdcdcdcdcd
0d30: 5d 5d 20 30 20 36 33 7d 20 5c 0a 09 2d 6d 61 74 ]] 0 63} \..-mat
0d40: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 ch exact -result
0d50: 20 38 32 35 35 38 61 33 38 39 61 34 34 33 63 30 82558a389a443c0
0d60: 65 61 34 63 63 38 31 39 38 39 39 66 32 30 38 33 ea4cc819899f2083
0d70: 61 38 35 66 30 66 61 61 33 65 35 37 38 66 38 30 a85f0faa3e578f80
0d80: 37 37 61 32 65 33 66 66 34 36 37 32 39 36 36 35 77a2e3ff46729665
0d90: 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 b..tcltest::test
0da0: 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41 32 35 36 MAC_HMAC-SHA256
0db0: 2d 31 2e 39 20 7b 48 4d 41 43 5f 53 48 41 32 35 -1.9 {HMAC_SHA25
0dc0: 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 6} \..-constrain
0dd0: 74 73 20 7b 48 4d 41 43 20 53 48 41 32 35 36 20 ts {HMAC SHA256
0de0: 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c } \..-setup {} \
0df0: 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 ..-body {string
0e00: 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 range [tls::hmac
0e10: 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 -hex -digest SH
0e20: 41 32 35 36 20 2d 6b 65 79 20 5b 62 69 6e 61 72 A256 -key [binar
0e30: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 63 30 y decode hex 0c0
0e40: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 c0c0c0c0c0c0c0c0
0e50: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 c0c0c0c0c0c0c0c0
0e60: 63 30 63 30 63 5d 20 2d 64 61 74 61 20 22 54 65 c0c0c] -data "Te
0e70: 73 74 20 57 69 74 68 20 54 72 75 6e 63 61 74 69 st With Truncati
0e80: 6f 6e 22 5d 20 30 20 33 31 7d 20 5c 0a 09 2d 6d on"] 0 31} \..-m
0e90: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 atch exact -resu
0ea0: 6c 74 20 61 33 62 36 31 36 37 34 37 33 31 30 30 lt a3b6167473100
0eb0: 65 65 30 36 65 30 63 37 39 36 63 32 39 35 35 35 ee06e0c796c29555
0ec0: 35 32 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 52b..tcltest::te
0ed0: 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41 32 st MAC_HMAC-SHA2
0ee0: 35 36 2d 31 2e 31 30 20 7b 48 4d 41 43 5f 53 48 56-1.10 {HMAC_SH
0ef0: 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 A256} \..-constr
0f00: 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 48 41 32 aints {HMAC SHA2
0f10: 35 36 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 56 } \..-setup {
0f20: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69 } \..-body {stri
0f30: 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 ng range [tls::h
0f40: 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65 73 74 mac -hex -digest
0f50: 20 53 48 41 32 35 36 20 2d 6b 65 79 20 5b 62 69 SHA256 -key [bi
0f60: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 nary decode hex
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 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1040: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1050: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1060: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1070: 61 61 61 61 61 61 5d 20 2d 64 61 74 61 20 22 54 aaaaaa] -data "T
1080: 65 73 74 20 55 73 69 6e 67 20 4c 61 72 67 65 72 est Using Larger
1090: 20 54 68 61 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65 Than Block-Size
10a0: 20 4b 65 79 20 2d 20 48 61 73 68 20 4b 65 79 20 Key - Hash Key
10b0: 46 69 72 73 74 22 5d 20 30 20 36 33 7d 20 5c 0a First"] 0 63} \.
10c0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 .-match exact -r
10d0: 65 73 75 6c 74 20 36 30 65 34 33 31 35 39 31 65 esult 60e431591e
10e0: 65 30 62 36 37 66 30 64 38 61 32 36 61 61 63 62 e0b67f0d8a26aacb
10f0: 66 35 62 37 37 66 38 65 30 62 63 36 32 31 33 37 f5b77f8e0bc62137
1100: 32 38 63 35 31 34 30 35 34 36 30 34 30 66 30 65 28c5140546040f0e
1110: 65 33 37 66 35 34 0a 0a 74 63 6c 74 65 73 74 3a e37f54..tcltest:
1120: 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 :test MAC_HMAC-S
1130: 48 41 32 35 36 2d 31 2e 31 31 20 7b 48 4d 41 43 HA256-1.11 {HMAC
1140: 5f 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e _SHA256} \..-con
1150: 73 74 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 straints {HMAC S
1160: 48 41 32 35 36 20 7d 20 5c 0a 09 2d 73 65 74 75 HA256 } \..-setu
1170: 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 p {} \..-body {s
1180: 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 tring range [tls
1190: 3a 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 ::hmac -hex -dig
11a0: 65 73 74 20 53 48 41 32 35 36 20 2d 6b 65 79 20 est SHA256 -key
11b0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 [binary decode h
11c0: 65 78 20 61 61 61 61 61 61 61 61 61 61 61 61 61 ex aaaaaaaaaaaaa
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 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 5d 20 2d 64 61 74 61 aaaaaaaaa] -data
12d0: 20 22 54 68 69 73 20 69 73 20 61 20 74 65 73 74 "This is a test
12e0: 20 75 73 69 6e 67 20 61 20 6c 61 72 67 65 72 20 using a larger
12f0: 74 68 61 6e 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 than block-size
1300: 6b 65 79 20 61 6e 64 20 61 20 6c 61 72 67 65 72 key and a larger
1310: 20 74 68 61 6e 20 62 6c 6f 63 6b 2d 73 69 7a 65 than block-size
1320: 20 64 61 74 61 2e 20 54 68 65 20 6b 65 79 20 6e data. The key n
1330: 65 65 64 73 20 74 6f 20 62 65 20 68 61 73 68 65 eeds to be hashe
1340: 64 20 62 65 66 6f 72 65 20 62 65 69 6e 67 20 75 d before being u
1350: 73 65 64 20 62 79 20 74 68 65 20 48 4d 41 43 20 sed by the HMAC
1360: 61 6c 67 6f 72 69 74 68 6d 2e 22 5d 20 30 20 36 algorithm."] 0 6
1370: 33 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 3} \..-match exa
1380: 63 74 20 2d 72 65 73 75 6c 74 20 39 62 30 39 66 ct -result 9b09f
1390: 66 61 37 31 62 39 34 32 66 63 62 32 37 36 33 35 fa71b942fcb27635
13a0: 66 62 63 64 35 62 30 65 39 34 34 62 66 64 63 36 fbcd5b0e944bfdc6
13b0: 33 36 34 34 66 30 37 31 33 39 33 38 61 37 66 35 3644f0713938a7f5
13c0: 31 35 33 35 63 33 61 33 35 65 32 0a 0a 74 63 6c 1535c3a35e2..tcl
13d0: 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 test::test MAC_H
13e0: 4d 41 43 2d 53 48 41 32 35 36 2d 31 2e 31 32 20 MAC-SHA256-1.12
13f0: 7b 48 4d 41 43 5f 53 48 41 32 35 36 7d 20 5c 0a {HMAC_SHA256} \.
1400: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 .-constraints {H
1410: 4d 41 43 20 53 48 41 32 35 36 20 7d 20 5c 0a 09 MAC SHA256 } \..
1420: 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f -setup {} \..-bo
1430: 64 79 20 7b 73 74 72 69 6e 67 20 72 61 6e 67 65 dy {string range
1440: 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78 [tls::hmac -hex
1450: 20 2d 64 69 67 65 73 74 20 53 48 41 32 35 36 20 -digest SHA256
1460: 2d 6b 65 79 20 22 6b 65 79 22 20 2d 64 61 74 61 -key "key" -data
1470: 20 22 54 68 65 20 71 75 69 63 6b 20 62 72 6f 77 "The quick brow
1480: 6e 20 66 6f 78 20 6a 75 6d 70 73 20 6f 76 65 72 n fox jumps over
1490: 20 74 68 65 20 6c 61 7a 79 20 64 6f 67 22 5d 20 the lazy dog"]
14a0: 30 20 36 33 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 0 63} \..-match
14b0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66 37 exact -result f7
14c0: 62 63 38 33 66 34 33 30 35 33 38 34 32 34 62 31 bc83f430538424b1
14d0: 33 32 39 38 65 36 61 61 36 66 62 31 34 33 65 66 3298e6aa6fb143ef
14e0: 34 64 35 39 61 31 34 39 34 36 31 37 35 39 39 37 4d59a14946175997
14f0: 34 37 39 64 62 63 32 64 31 61 33 63 64 38 0a 0a 479dbc2d1a3cd8..
1500: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 tcltest::test MA
1510: 43 5f 48 4d 41 43 2d 53 48 41 32 35 36 2d 31 2e C_HMAC-SHA256-1.
1520: 31 33 20 7b 48 4d 41 43 5f 53 48 41 32 35 36 7d 13 {HMAC_SHA256}
1530: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 \..-constraints
1540: 20 7b 48 4d 41 43 20 53 48 41 32 35 36 20 7d 20 {HMAC SHA256 }
1550: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 \..-setup {} \..
1560: 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61 -body {string ra
1570: 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d nge [tls::hmac -
1580: 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 32 hex -digest SHA2
1590: 35 36 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20 56 -key [binary
15a0: 64 65 63 6f 64 65 20 68 65 78 20 30 62 30 62 30 decode hex 0b0b0
15b0: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 b0b0b0b0b0b0b0b0
15c0: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 b0b0b0b0b0b0b0b0
15d0: 62 30 62 5d 20 2d 64 61 74 61 20 22 48 69 20 54 b0b] -data "Hi T
15e0: 68 65 72 65 22 5d 20 30 20 36 33 7d 20 5c 0a 09 here"] 0 63} \..
15f0: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 -match exact -re
1600: 73 75 6c 74 20 62 30 33 34 34 63 36 31 64 38 64 sult b0344c61d8d
1610: 62 33 38 35 33 35 63 61 38 61 66 63 65 61 66 30 b38535ca8afceaf0
1620: 62 66 31 32 62 38 38 31 64 63 32 30 30 63 39 38 bf12b881dc200c98
1630: 33 33 64 61 37 32 36 65 39 33 37 36 63 32 65 33 33da726e9376c2e3
1640: 32 63 66 66 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 2cff7..tcltest::
1650: 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 test MAC_HMAC-SH
1660: 41 32 35 36 2d 31 2e 31 34 20 7b 48 4d 41 43 5f A256-1.14 {HMAC_
1670: 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73 SHA256} \..-cons
1680: 74 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 48 traints {HMAC SH
1690: 41 32 35 36 20 7d 20 5c 0a 09 2d 73 65 74 75 70 A256 } \..-setup
16a0: 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 {} \..-body {st
16b0: 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a ring range [tls:
16c0: 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65 :hmac -hex -dige
16d0: 73 74 20 53 48 41 32 35 36 20 2d 6b 65 79 20 22 st SHA256 -key "
16e0: 4a 65 66 65 22 20 2d 64 61 74 61 20 22 77 68 61 Jefe" -data "wha
16f0: 74 20 64 6f 20 79 61 20 77 61 6e 74 20 66 6f 72 t do ya want for
1700: 20 6e 6f 74 68 69 6e 67 3f 22 5d 20 30 20 36 33 nothing?"] 0 63
1710: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 } \..-match exac
1720: 74 20 2d 72 65 73 75 6c 74 20 35 62 64 63 63 31 t -result 5bdcc1
1730: 34 36 62 66 36 30 37 35 34 65 36 61 30 34 32 34 46bf60754e6a0424
1740: 32 36 30 38 39 35 37 35 63 37 35 61 30 30 33 66 26089575c75a003f
1750: 30 38 39 64 32 37 33 39 38 33 39 64 65 63 35 38 089d2739839dec58
1760: 62 39 36 34 65 63 33 38 34 33 0a 0a 74 63 6c 74 b964ec3843..tclt
1770: 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d est::test MAC_HM
1780: 41 43 2d 53 48 41 32 35 36 2d 31 2e 31 35 20 7b AC-SHA256-1.15 {
1790: 48 4d 41 43 5f 53 48 41 32 35 36 7d 20 5c 0a 09 HMAC_SHA256} \..
17a0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d -constraints {HM
17b0: 41 43 20 53 48 41 32 35 36 20 7d 20 5c 0a 09 2d AC SHA256 } \..-
17c0: 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 setup {} \..-bod
17d0: 79 20 7b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 y {string range
17e0: 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78 20 [tls::hmac -hex
17f0: 2d 64 69 67 65 73 74 20 53 48 41 32 35 36 20 2d -digest SHA256 -
1800: 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f key [binary deco
1810: 64 65 20 68 65 78 20 61 61 61 61 61 61 61 61 61 de hex aaaaaaaaa
1820: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1830: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 5d aaaaaaaaaaaaaaa]
1840: 20 2d 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 -data [binary d
1850: 65 63 6f 64 65 20 68 65 78 20 64 64 64 64 64 64 ecode hex dddddd
1860: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
1870: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
1880: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
1890: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
18a0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
18b0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 5d 5d dddddddddddddd]]
18c0: 20 30 20 36 33 7d 20 5c 0a 09 2d 6d 61 74 63 68 0 63} \..-match
18d0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37 exact -result 7
18e0: 37 33 65 61 39 31 65 33 36 38 30 30 65 34 36 38 73ea91e36800e468
18f0: 35 34 64 62 38 65 62 64 30 39 31 38 31 61 37 32 54db8ebd09181a72
1900: 39 35 39 30 39 38 62 33 65 66 38 63 31 32 32 64 959098b3ef8c122d
1910: 39 36 33 35 35 31 34 63 65 64 35 36 35 66 65 0a 9635514ced565fe.
1920: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d .tcltest::test M
1930: 41 43 5f 48 4d 41 43 2d 53 48 41 32 35 36 2d 31 AC_HMAC-SHA256-1
1940: 2e 31 36 20 7b 48 4d 41 43 5f 53 48 41 32 35 36 .16 {HMAC_SHA256
1950: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 } \..-constraint
1960: 73 20 7b 48 4d 41 43 20 53 48 41 32 35 36 20 7d s {HMAC SHA256 }
1970: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a \..-setup {} \.
1980: 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 .-body {string r
1990: 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 ange [tls::hmac
19a0: 2d 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 -hex -digest SHA
19b0: 32 35 36 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 256 -key [binary
19c0: 20 64 65 63 6f 64 65 20 68 65 78 20 30 31 30 32 decode hex 0102
19d0: 30 33 30 34 30 35 30 36 30 37 30 38 30 39 30 61 030405060708090a
19e0: 30 62 30 63 30 64 30 65 30 66 31 30 31 31 31 32 0b0c0d0e0f101112
19f0: 31 33 31 34 31 35 31 36 31 37 31 38 31 39 5d 20 13141516171819]
1a00: 2d 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 -data [binary de
1a10: 63 6f 64 65 20 68 65 78 20 63 64 63 64 63 64 63 code hex cdcdcdc
1a20: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1a30: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1a40: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1a50: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1a60: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1a70: 64 63 64 63 64 63 64 63 64 63 64 63 64 5d 5d 20 dcdcdcdcdcdcd]]
1a80: 30 20 36 33 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 0 63} \..-match
1a90: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 32 exact -result 82
1aa0: 35 35 38 61 33 38 39 61 34 34 33 63 30 65 61 34 558a389a443c0ea4
1ab0: 63 63 38 31 39 38 39 39 66 32 30 38 33 61 38 35 cc819899f2083a85
1ac0: 66 30 66 61 61 33 65 35 37 38 66 38 30 37 37 61 f0faa3e578f8077a
1ad0: 32 65 33 66 66 34 36 37 32 39 36 36 35 62 0a 0a 2e3ff46729665b..
1ae0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 tcltest::test MA
1af0: 43 5f 48 4d 41 43 2d 53 48 41 32 35 36 2d 31 2e C_HMAC-SHA256-1.
1b00: 31 37 20 7b 48 4d 41 43 5f 53 48 41 32 35 36 7d 17 {HMAC_SHA256}
1b10: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 \..-constraints
1b20: 20 7b 48 4d 41 43 20 53 48 41 32 35 36 20 7d 20 {HMAC SHA256 }
1b30: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 \..-setup {} \..
1b40: 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61 -body {string ra
1b50: 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d nge [tls::hmac -
1b60: 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 32 hex -digest SHA2
1b70: 35 36 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20 56 -key [binary
1b80: 64 65 63 6f 64 65 20 68 65 78 20 30 63 30 63 30 decode hex 0c0c0
1b90: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 c0c0c0c0c0c0c0c0
1ba0: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 c0c0c0c0c0c0c0c0
1bb0: 63 30 63 5d 20 2d 64 61 74 61 20 22 54 65 73 74 c0c] -data "Test
1bc0: 20 57 69 74 68 20 54 72 75 6e 63 61 74 69 6f 6e With Truncation
1bd0: 22 5d 20 30 20 33 31 7d 20 5c 0a 09 2d 6d 61 74 "] 0 31} \..-mat
1be0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 ch exact -result
1bf0: 20 61 33 62 36 31 36 37 34 37 33 31 30 30 65 65 a3b6167473100ee
1c00: 30 36 65 30 63 37 39 36 63 32 39 35 35 35 35 32 06e0c796c2955552
1c10: 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 b..tcltest::test
1c20: 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41 32 35 36 MAC_HMAC-SHA256
1c30: 2d 31 2e 31 38 20 7b 48 4d 41 43 5f 53 48 41 32 -1.18 {HMAC_SHA2
1c40: 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 56} \..-constrai
1c50: 6e 74 73 20 7b 48 4d 41 43 20 53 48 41 32 35 36 nts {HMAC SHA256
1c60: 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 } \..-setup {}
1c70: 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 \..-body {string
1c80: 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 range [tls::hma
1c90: 63 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 53 c -hex -digest S
1ca0: 48 41 32 35 36 20 2d 6b 65 79 20 5b 62 69 6e 61 HA256 -key [bina
1cb0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 61 ry decode hex aa
1cc0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1cd0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1ce0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1cf0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d00: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d10: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d20: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d30: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d40: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d50: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d60: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
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 5d 20 2d 64 61 74 61 20 22 54 65 73 aaaa] -data "Tes
1dd0: 74 20 55 73 69 6e 67 20 4c 61 72 67 65 72 20 54 t Using Larger T
1de0: 68 61 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65 20 4b han Block-Size K
1df0: 65 79 20 2d 20 48 61 73 68 20 4b 65 79 20 46 69 ey - Hash Key Fi
1e00: 72 73 74 22 5d 20 30 20 36 33 7d 20 5c 0a 09 2d rst"] 0 63} \..-
1e10: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 match exact -res
1e20: 75 6c 74 20 36 30 65 34 33 31 35 39 31 65 65 30 ult 60e431591ee0
1e30: 62 36 37 66 30 64 38 61 32 36 61 61 63 62 66 35 b67f0d8a26aacbf5
1e40: 62 37 37 66 38 65 30 62 63 36 32 31 33 37 32 38 b77f8e0bc6213728
1e50: 63 35 31 34 30 35 34 36 30 34 30 66 30 65 65 33 c5140546040f0ee3
1e60: 37 66 35 34 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 7f54..tcltest::t
1e70: 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 53 48 41 est MAC_HMAC-SHA
1e80: 32 35 36 2d 31 2e 31 39 20 7b 48 4d 41 43 5f 53 256-1.19 {HMAC_S
1e90: 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 HA256} \..-const
1ea0: 72 61 69 6e 74 73 20 7b 48 4d 41 43 20 53 48 41 raints {HMAC SHA
1eb0: 32 35 36 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 256 } \..-setup
1ec0: 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 {} \..-body {str
1ed0: 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a ing range [tls::
1ee0: 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65 73 hmac -hex -diges
1ef0: 74 20 53 48 41 32 35 36 20 2d 6b 65 79 20 5b 62 t SHA256 -key [b
1f00: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 inary decode hex
1f10: 20 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaa
1f20: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
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 5d 20 2d 64 61 74 61 20 22 aaaaaaa] -data "
2020: 54 68 69 73 20 69 73 20 61 20 74 65 73 74 20 75 This is a test u
2030: 73 69 6e 67 20 61 20 6c 61 72 67 65 72 20 74 68 sing a larger th
2040: 61 6e 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6b 65 an block-size ke
2050: 79 20 61 6e 64 20 61 20 6c 61 72 67 65 72 20 74 y and a larger t
2060: 68 61 6e 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 64 han block-size d
2070: 61 74 61 2e 20 54 68 65 20 6b 65 79 20 6e 65 65 ata. The key nee
2080: 64 73 20 74 6f 20 62 65 20 68 61 73 68 65 64 20 ds to be hashed
2090: 62 65 66 6f 72 65 20 62 65 69 6e 67 20 75 73 65 before being use
20a0: 64 20 62 79 20 74 68 65 20 48 4d 41 43 20 61 6c d by the HMAC al
20b0: 67 6f 72 69 74 68 6d 2e 22 5d 20 30 20 36 33 7d gorithm."] 0 63}
20c0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 \..-match exact
20d0: 20 2d 72 65 73 75 6c 74 20 39 62 30 39 66 66 61 -result 9b09ffa
20e0: 37 31 62 39 34 32 66 63 62 32 37 36 33 35 66 62 71b942fcb27635fb
20f0: 63 64 35 62 30 65 39 34 34 62 66 64 63 36 33 36 cd5b0e944bfdc636
2100: 34 34 66 30 37 31 33 39 33 38 61 37 66 35 31 35 44f0713938a7f515
2110: 33 35 63 33 61 33 35 65 32 0a 0a 23 20 43 6c 65 35c3a35e2..# Cle
2120: 61 6e 75 70 0a 3a 3a 74 63 6c 74 65 73 74 3a 3a anup.::tcltest::
2130: 63 6c 65 61 6e 75 70 54 65 73 74 73 0a 72 65 74 cleanupTests.ret
2140: 75 72 6e 0a urn.