Hex Artifact Content

Artifact 252b5b0c05d86806e2da8001e836af8fefa22b902c1e01bda0f6be28286eab64:


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 32   from "HKDF-SHA2
0020: 35 36 2e 74 78 74 22 0a 6c 61 70 70 65 6e 64 20  56.txt".lappend 
0030: 61 75 74 6f 5f 70 61 74 68 20 5b 66 69 6c 65 20  auto_path [file 
0040: 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69  dirname [file di
0050: 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e  rname [file dirn
0060: 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d  ame [file dirnam
0070: 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 5b 70 77  e [file join [pw
0080: 64 5d 20 5b 69 6e 66 6f 20 73 63 72 69 70 74 5d  d] [info script]
0090: 5d 5d 5d 5d 5d 0a 70 61 63 6b 61 67 65 20 72 65  ]]]]].package re
00a0: 71 75 69 72 65 20 74 6c 73 0a 70 61 63 6b 61 67  quire tls.packag
00b0: 65 20 72 65 71 75 69 72 65 20 74 63 6c 74 65 73  e require tcltes
00c0: 74 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  t..tcltest::test
00d0: 43 6f 6e 73 74 72 61 69 6e 74 20 48 4b 44 46 20  Constraint HKDF 
00e0: 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72 63 68 20  [expr {[lsearch 
00f0: 2d 6e 6f 63 61 73 65 20 5b 74 6c 73 3a 3a 6b 64  -nocase [tls::kd
0100: 66 73 5d 20 48 4b 44 46 5d 20 3e 20 2d 31 7d 5d  fs] HKDF] > -1}]
0110: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 43 6f  .tcltest::testCo
0120: 6e 73 74 72 61 69 6e 74 20 53 48 41 32 35 36 20  nstraint SHA256 
0130: 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72 63 68 20  [expr {[lsearch 
0140: 2d 6e 6f 63 61 73 65 20 5b 74 6c 73 3a 3a 64 69  -nocase [tls::di
0150: 67 65 73 74 73 5d 20 53 48 41 32 35 36 5d 20 3e  gests] SHA256] >
0160: 20 2d 31 7d 5d 0a 63 61 74 63 68 20 7b 74 6c 73   -1}].catch {tls
0170: 3a 3a 70 72 6f 76 69 64 65 72 20 6c 65 67 61 63  ::provider legac
0180: 79 7d 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  y}..tcltest::tes
0190: 74 20 4b 44 46 5f 48 4b 44 46 2d 53 48 41 32 35  t KDF_HKDF-SHA25
01a0: 36 2d 31 2e 31 20 7b 48 4b 44 46 2d 53 48 41 32  6-1.1 {HKDF-SHA2
01b0: 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  56} \..-constrai
01c0: 6e 74 73 20 7b 48 4b 44 46 20 53 48 41 32 35 36  nts {HKDF SHA256
01d0: 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c  } \..-setup {} \
01e0: 0a 09 2d 62 6f 64 79 20 7b 62 69 6e 61 72 79 20  ..-body {binary 
01f0: 65 6e 63 6f 64 65 20 68 65 78 20 5b 74 6c 73 3a  encode hex [tls:
0200: 3a 68 6b 64 66 20 2d 64 69 67 65 73 74 20 53 48  :hkdf -digest SH
0210: 41 32 35 36 20 2d 6b 65 79 20 5b 62 69 6e 61 72  A256 -key [binar
0220: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 62 30  y decode hex 0b0
0230: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0240: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0250: 62 30 62 30 62 30 62 30 62 5d 20 2d 69 6e 66 6f  b0b0b0b0b] -info
0260: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
0270: 68 65 78 20 66 30 66 31 66 32 66 33 66 34 66 35  hex f0f1f2f3f4f5
0280: 66 36 66 37 66 38 66 39 5d 20 2d 73 61 6c 74 20  f6f7f8f9] -salt 
0290: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
02a0: 65 78 20 30 30 30 31 30 32 30 33 30 34 30 35 30  ex 0001020304050
02b0: 36 30 37 30 38 30 39 30 61 30 62 30 63 5d 20 2d  60708090a0b0c] -
02c0: 73 69 7a 65 20 34 32 5d 7d 20 5c 0a 09 2d 6d 61  size 42]} \..-ma
02d0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
02e0: 74 20 33 63 62 32 35 66 32 35 66 61 61 63 64 35  t 3cb25f25faacd5
02f0: 37 61 39 30 34 33 34 66 36 34 64 30 33 36 32 66  7a90434f64d0362f
0300: 32 61 32 64 32 64 30 61 39 30 63 66 31 61 35 61  2a2d2d0a90cf1a5a
0310: 34 63 35 64 62 30 32 64 35 36 65 63 63 34 63 35  4c5db02d56ecc4c5
0320: 62 66 33 34 30 30 37 32 30 38 64 35 62 38 38 37  bf34007208d5b887
0330: 31 38 35 38 36 35 0a 0a 74 63 6c 74 65 73 74 3a  185865..tcltest:
0340: 3a 74 65 73 74 20 4b 44 46 5f 48 4b 44 46 2d 53  :test KDF_HKDF-S
0350: 48 41 32 35 36 2d 31 2e 32 20 7b 48 4b 44 46 2d  HA256-1.2 {HKDF-
0360: 53 48 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73  SHA256} \..-cons
0370: 74 72 61 69 6e 74 73 20 7b 48 4b 44 46 20 53 48  traints {HKDF SH
0380: 41 32 35 36 7d 20 5c 0a 09 2d 73 65 74 75 70 20  A256} \..-setup 
0390: 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e  {} \..-body {bin
03a0: 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b  ary encode hex [
03b0: 74 6c 73 3a 3a 68 6b 64 66 20 2d 64 69 67 65 73  tls::hkdf -diges
03c0: 74 20 53 48 41 32 35 36 20 2d 6b 65 79 20 5b 62  t SHA256 -key [b
03d0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
03e0: 20 30 30 30 31 30 32 30 33 30 34 30 35 30 36 30   000102030405060
03f0: 37 30 38 30 39 30 61 30 62 30 63 30 64 30 65 30  708090a0b0c0d0e0
0400: 66 31 30 31 31 31 32 31 33 31 34 31 35 31 36 31  f101112131415161
0410: 37 31 38 31 39 31 61 31 62 31 63 31 64 31 65 31  718191a1b1c1d1e1
0420: 66 32 30 32 31 32 32 32 33 32 34 32 35 32 36 32  f202122232425262
0430: 37 32 38 32 39 32 61 32 62 32 63 32 64 32 65 32  728292a2b2c2d2e2
0440: 66 33 30 33 31 33 32 33 33 33 34 33 35 33 36 33  f303132333435363
0450: 37 33 38 33 39 33 61 33 62 33 63 33 64 33 65 33  738393a3b3c3d3e3
0460: 66 34 30 34 31 34 32 34 33 34 34 34 35 34 36 34  f404142434445464
0470: 37 34 38 34 39 34 61 34 62 34 63 34 64 34 65 34  748494a4b4c4d4e4
0480: 66 5d 20 2d 69 6e 66 6f 20 5b 62 69 6e 61 72 79  f] -info [binary
0490: 20 64 65 63 6f 64 65 20 68 65 78 20 62 30 62 31   decode hex b0b1
04a0: 62 32 62 33 62 34 62 35 62 36 62 37 62 38 62 39  b2b3b4b5b6b7b8b9
04b0: 62 61 62 62 62 63 62 64 62 65 62 66 63 30 63 31  babbbcbdbebfc0c1
04c0: 63 32 63 33 63 34 63 35 63 36 63 37 63 38 63 39  c2c3c4c5c6c7c8c9
04d0: 63 61 63 62 63 63 63 64 63 65 63 66 64 30 64 31  cacbcccdcecfd0d1
04e0: 64 32 64 33 64 34 64 35 64 36 64 37 64 38 64 39  d2d3d4d5d6d7d8d9
04f0: 64 61 64 62 64 63 64 64 64 65 64 66 65 30 65 31  dadbdcdddedfe0e1
0500: 65 32 65 33 65 34 65 35 65 36 65 37 65 38 65 39  e2e3e4e5e6e7e8e9
0510: 65 61 65 62 65 63 65 64 65 65 65 66 66 30 66 31  eaebecedeeeff0f1
0520: 66 32 66 33 66 34 66 35 66 36 66 37 66 38 66 39  f2f3f4f5f6f7f8f9
0530: 66 61 66 62 66 63 66 64 66 65 66 66 5d 20 2d 73  fafbfcfdfeff] -s
0540: 61 6c 74 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  alt [binary deco
0550: 64 65 20 68 65 78 20 36 30 36 31 36 32 36 33 36  de hex 606162636
0560: 34 36 35 36 36 36 37 36 38 36 39 36 61 36 62 36  465666768696a6b6
0570: 63 36 64 36 65 36 66 37 30 37 31 37 32 37 33 37  c6d6e6f707172737
0580: 34 37 35 37 36 37 37 37 38 37 39 37 61 37 62 37  475767778797a7b7
0590: 63 37 64 37 65 37 66 38 30 38 31 38 32 38 33 38  c7d7e7f808182838
05a0: 34 38 35 38 36 38 37 38 38 38 39 38 61 38 62 38  485868788898a8b8
05b0: 63 38 64 38 65 38 66 39 30 39 31 39 32 39 33 39  c8d8e8f909192939
05c0: 34 39 35 39 36 39 37 39 38 39 39 39 61 39 62 39  495969798999a9b9
05d0: 63 39 64 39 65 39 66 61 30 61 31 61 32 61 33 61  c9d9e9fa0a1a2a3a
05e0: 34 61 35 61 36 61 37 61 38 61 39 61 61 61 62 61  4a5a6a7a8a9aaaba
05f0: 63 61 64 61 65 61 66 5d 20 2d 73 69 7a 65 20 38  cadaeaf] -size 8
0600: 32 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  2]} \..-match ex
0610: 61 63 74 20 2d 72 65 73 75 6c 74 20 62 31 31 65  act -result b11e
0620: 33 39 38 64 63 38 30 33 32 37 61 31 63 38 65 37  398dc80327a1c8e7
0630: 66 37 38 63 35 39 36 61 34 39 33 34 34 66 30 31  f78c596a49344f01
0640: 32 65 64 61 32 64 34 65 66 61 64 38 61 30 35 30  2eda2d4efad8a050
0650: 63 63 34 63 31 39 61 66 61 39 37 63 35 39 30 34  cc4c19afa97c5904
0660: 35 61 39 39 63 61 63 37 38 32 37 32 37 31 63 62  5a99cac7827271cb
0670: 34 31 63 36 35 65 35 39 30 65 30 39 64 61 33 32  41c65e590e09da32
0680: 37 35 36 30 30 63 32 66 30 39 62 38 33 36 37 37  75600c2f09b83677
0690: 39 33 61 39 61 63 61 33 64 62 37 31 63 63 33 30  93a9aca3db71cc30
06a0: 63 35 38 31 37 39 65 63 33 65 38 37 63 31 34 63  c58179ec3e87c14c
06b0: 30 31 64 35 63 31 66 33 34 33 34 66 31 64 38 37  01d5c1f3434f1d87
06c0: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
06d0: 4b 44 46 5f 48 4b 44 46 2d 53 48 41 32 35 36 2d  KDF_HKDF-SHA256-
06e0: 31 2e 33 20 7b 48 4b 44 46 2d 53 48 41 32 35 36  1.3 {HKDF-SHA256
06f0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
0700: 73 20 7b 48 4b 44 46 20 53 48 41 32 35 36 7d 20  s {HKDF SHA256} 
0710: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09  \..-setup {} \..
0720: 2d 62 6f 64 79 20 7b 62 69 6e 61 72 79 20 65 6e  -body {binary en
0730: 63 6f 64 65 20 68 65 78 20 5b 74 6c 73 3a 3a 68  code hex [tls::h
0740: 6b 64 66 20 2d 64 69 67 65 73 74 20 53 48 41 32  kdf -digest SHA2
0750: 35 36 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20  56 -key [binary 
0760: 64 65 63 6f 64 65 20 68 65 78 20 30 62 30 62 30  decode hex 0b0b0
0770: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0780: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0790: 62 30 62 30 62 30 62 5d 20 2d 73 69 7a 65 20 34  b0b0b0b] -size 4
07a0: 32 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  2]} \..-match ex
07b0: 61 63 74 20 2d 72 65 73 75 6c 74 20 38 64 61 34  act -result 8da4
07c0: 65 37 37 35 61 35 36 33 63 31 38 66 37 31 35 66  e775a563c18f715f
07d0: 38 30 32 61 30 36 33 63 35 61 33 31 62 38 61 31  802a063c5a31b8a1
07e0: 31 66 35 63 35 65 65 31 38 37 39 65 63 33 34 35  1f5c5ee1879ec345
07f0: 34 65 35 66 33 63 37 33 38 64 32 64 39 64 32 30  4e5f3c738d2d9d20
0800: 31 33 39 35 66 61 61 34 62 36 31 61 39 36 63 38  1395faa4b61a96c8
0810: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
0820: 4b 44 46 5f 48 4b 44 46 2d 53 48 41 32 35 36 2d  KDF_HKDF-SHA256-
0830: 31 2e 34 20 7b 48 4b 44 46 2d 53 48 41 32 35 36  1.4 {HKDF-SHA256
0840: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
0850: 73 20 7b 48 4b 44 46 20 53 48 41 32 35 36 7d 20  s {HKDF SHA256} 
0860: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09  \..-setup {} \..
0870: 2d 62 6f 64 79 20 7b 62 69 6e 61 72 79 20 65 6e  -body {binary en
0880: 63 6f 64 65 20 68 65 78 20 5b 74 6c 73 3a 3a 68  code hex [tls::h
0890: 6b 64 66 20 2d 64 69 67 65 73 74 20 53 48 41 32  kdf -digest SHA2
08a0: 35 36 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20  56 -key [binary 
08b0: 64 65 63 6f 64 65 20 68 65 78 20 30 62 30 62 30  decode hex 0b0b0
08c0: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
08d0: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
08e0: 62 30 62 30 62 30 62 5d 20 2d 69 6e 66 6f 20 5b  b0b0b0b] -info [
08f0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
0900: 78 20 66 30 66 31 66 32 66 33 66 34 66 35 66 36  x f0f1f2f3f4f5f6
0910: 66 37 66 38 66 39 5d 20 2d 73 61 6c 74 20 5b 62  f7f8f9] -salt [b
0920: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
0930: 20 30 30 30 31 30 32 30 33 30 34 30 35 30 36 30   000102030405060
0940: 37 30 38 30 39 30 61 30 62 30 63 5d 20 2d 73 69  708090a0b0c] -si
0950: 7a 65 20 34 32 5d 7d 20 5c 0a 09 2d 6d 61 74 63  ze 42]} \..-matc
0960: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
0970: 33 63 62 32 35 66 32 35 66 61 61 63 64 35 37 61  3cb25f25faacd57a
0980: 39 30 34 33 34 66 36 34 64 30 33 36 32 66 32 61  90434f64d0362f2a
0990: 32 64 32 64 30 61 39 30 63 66 31 61 35 61 34 63  2d2d0a90cf1a5a4c
09a0: 35 64 62 30 32 64 35 36 65 63 63 34 63 35 62 66  5db02d56ecc4c5bf
09b0: 33 34 30 30 37 32 30 38 64 35 62 38 38 37 31 38  34007208d5b88718
09c0: 35 38 36 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  5865..tcltest::t
09d0: 65 73 74 20 4b 44 46 5f 48 4b 44 46 2d 53 48 41  est KDF_HKDF-SHA
09e0: 32 35 36 2d 31 2e 35 20 7b 48 4b 44 46 2d 53 48  256-1.5 {HKDF-SH
09f0: 41 32 35 36 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  A256} \..-constr
0a00: 61 69 6e 74 73 20 7b 48 4b 44 46 20 53 48 41 32  aints {HKDF SHA2
0a10: 35 36 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d  56} \..-setup {}
0a20: 20 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e 61 72   \..-body {binar
0a30: 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 74 6c  y encode hex [tl
0a40: 73 3a 3a 68 6b 64 66 20 2d 64 69 67 65 73 74 20  s::hkdf -digest 
0a50: 53 48 41 32 35 36 20 2d 6b 65 79 20 5b 62 69 6e  SHA256 -key [bin
0a60: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30  ary decode hex 0
0a70: 30 30 31 30 32 30 33 30 34 30 35 30 36 30 37 30  0010203040506070
0a80: 38 30 39 30 61 30 62 30 63 30 64 30 65 30 66 31  8090a0b0c0d0e0f1
0a90: 30 31 31 31 32 31 33 31 34 31 35 31 36 31 37 31  0111213141516171
0aa0: 38 31 39 31 61 31 62 31 63 31 64 31 65 31 66 32  8191a1b1c1d1e1f2
0ab0: 30 32 31 32 32 32 33 32 34 32 35 32 36 32 37 32  0212223242526272
0ac0: 38 32 39 32 61 32 62 32 63 32 64 32 65 32 66 33  8292a2b2c2d2e2f3
0ad0: 30 33 31 33 32 33 33 33 34 33 35 33 36 33 37 33  0313233343536373
0ae0: 38 33 39 33 61 33 62 33 63 33 64 33 65 33 66 34  8393a3b3c3d3e3f4
0af0: 30 34 31 34 32 34 33 34 34 34 35 34 36 34 37 34  0414243444546474
0b00: 38 34 39 34 61 34 62 34 63 34 64 34 65 34 66 5d  8494a4b4c4d4e4f]
0b10: 20 2d 69 6e 66 6f 20 5b 62 69 6e 61 72 79 20 64   -info [binary d
0b20: 65 63 6f 64 65 20 68 65 78 20 62 30 62 31 62 32  ecode hex b0b1b2
0b30: 62 33 62 34 62 35 62 36 62 37 62 38 62 39 62 61  b3b4b5b6b7b8b9ba
0b40: 62 62 62 63 62 64 62 65 62 66 63 30 63 31 63 32  bbbcbdbebfc0c1c2
0b50: 63 33 63 34 63 35 63 36 63 37 63 38 63 39 63 61  c3c4c5c6c7c8c9ca
0b60: 63 62 63 63 63 64 63 65 63 66 64 30 64 31 64 32  cbcccdcecfd0d1d2
0b70: 64 33 64 34 64 35 64 36 64 37 64 38 64 39 64 61  d3d4d5d6d7d8d9da
0b80: 64 62 64 63 64 64 64 65 64 66 65 30 65 31 65 32  dbdcdddedfe0e1e2
0b90: 65 33 65 34 65 35 65 36 65 37 65 38 65 39 65 61  e3e4e5e6e7e8e9ea
0ba0: 65 62 65 63 65 64 65 65 65 66 66 30 66 31 66 32  ebecedeeeff0f1f2
0bb0: 66 33 66 34 66 35 66 36 66 37 66 38 66 39 66 61  f3f4f5f6f7f8f9fa
0bc0: 66 62 66 63 66 64 66 65 66 66 5d 20 2d 73 61 6c  fbfcfdfeff] -sal
0bd0: 74 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  t [binary decode
0be0: 20 68 65 78 20 36 30 36 31 36 32 36 33 36 34 36   hex 60616263646
0bf0: 35 36 36 36 37 36 38 36 39 36 61 36 62 36 63 36  5666768696a6b6c6
0c00: 64 36 65 36 66 37 30 37 31 37 32 37 33 37 34 37  d6e6f70717273747
0c10: 35 37 36 37 37 37 38 37 39 37 61 37 62 37 63 37  5767778797a7b7c7
0c20: 64 37 65 37 66 38 30 38 31 38 32 38 33 38 34 38  d7e7f80818283848
0c30: 35 38 36 38 37 38 38 38 39 38 61 38 62 38 63 38  5868788898a8b8c8
0c40: 64 38 65 38 66 39 30 39 31 39 32 39 33 39 34 39  d8e8f90919293949
0c50: 35 39 36 39 37 39 38 39 39 39 61 39 62 39 63 39  5969798999a9b9c9
0c60: 64 39 65 39 66 61 30 61 31 61 32 61 33 61 34 61  d9e9fa0a1a2a3a4a
0c70: 35 61 36 61 37 61 38 61 39 61 61 61 62 61 63 61  5a6a7a8a9aaabaca
0c80: 64 61 65 61 66 5d 20 2d 73 69 7a 65 20 38 32 5d  daeaf] -size 82]
0c90: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0ca0: 74 20 2d 72 65 73 75 6c 74 20 62 31 31 65 33 39  t -result b11e39
0cb0: 38 64 63 38 30 33 32 37 61 31 63 38 65 37 66 37  8dc80327a1c8e7f7
0cc0: 38 63 35 39 36 61 34 39 33 34 34 66 30 31 32 65  8c596a49344f012e
0cd0: 64 61 32 64 34 65 66 61 64 38 61 30 35 30 63 63  da2d4efad8a050cc
0ce0: 34 63 31 39 61 66 61 39 37 63 35 39 30 34 35 61  4c19afa97c59045a
0cf0: 39 39 63 61 63 37 38 32 37 32 37 31 63 62 34 31  99cac7827271cb41
0d00: 63 36 35 65 35 39 30 65 30 39 64 61 33 32 37 35  c65e590e09da3275
0d10: 36 30 30 63 32 66 30 39 62 38 33 36 37 37 39 33  600c2f09b8367793
0d20: 61 39 61 63 61 33 64 62 37 31 63 63 33 30 63 35  a9aca3db71cc30c5
0d30: 38 31 37 39 65 63 33 65 38 37 63 31 34 63 30 31  8179ec3e87c14c01
0d40: 64 35 63 31 66 33 34 33 34 66 31 64 38 37 0a 0a  d5c1f3434f1d87..
0d50: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b 44  tcltest::test KD
0d60: 46 5f 48 4b 44 46 2d 53 48 41 32 35 36 2d 31 2e  F_HKDF-SHA256-1.
0d70: 36 20 7b 48 4b 44 46 2d 53 48 41 32 35 36 7d 20  6 {HKDF-SHA256} 
0d80: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
0d90: 7b 48 4b 44 46 20 53 48 41 32 35 36 7d 20 5c 0a  {HKDF SHA256} \.
0da0: 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62  .-setup {} \..-b
0db0: 6f 64 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f  ody {binary enco
0dc0: 64 65 20 68 65 78 20 5b 74 6c 73 3a 3a 68 6b 64  de hex [tls::hkd
0dd0: 66 20 2d 64 69 67 65 73 74 20 53 48 41 32 35 36  f -digest SHA256
0de0: 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65   -key [binary de
0df0: 63 6f 64 65 20 68 65 78 20 30 62 30 62 30 62 30  code hex 0b0b0b0
0e00: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0e10: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0e20: 62 30 62 30 62 5d 20 2d 73 69 7a 65 20 34 32 5d  b0b0b] -size 42]
0e30: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0e40: 74 20 2d 72 65 73 75 6c 74 20 38 64 61 34 65 37  t -result 8da4e7
0e50: 37 35 61 35 36 33 63 31 38 66 37 31 35 66 38 30  75a563c18f715f80
0e60: 32 61 30 36 33 63 35 61 33 31 62 38 61 31 31 66  2a063c5a31b8a11f
0e70: 35 63 35 65 65 31 38 37 39 65 63 33 34 35 34 65  5c5ee1879ec3454e
0e80: 35 66 33 63 37 33 38 64 32 64 39 64 32 30 31 33  5f3c738d2d9d2013
0e90: 39 35 66 61 61 34 62 36 31 61 39 36 63 38 0a 0a  95faa4b61a96c8..
0ea0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b 44  tcltest::test KD
0eb0: 46 5f 48 4b 44 46 2d 53 48 41 32 35 36 2d 31 2e  F_HKDF-SHA256-1.
0ec0: 37 20 7b 48 4b 44 46 2d 53 48 41 32 35 36 7d 20  7 {HKDF-SHA256} 
0ed0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
0ee0: 7b 48 4b 44 46 20 53 48 41 32 35 36 7d 20 5c 0a  {HKDF SHA256} \.
0ef0: 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62  .-setup {} \..-b
0f00: 6f 64 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f  ody {binary enco
0f10: 64 65 20 68 65 78 20 5b 74 6c 73 3a 3a 68 6b 64  de hex [tls::hkd
0f20: 66 20 2d 64 69 67 65 73 74 20 53 48 41 32 35 36  f -digest SHA256
0f30: 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65   -key [binary de
0f40: 63 6f 64 65 20 68 65 78 20 30 62 30 62 30 62 30  code hex 0b0b0b0
0f50: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 5d  b0b0b0b0b0b0b0b]
0f60: 20 2d 69 6e 66 6f 20 5b 62 69 6e 61 72 79 20 64   -info [binary d
0f70: 65 63 6f 64 65 20 68 65 78 20 66 30 66 31 66 32  ecode hex f0f1f2
0f80: 66 33 66 34 66 35 66 36 66 37 66 38 66 39 5d 20  f3f4f5f6f7f8f9] 
0f90: 2d 73 61 6c 74 20 5b 62 69 6e 61 72 79 20 64 65  -salt [binary de
0fa0: 63 6f 64 65 20 68 65 78 20 30 30 30 31 30 32 30  code hex 0001020
0fb0: 33 30 34 30 35 30 36 30 37 30 38 30 39 30 61 30  30405060708090a0
0fc0: 62 30 63 5d 20 2d 73 69 7a 65 20 34 32 5d 7d 20  b0c] -size 42]} 
0fd0: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
0fe0: 2d 72 65 73 75 6c 74 20 35 38 64 63 65 31 30 64  -result 58dce10d
0ff0: 35 38 30 31 63 64 66 64 61 38 33 31 37 32 36 62  5801cdfda831726b
1000: 66 65 62 63 62 37 34 33 64 31 34 61 37 65 65 38  febcb743d14a7ee8
1010: 33 61 61 30 35 37 61 39 33 64 35 39 62 30 61 31  3aa057a93d59b0a1
1020: 33 31 37 66 66 30 39 64 31 30 35 63 63 65 63 66  317ff09d105ccecf
1030: 35 33 35 36 39 32 62 31 34 64 64 35 0a 0a 74 63  535692b14dd5..tc
1040: 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b 44 46 5f  ltest::test KDF_
1050: 48 4b 44 46 2d 53 48 41 32 35 36 2d 31 2e 38 20  HKDF-SHA256-1.8 
1060: 7b 48 4b 44 46 2d 53 48 41 32 35 36 7d 20 5c 0a  {HKDF-SHA256} \.
1070: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48  .-constraints {H
1080: 4b 44 46 20 53 48 41 32 35 36 7d 20 5c 0a 09 2d  KDF SHA256} \..-
1090: 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64  setup {} \..-bod
10a0: 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f 64 65  y {binary encode
10b0: 20 68 65 78 20 5b 74 6c 73 3a 3a 68 6b 64 66 20   hex [tls::hkdf 
10c0: 2d 64 69 67 65 73 74 20 53 48 41 32 35 36 20 2d  -digest SHA256 -
10d0: 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  key [binary deco
10e0: 64 65 20 68 65 78 20 30 63 30 63 30 63 30 63 30  de hex 0c0c0c0c0
10f0: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
1100: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
1110: 63 30 63 5d 20 2d 73 69 7a 65 20 34 32 5d 7d 20  c0c] -size 42]} 
1120: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
1130: 2d 72 65 73 75 6c 74 20 35 39 36 38 39 39 31 37  -result 59689917
1140: 39 61 62 31 62 63 30 30 61 37 63 30 33 37 38 36  9ab1bc00a7c03786
1150: 66 66 34 33 65 65 35 33 35 30 30 34 62 65 32 62  ff43ee535004be2b
1160: 62 39 62 65 36 38 62 63 31 34 30 36 36 33 36 66  b9be68bc1406636f
1170: 35 34 62 64 33 33 38 61 36 36 61 32 33 37 62 61  54bd338a66a237ba
1180: 32 61 63 62 63 65 65 33 63 39 61 37 0a 0a 23 20  2acbcee3c9a7..# 
1190: 43 6c 65 61 6e 75 70 0a 3a 3a 74 63 6c 74 65 73  Cleanup.::tcltes
11a0: 74 3a 3a 63 6c 65 61 6e 75 70 54 65 73 74 73 0a  t::cleanupTests.
11b0: 72 65 74 75 72 6e 0a                             return.