Hex Artifact Content

Artifact 0f24bd78b29b731deaff91703d6e4d5676cbb2a460b34c50b53d457dc561bb2d:


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 4b 44 46 2d 53 48 41 31   from "HKDF-SHA1
0020: 2e 74 78 74 22 0a 6c 61 70 70 65 6e 64 20 61 75  .txt".lappend au
0030: 74 6f 5f 70 61 74 68 20 5b 66 69 6c 65 20 64 69  to_path [file di
0040: 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e  rname [file dirn
0050: 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d  ame [file dirnam
0060: 65 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20  e [file dirname 
0070: 5b 66 69 6c 65 20 6a 6f 69 6e 20 5b 70 77 64 5d  [file join [pwd]
0080: 20 5b 69 6e 66 6f 20 73 63 72 69 70 74 5d 5d 5d   [info script]]]
0090: 5d 5d 5d 0a 70 61 63 6b 61 67 65 20 72 65 71 75  ]]].package requ
00a0: 69 72 65 20 74 6c 73 0a 70 61 63 6b 61 67 65 20  ire tls.package 
00b0: 72 65 71 75 69 72 65 20 74 63 6c 74 65 73 74 0a  require tcltest.
00c0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 43 6f  .tcltest::testCo
00d0: 6e 73 74 72 61 69 6e 74 20 48 4b 44 46 20 5b 65  nstraint HKDF [e
00e0: 78 70 72 20 7b 5b 6c 73 65 61 72 63 68 20 2d 6e  xpr {[lsearch -n
00f0: 6f 63 61 73 65 20 5b 74 6c 73 3a 3a 6b 64 66 73  ocase [tls::kdfs
0100: 5d 20 48 4b 44 46 5d 20 3e 20 2d 31 7d 5d 0a 74  ] HKDF] > -1}].t
0110: 63 6c 74 65 73 74 3a 3a 74 65 73 74 43 6f 6e 73  cltest::testCons
0120: 74 72 61 69 6e 74 20 53 48 41 31 20 5b 65 78 70  traint SHA1 [exp
0130: 72 20 7b 5b 6c 73 65 61 72 63 68 20 2d 6e 6f 63  r {[lsearch -noc
0140: 61 73 65 20 5b 74 6c 73 3a 3a 64 69 67 65 73 74  ase [tls::digest
0150: 73 5d 20 53 48 41 31 5d 20 3e 20 2d 31 7d 5d 0a  s] SHA1] > -1}].
0160: 63 61 74 63 68 20 7b 74 6c 73 3a 3a 70 72 6f 76  catch {tls::prov
0170: 69 64 65 72 20 6c 65 67 61 63 79 7d 0a 0a 74 63  ider legacy}..tc
0180: 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b 44 46 5f  ltest::test KDF_
0190: 48 4b 44 46 2d 53 48 41 31 2d 31 2e 31 20 7b 48  HKDF-SHA1-1.1 {H
01a0: 4b 44 46 2d 53 48 41 31 7d 20 5c 0a 09 2d 63 6f  KDF-SHA1} \..-co
01b0: 6e 73 74 72 61 69 6e 74 73 20 7b 48 4b 44 46 20  nstraints {HKDF 
01c0: 53 48 41 31 7d 20 5c 0a 09 2d 73 65 74 75 70 20  SHA1} \..-setup 
01d0: 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e  {} \..-body {bin
01e0: 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b  ary encode hex [
01f0: 74 6c 73 3a 3a 68 6b 64 66 20 2d 64 69 67 65 73  tls::hkdf -diges
0200: 74 20 53 48 41 31 20 2d 6b 65 79 20 5b 62 69 6e  t SHA1 -key [bin
0210: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30  ary decode hex 0
0220: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0230: 62 30 62 30 62 5d 20 2d 69 6e 66 6f 20 5b 62 69  b0b0b] -info [bi
0240: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
0250: 66 30 66 31 66 32 66 33 66 34 66 35 66 36 66 37  f0f1f2f3f4f5f6f7
0260: 66 38 66 39 5d 20 2d 73 61 6c 74 20 5b 62 69 6e  f8f9] -salt [bin
0270: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30  ary decode hex 0
0280: 30 30 31 30 32 30 33 30 34 30 35 30 36 30 37 30  0010203040506070
0290: 38 30 39 30 61 30 62 30 63 5d 20 2d 73 69 7a 65  8090a0b0c] -size
02a0: 20 34 32 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68 20   42]} \..-match 
02b0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30 38  exact -result 08
02c0: 35 61 30 31 65 61 31 62 31 30 66 33 36 39 33 33  5a01ea1b10f36933
02d0: 30 36 38 62 35 36 65 66 61 35 61 64 38 31 61 34  068b56efa5ad81a4
02e0: 66 31 34 62 38 32 32 66 35 62 30 39 31 35 36 38  f14b822f5b091568
02f0: 61 39 63 64 64 34 66 31 35 35 66 64 61 32 63 32  a9cdd4f155fda2c2
0300: 32 65 34 32 32 34 37 38 64 33 30 35 66 33 66 38  2e422478d305f3f8
0310: 39 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  96..tcltest::tes
0320: 74 20 4b 44 46 5f 48 4b 44 46 2d 53 48 41 31 2d  t KDF_HKDF-SHA1-
0330: 31 2e 32 20 7b 48 4b 44 46 2d 53 48 41 31 7d 20  1.2 {HKDF-SHA1} 
0340: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
0350: 7b 48 4b 44 46 20 53 48 41 31 7d 20 5c 0a 09 2d  {HKDF SHA1} \..-
0360: 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64  setup {} \..-bod
0370: 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f 64 65  y {binary encode
0380: 20 68 65 78 20 5b 74 6c 73 3a 3a 68 6b 64 66 20   hex [tls::hkdf 
0390: 2d 64 69 67 65 73 74 20 53 48 41 31 20 2d 6b 65  -digest SHA1 -ke
03a0: 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  y [binary decode
03b0: 20 68 65 78 20 30 30 30 31 30 32 30 33 30 34 30   hex 00010203040
03c0: 35 30 36 30 37 30 38 30 39 30 61 30 62 30 63 30  5060708090a0b0c0
03d0: 64 30 65 30 66 31 30 31 31 31 32 31 33 31 34 31  d0e0f10111213141
03e0: 35 31 36 31 37 31 38 31 39 31 61 31 62 31 63 31  5161718191a1b1c1
03f0: 64 31 65 31 66 32 30 32 31 32 32 32 33 32 34 32  d1e1f20212223242
0400: 35 32 36 32 37 32 38 32 39 32 61 32 62 32 63 32  5262728292a2b2c2
0410: 64 32 65 32 66 33 30 33 31 33 32 33 33 33 34 33  d2e2f30313233343
0420: 35 33 36 33 37 33 38 33 39 33 61 33 62 33 63 33  5363738393a3b3c3
0430: 64 33 65 33 66 34 30 34 31 34 32 34 33 34 34 34  d3e3f40414243444
0440: 35 34 36 34 37 34 38 34 39 34 61 34 62 34 63 34  5464748494a4b4c4
0450: 64 34 65 34 66 5d 20 2d 69 6e 66 6f 20 5b 62 69  d4e4f] -info [bi
0460: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
0470: 62 30 62 31 62 32 62 33 62 34 62 35 62 36 62 37  b0b1b2b3b4b5b6b7
0480: 62 38 62 39 62 61 62 62 62 63 62 64 62 65 62 66  b8b9babbbcbdbebf
0490: 63 30 63 31 63 32 63 33 63 34 63 35 63 36 63 37  c0c1c2c3c4c5c6c7
04a0: 63 38 63 39 63 61 63 62 63 63 63 64 63 65 63 66  c8c9cacbcccdcecf
04b0: 64 30 64 31 64 32 64 33 64 34 64 35 64 36 64 37  d0d1d2d3d4d5d6d7
04c0: 64 38 64 39 64 61 64 62 64 63 64 64 64 65 64 66  d8d9dadbdcdddedf
04d0: 65 30 65 31 65 32 65 33 65 34 65 35 65 36 65 37  e0e1e2e3e4e5e6e7
04e0: 65 38 65 39 65 61 65 62 65 63 65 64 65 65 65 66  e8e9eaebecedeeef
04f0: 66 30 66 31 66 32 66 33 66 34 66 35 66 36 66 37  f0f1f2f3f4f5f6f7
0500: 66 38 66 39 66 61 66 62 66 63 66 64 66 65 66 66  f8f9fafbfcfdfeff
0510: 5d 20 2d 73 61 6c 74 20 5b 62 69 6e 61 72 79 20  ] -salt [binary 
0520: 64 65 63 6f 64 65 20 68 65 78 20 36 30 36 31 36  decode hex 60616
0530: 32 36 33 36 34 36 35 36 36 36 37 36 38 36 39 36  2636465666768696
0540: 61 36 62 36 63 36 64 36 65 36 66 37 30 37 31 37  a6b6c6d6e6f70717
0550: 32 37 33 37 34 37 35 37 36 37 37 37 38 37 39 37  2737475767778797
0560: 61 37 62 37 63 37 64 37 65 37 66 38 30 38 31 38  a7b7c7d7e7f80818
0570: 32 38 33 38 34 38 35 38 36 38 37 38 38 38 39 38  2838485868788898
0580: 61 38 62 38 63 38 64 38 65 38 66 39 30 39 31 39  a8b8c8d8e8f90919
0590: 32 39 33 39 34 39 35 39 36 39 37 39 38 39 39 39  2939495969798999
05a0: 61 39 62 39 63 39 64 39 65 39 66 61 30 61 31 61  a9b9c9d9e9fa0a1a
05b0: 32 61 33 61 34 61 35 61 36 61 37 61 38 61 39 61  2a3a4a5a6a7a8a9a
05c0: 61 61 62 61 63 61 64 61 65 61 66 5d 20 2d 73 69  aabacadaeaf] -si
05d0: 7a 65 20 38 32 5d 7d 20 5c 0a 09 2d 6d 61 74 63  ze 82]} \..-matc
05e0: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
05f0: 30 62 64 37 37 30 61 37 34 64 31 31 36 30 66 37  0bd770a74d1160f7
0600: 63 39 66 31 32 63 64 35 39 31 32 61 30 36 65 62  c9f12cd5912a06eb
0610: 66 66 36 61 64 63 61 65 38 39 39 64 39 32 31 39  ff6adcae899d9219
0620: 31 66 65 34 33 30 35 36 37 33 62 61 32 66 66 65  1fe4305673ba2ffe
0630: 38 66 61 33 66 31 61 34 65 35 61 64 37 39 66 33  8fa3f1a4e5ad79f3
0640: 66 33 33 34 62 33 62 32 30 32 62 32 31 37 33 63  f334b3b202b2173c
0650: 34 38 36 65 61 33 37 63 65 33 64 33 39 37 65 64  486ea37ce3d397ed
0660: 30 33 34 63 37 66 39 64 66 65 62 31 35 63 35 65  034c7f9dfeb15c5e
0670: 39 32 37 33 33 36 64 30 34 34 31 66 34 63 34 33  927336d0441f4c43
0680: 30 30 65 32 63 66 66 30 64 30 39 30 30 62 35 32  00e2cff0d0900b52
0690: 64 33 62 34 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  d3b4..tcltest::t
06a0: 65 73 74 20 4b 44 46 5f 48 4b 44 46 2d 53 48 41  est KDF_HKDF-SHA
06b0: 31 2d 31 2e 33 20 7b 48 4b 44 46 2d 53 48 41 31  1-1.3 {HKDF-SHA1
06c0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
06d0: 73 20 7b 48 4b 44 46 20 53 48 41 31 7d 20 5c 0a  s {HKDF SHA1} \.
06e0: 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62  .-setup {} \..-b
06f0: 6f 64 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f  ody {binary enco
0700: 64 65 20 68 65 78 20 5b 74 6c 73 3a 3a 68 6b 64  de hex [tls::hkd
0710: 66 20 2d 64 69 67 65 73 74 20 53 48 41 31 20 2d  f -digest SHA1 -
0720: 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  key [binary deco
0730: 64 65 20 68 65 78 20 30 62 30 62 30 62 30 62 30  de hex 0b0b0b0b0
0740: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0750: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0760: 62 30 62 5d 20 2d 73 69 7a 65 20 34 32 5d 7d 20  b0b] -size 42]} 
0770: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
0780: 2d 72 65 73 75 6c 74 20 30 61 63 31 61 66 37 30  -result 0ac1af70
0790: 30 32 62 33 64 37 36 31 64 31 65 35 35 32 39 38  02b3d761d1e55298
07a0: 64 61 39 64 30 35 30 36 62 39 61 65 35 32 30 35  da9d0506b9ae5205
07b0: 37 32 32 30 61 33 30 36 65 30 37 62 36 62 38 37  7220a306e07b6b87
07c0: 65 38 64 66 32 31 64 30 65 61 30 30 30 33 33 64  e8df21d0ea00033d
07d0: 65 30 33 39 38 34 64 33 34 39 31 38 0a 0a 74 63  e03984d34918..tc
07e0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b 44 46 5f  ltest::test KDF_
07f0: 48 4b 44 46 2d 53 48 41 31 2d 31 2e 34 20 7b 48  HKDF-SHA1-1.4 {H
0800: 4b 44 46 2d 53 48 41 31 7d 20 5c 0a 09 2d 63 6f  KDF-SHA1} \..-co
0810: 6e 73 74 72 61 69 6e 74 73 20 7b 48 4b 44 46 20  nstraints {HKDF 
0820: 53 48 41 31 7d 20 5c 0a 09 2d 73 65 74 75 70 20  SHA1} \..-setup 
0830: 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e  {} \..-body {bin
0840: 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b  ary encode hex [
0850: 74 6c 73 3a 3a 68 6b 64 66 20 2d 64 69 67 65 73  tls::hkdf -diges
0860: 74 20 53 48 41 31 20 2d 6b 65 79 20 5b 62 69 6e  t SHA1 -key [bin
0870: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30  ary decode hex 0
0880: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
0890: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
08a0: 63 30 63 30 63 30 63 30 63 30 63 5d 20 2d 73 69  c0c0c0c0c0c] -si
08b0: 7a 65 20 34 32 5d 7d 20 5c 0a 09 2d 6d 61 74 63  ze 42]} \..-matc
08c0: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
08d0: 32 63 39 31 31 31 37 32 30 34 64 37 34 35 66 33  2c91117204d745f3
08e0: 35 30 30 64 36 33 36 61 36 32 66 36 34 66 30 61  500d636a62f64f0a
08f0: 62 33 62 61 65 35 34 38 61 61 35 33 64 34 32 33  b3bae548aa53d423
0900: 62 30 64 31 66 32 37 65 62 62 61 36 66 35 65 35  b0d1f27ebba6f5e5
0910: 36 37 33 61 30 38 31 64 37 30 63 63 65 37 61 63  673a081d70cce7ac
0920: 66 63 34 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  fc48..tcltest::t
0930: 65 73 74 20 4b 44 46 5f 48 4b 44 46 2d 53 48 41  est KDF_HKDF-SHA
0940: 31 2d 31 2e 35 20 7b 48 4b 44 46 2d 53 48 41 31  1-1.5 {HKDF-SHA1
0950: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
0960: 73 20 7b 48 4b 44 46 20 53 48 41 31 7d 20 5c 0a  s {HKDF SHA1} \.
0970: 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62  .-setup {} \..-b
0980: 6f 64 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f  ody {binary enco
0990: 64 65 20 68 65 78 20 5b 74 6c 73 3a 3a 68 6b 64  de hex [tls::hkd
09a0: 66 20 2d 64 69 67 65 73 74 20 53 48 41 31 20 2d  f -digest SHA1 -
09b0: 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  key [binary deco
09c0: 64 65 20 68 65 78 20 30 62 30 62 30 62 30 62 30  de hex 0b0b0b0b0
09d0: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
09e0: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
09f0: 62 30 62 5d 20 2d 69 6e 66 6f 20 5b 62 69 6e 61  b0b] -info [bina
0a00: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 30  ry decode hex f0
0a10: 66 31 66 32 66 33 66 34 66 35 66 36 66 37 66 38  f1f2f3f4f5f6f7f8
0a20: 66 39 5d 20 2d 73 61 6c 74 20 5b 62 69 6e 61 72  f9] -salt [binar
0a30: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 30 30  y decode hex 000
0a40: 31 30 32 30 33 30 34 30 35 30 36 30 37 30 38 30  1020304050607080
0a50: 39 30 61 30 62 30 63 5d 20 2d 73 69 7a 65 20 34  90a0b0c] -size 4
0a60: 32 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  2]} \..-match ex
0a70: 61 63 74 20 2d 72 65 73 75 6c 74 20 64 36 30 30  act -result d600
0a80: 30 66 66 62 35 62 35 30 62 64 33 39 37 30 62 32  0ffb5b50bd3970b2
0a90: 36 30 30 31 37 37 39 38 66 62 39 63 38 64 66 39  60017798fb9c8df9
0aa0: 63 65 32 65 32 63 31 36 62 36 63 64 37 30 39 63  ce2e2c16b6cd709c
0ab0: 63 61 30 37 64 63 33 63 66 39 63 66 32 36 64 36  ca07dc3cf9cf26d6
0ac0: 63 36 64 37 35 30 64 30 61 61 66 35 61 63 39 34  c6d750d0aaf5ac94
0ad0: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
0ae0: 4b 44 46 5f 48 4b 44 46 2d 53 48 41 31 2d 31 2e  KDF_HKDF-SHA1-1.
0af0: 36 20 7b 48 4b 44 46 2d 53 48 41 31 7d 20 5c 0a  6 {HKDF-SHA1} \.
0b00: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48  .-constraints {H
0b10: 4b 44 46 20 53 48 41 31 7d 20 5c 0a 09 2d 73 65  KDF SHA1} \..-se
0b20: 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20  tup {} \..-body 
0b30: 7b 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68  {binary encode h
0b40: 65 78 20 5b 74 6c 73 3a 3a 68 6b 64 66 20 2d 64  ex [tls::hkdf -d
0b50: 69 67 65 73 74 20 53 48 41 31 20 2d 6b 65 79 20  igest SHA1 -key 
0b60: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
0b70: 65 78 20 30 30 30 31 30 32 30 33 30 34 30 35 30  ex 0001020304050
0b80: 36 30 37 30 38 30 39 30 61 30 62 30 63 30 64 30  60708090a0b0c0d0
0b90: 65 30 66 31 30 31 31 31 32 31 33 31 34 31 35 31  e0f1011121314151
0ba0: 36 31 37 31 38 31 39 31 61 31 62 31 63 31 64 31  61718191a1b1c1d1
0bb0: 65 31 66 32 30 32 31 32 32 32 33 32 34 32 35 32  e1f2021222324252
0bc0: 36 32 37 32 38 32 39 32 61 32 62 32 63 32 64 32  62728292a2b2c2d2
0bd0: 65 32 66 33 30 33 31 33 32 33 33 33 34 33 35 33  e2f3031323334353
0be0: 36 33 37 33 38 33 39 33 61 33 62 33 63 33 64 33  63738393a3b3c3d3
0bf0: 65 33 66 34 30 34 31 34 32 34 33 34 34 34 35 34  e3f4041424344454
0c00: 36 34 37 34 38 34 39 34 61 34 62 34 63 34 64 34  64748494a4b4c4d4
0c10: 65 34 66 5d 20 2d 69 6e 66 6f 20 5b 62 69 6e 61  e4f] -info [bina
0c20: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 62 30  ry decode hex b0
0c30: 62 31 62 32 62 33 62 34 62 35 62 36 62 37 62 38  b1b2b3b4b5b6b7b8
0c40: 62 39 62 61 62 62 62 63 62 64 62 65 62 66 63 30  b9babbbcbdbebfc0
0c50: 63 31 63 32 63 33 63 34 63 35 63 36 63 37 63 38  c1c2c3c4c5c6c7c8
0c60: 63 39 63 61 63 62 63 63 63 64 63 65 63 66 64 30  c9cacbcccdcecfd0
0c70: 64 31 64 32 64 33 64 34 64 35 64 36 64 37 64 38  d1d2d3d4d5d6d7d8
0c80: 64 39 64 61 64 62 64 63 64 64 64 65 64 66 65 30  d9dadbdcdddedfe0
0c90: 65 31 65 32 65 33 65 34 65 35 65 36 65 37 65 38  e1e2e3e4e5e6e7e8
0ca0: 65 39 65 61 65 62 65 63 65 64 65 65 65 66 66 30  e9eaebecedeeeff0
0cb0: 66 31 66 32 66 33 66 34 66 35 66 36 66 37 66 38  f1f2f3f4f5f6f7f8
0cc0: 66 39 66 61 66 62 66 63 66 64 66 65 66 66 5d 20  f9fafbfcfdfeff] 
0cd0: 2d 73 61 6c 74 20 5b 62 69 6e 61 72 79 20 64 65  -salt [binary de
0ce0: 63 6f 64 65 20 68 65 78 20 36 30 36 31 36 32 36  code hex 6061626
0cf0: 33 36 34 36 35 36 36 36 37 36 38 36 39 36 61 36  36465666768696a6
0d00: 62 36 63 36 64 36 65 36 66 37 30 37 31 37 32 37  b6c6d6e6f7071727
0d10: 33 37 34 37 35 37 36 37 37 37 38 37 39 37 61 37  37475767778797a7
0d20: 62 37 63 37 64 37 65 37 66 38 30 38 31 38 32 38  b7c7d7e7f8081828
0d30: 33 38 34 38 35 38 36 38 37 38 38 38 39 38 61 38  38485868788898a8
0d40: 62 38 63 38 64 38 65 38 66 39 30 39 31 39 32 39  b8c8d8e8f9091929
0d50: 33 39 34 39 35 39 36 39 37 39 38 39 39 39 61 39  39495969798999a9
0d60: 62 39 63 39 64 39 65 39 66 61 30 61 31 61 32 61  b9c9d9e9fa0a1a2a
0d70: 33 61 34 61 35 61 36 61 37 61 38 61 39 61 61 61  3a4a5a6a7a8a9aaa
0d80: 62 61 63 61 64 61 65 61 66 5d 20 2d 73 69 7a 65  bacadaeaf] -size
0d90: 20 38 32 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68 20   82]} \..-match 
0da0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30 62  exact -result 0b
0db0: 64 37 37 30 61 37 34 64 31 31 36 30 66 37 63 39  d770a74d1160f7c9
0dc0: 66 31 32 63 64 35 39 31 32 61 30 36 65 62 66 66  f12cd5912a06ebff
0dd0: 36 61 64 63 61 65 38 39 39 64 39 32 31 39 31 66  6adcae899d92191f
0de0: 65 34 33 30 35 36 37 33 62 61 32 66 66 65 38 66  e4305673ba2ffe8f
0df0: 61 33 66 31 61 34 65 35 61 64 37 39 66 33 66 33  a3f1a4e5ad79f3f3
0e00: 33 34 62 33 62 32 30 32 62 32 31 37 33 63 34 38  34b3b202b2173c48
0e10: 36 65 61 33 37 63 65 33 64 33 39 37 65 64 30 33  6ea37ce3d397ed03
0e20: 34 63 37 66 39 64 66 65 62 31 35 63 35 65 39 32  4c7f9dfeb15c5e92
0e30: 37 33 33 36 64 30 34 34 31 66 34 63 34 33 30 30  7336d0441f4c4300
0e40: 65 32 63 66 66 30 64 30 39 30 30 62 35 32 64 33  e2cff0d0900b52d3
0e50: 62 34 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  b4..tcltest::tes
0e60: 74 20 4b 44 46 5f 48 4b 44 46 2d 53 48 41 31 2d  t KDF_HKDF-SHA1-
0e70: 31 2e 37 20 7b 48 4b 44 46 2d 53 48 41 31 7d 20  1.7 {HKDF-SHA1} 
0e80: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
0e90: 7b 48 4b 44 46 20 53 48 41 31 7d 20 5c 0a 09 2d  {HKDF SHA1} \..-
0ea0: 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64  setup {} \..-bod
0eb0: 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f 64 65  y {binary encode
0ec0: 20 68 65 78 20 5b 74 6c 73 3a 3a 68 6b 64 66 20   hex [tls::hkdf 
0ed0: 2d 64 69 67 65 73 74 20 53 48 41 31 20 2d 6b 65  -digest SHA1 -ke
0ee0: 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  y [binary decode
0ef0: 20 68 65 78 20 30 62 30 62 30 62 30 62 30 62 30   hex 0b0b0b0b0b0
0f00: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0f10: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0f20: 62 5d 20 2d 73 69 7a 65 20 34 32 5d 7d 20 5c 0a  b] -size 42]} \.
0f30: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
0f40: 65 73 75 6c 74 20 30 61 63 31 61 66 37 30 30 32  esult 0ac1af7002
0f50: 62 33 64 37 36 31 64 31 65 35 35 32 39 38 64 61  b3d761d1e55298da
0f60: 39 64 30 35 30 36 62 39 61 65 35 32 30 35 37 32  9d0506b9ae520572
0f70: 32 30 61 33 30 36 65 30 37 62 36 62 38 37 65 38  20a306e07b6b87e8
0f80: 64 66 32 31 64 30 65 61 30 30 30 33 33 64 65 30  df21d0ea00033de0
0f90: 33 39 38 34 64 33 34 39 31 38 0a 0a 74 63 6c 74  3984d34918..tclt
0fa0: 65 73 74 3a 3a 74 65 73 74 20 4b 44 46 5f 48 4b  est::test KDF_HK
0fb0: 44 46 2d 53 48 41 31 2d 31 2e 38 20 7b 48 4b 44  DF-SHA1-1.8 {HKD
0fc0: 46 2d 53 48 41 31 7d 20 5c 0a 09 2d 63 6f 6e 73  F-SHA1} \..-cons
0fd0: 74 72 61 69 6e 74 73 20 7b 48 4b 44 46 20 53 48  traints {HKDF SH
0fe0: 41 31 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d  A1} \..-setup {}
0ff0: 20 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e 61 72   \..-body {binar
1000: 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 74 6c  y encode hex [tl
1010: 73 3a 3a 68 6b 64 66 20 2d 64 69 67 65 73 74 20  s::hkdf -digest 
1020: 53 48 41 31 20 2d 6b 65 79 20 5b 62 69 6e 61 72  SHA1 -key [binar
1030: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 62 30  y decode hex 0b0
1040: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
1050: 62 30 62 5d 20 2d 69 6e 66 6f 20 5b 62 69 6e 61  b0b] -info [bina
1060: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 30  ry decode hex f0
1070: 66 31 66 32 66 33 66 34 66 35 66 36 66 37 66 38  f1f2f3f4f5f6f7f8
1080: 66 39 5d 20 2d 73 61 6c 74 20 5b 62 69 6e 61 72  f9] -salt [binar
1090: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 30 30  y decode hex 000
10a0: 31 30 32 30 33 30 34 30 35 30 36 30 37 30 38 30  1020304050607080
10b0: 39 30 61 30 62 30 63 5d 20 2d 73 69 7a 65 20 34  90a0b0c] -size 4
10c0: 32 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  2]} \..-match ex
10d0: 61 63 74 20 2d 72 65 73 75 6c 74 20 30 38 35 61  act -result 085a
10e0: 30 31 65 61 31 62 31 30 66 33 36 39 33 33 30 36  01ea1b10f3693306
10f0: 38 62 35 36 65 66 61 35 61 64 38 31 61 34 66 31  8b56efa5ad81a4f1
1100: 34 62 38 32 32 66 35 62 30 39 31 35 36 38 61 39  4b822f5b091568a9
1110: 63 64 64 34 66 31 35 35 66 64 61 32 63 32 32 65  cdd4f155fda2c22e
1120: 34 32 32 34 37 38 64 33 30 35 66 33 66 38 39 36  422478d305f3f896
1130: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
1140: 4b 44 46 5f 48 4b 44 46 2d 53 48 41 31 2d 31 2e  KDF_HKDF-SHA1-1.
1150: 39 20 7b 48 4b 44 46 2d 53 48 41 31 7d 20 5c 0a  9 {HKDF-SHA1} \.
1160: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48  .-constraints {H
1170: 4b 44 46 20 53 48 41 31 7d 20 5c 0a 09 2d 73 65  KDF SHA1} \..-se
1180: 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20  tup {} \..-body 
1190: 7b 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68  {binary encode h
11a0: 65 78 20 5b 74 6c 73 3a 3a 68 6b 64 66 20 2d 64  ex [tls::hkdf -d
11b0: 69 67 65 73 74 20 53 48 41 31 20 2d 6b 65 79 20  igest SHA1 -key 
11c0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
11d0: 65 78 20 30 63 30 63 30 63 30 63 30 63 30 63 30  ex 0c0c0c0c0c0c0
11e0: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
11f0: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 5d  c0c0c0c0c0c0c0c]
1200: 20 2d 73 69 7a 65 20 34 32 5d 7d 20 5c 0a 09 2d   -size 42]} \..-
1210: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
1220: 75 6c 74 20 32 63 39 31 31 31 37 32 30 34 64 37  ult 2c91117204d7
1230: 34 35 66 33 35 30 30 64 36 33 36 61 36 32 66 36  45f3500d636a62f6
1240: 34 66 30 61 62 33 62 61 65 35 34 38 61 61 35 33  4f0ab3bae548aa53
1250: 64 34 32 33 62 30 64 31 66 32 37 65 62 62 61 36  d423b0d1f27ebba6
1260: 66 35 65 35 36 37 33 61 30 38 31 64 37 30 63 63  f5e5673a081d70cc
1270: 65 37 61 63 66 63 34 38 0a 0a 23 20 43 6c 65 61  e7acfc48..# Clea
1280: 6e 75 70 0a 3a 3a 74 63 6c 74 65 73 74 3a 3a 63  nup.::tcltest::c
1290: 6c 65 61 6e 75 70 54 65 73 74 73 0a 72 65 74 75  leanupTests.retu
12a0: 72 6e 0a                                         rn.