Hex Artifact Content

Artifact 49565c7872ffab96bf26b2044499db56667bef65e911d00cc2a45b67e3040c78:


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 33   from "HKDF-SHA3
0020: 38 34 2e 74 78 74 22 0a 6c 61 70 70 65 6e 64 20  84.txt".lappend 
0030: 61 75 74 6f 5f 70 61 74 68 20 5b 66 69 6c 65 20  auto_path [file 
0040: 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69  dirname [file di
0050: 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e  rname [file dirn
0060: 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d  ame [file dirnam
0070: 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 5b 70 77  e [file join [pw
0080: 64 5d 20 5b 69 6e 66 6f 20 73 63 72 69 70 74 5d  d] [info script]
0090: 5d 5d 5d 5d 5d 0a 70 61 63 6b 61 67 65 20 72 65  ]]]]].package re
00a0: 71 75 69 72 65 20 74 6c 73 0a 70 61 63 6b 61 67  quire tls.packag
00b0: 65 20 72 65 71 75 69 72 65 20 74 63 6c 74 65 73  e require tcltes
00c0: 74 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  t..tcltest::test
00d0: 43 6f 6e 73 74 72 61 69 6e 74 20 48 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 33 38 34 20  nstraint SHA384 
0130: 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72 63 68 20  [expr {[lsearch 
0140: 2d 6e 6f 63 61 73 65 20 5b 74 6c 73 3a 3a 64 69  -nocase [tls::di
0150: 67 65 73 74 73 5d 20 53 48 41 33 38 34 5d 20 3e  gests] SHA384] >
0160: 20 2d 31 7d 5d 0a 63 61 74 63 68 20 7b 74 6c 73   -1}].catch {tls
0170: 3a 3a 70 72 6f 76 69 64 65 72 20 6c 65 67 61 63  ::provider legac
0180: 79 7d 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  y}..tcltest::tes
0190: 74 20 4b 44 46 5f 48 4b 44 46 2d 53 48 41 33 38  t KDF_HKDF-SHA38
01a0: 34 2d 31 2e 31 20 7b 48 4b 44 46 2d 53 48 41 33  4-1.1 {HKDF-SHA3
01b0: 38 34 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  84} \..-constrai
01c0: 6e 74 73 20 7b 48 4b 44 46 20 53 48 41 33 38 34  nts {HKDF SHA384
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 33 38 34 20 2d 6b 65 79 20 5b 62 69 6e 61 72  A384 -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 39 62 35 30 39 37 61 38 36 30 33 38 62 38  t 9b5097a86038b8
02f0: 30 35 33 30 39 30 37 36 61 34 34 62 33 61 39 66  05309076a44b3a9f
0300: 33 38 30 36 33 65 32 35 62 35 31 36 64 63 62 66  38063e25b516dcbf
0310: 33 36 39 66 33 39 34 63 66 61 62 34 33 36 38 35  369f394cfab43685
0320: 66 37 34 38 62 36 34 35 37 37 36 33 65 34 66 30  f748b6457763e4f0
0330: 32 30 34 66 63 35 0a 0a 74 63 6c 74 65 73 74 3a  204fc5..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 33 38 34 2d 31 2e 32 20 7b 48 4b 44 46 2d  HA384-1.2 {HKDF-
0360: 53 48 41 33 38 34 7d 20 5c 0a 09 2d 63 6f 6e 73  SHA384} \..-cons
0370: 74 72 61 69 6e 74 73 20 7b 48 4b 44 46 20 53 48  traints {HKDF SH
0380: 41 33 38 34 7d 20 5c 0a 09 2d 73 65 74 75 70 20  A384} \..-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 33 38 34 20 2d 6b 65 79 20 5b 62  t SHA384 -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 34 38 34 63  act -result 484c
0620: 61 30 35 32 62 38 63 63 37 32 34 66 64 31 63 34  a052b8cc724fd1c4
0630: 65 63 36 34 64 35 37 62 34 65 38 31 38 63 37 65  ec64d57b4e818c7e
0640: 32 35 61 38 65 30 66 34 35 36 39 65 64 37 32 61  25a8e0f4569ed72a
0650: 36 61 30 35 66 65 30 36 34 39 65 65 62 66 36 39  6a05fe0649eebf69
0660: 66 38 64 35 63 38 33 32 38 35 36 62 66 34 65 34  f8d5c832856bf4e4
0670: 66 62 63 31 37 39 36 37 64 35 34 39 37 35 33 32  fbc17967d5497532
0680: 34 61 39 34 39 38 37 66 37 66 34 31 38 33 35 38  4a94987f7f418358
0690: 31 37 64 38 39 39 34 66 64 62 64 36 66 34 63 30  17d8994fdbd6f4c0
06a0: 39 63 35 35 30 30 64 63 61 32 34 61 35 36 32 32  9c5500dca24a5622
06b0: 32 66 65 61 35 33 64 38 39 36 37 61 38 62 32 65  2fea53d8967a8b2e
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 33 38 34 2d  KDF_HKDF-SHA384-
06e0: 31 2e 33 20 7b 48 4b 44 46 2d 53 48 41 33 38 34  1.3 {HKDF-SHA384
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 33 38 34 7d 20  s {HKDF SHA384} 
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 33  kdf -digest SHA3
0750: 38 34 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20  84 -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 63 38 63 39  act -result c8c9
07c0: 36 65 37 31 30 66 38 39 62 30 64 37 39 39 30 62  6e710f89b0d7990b
07d0: 63 61 36 38 62 63 64 65 63 38 63 66 38 35 34 30  ca68bcdec8cf8540
07e0: 36 32 65 35 34 63 37 33 61 37 61 62 63 37 34 33  62e54c73a7abc743
07f0: 66 61 64 65 39 62 32 34 32 64 61 61 63 63 31 63  fade9b242daacc1c
0800: 65 61 35 36 37 30 34 31 35 62 35 32 38 34 39 63  ea5670415b52849c
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 33 38 34 2d  KDF_HKDF-SHA384-
0830: 31 2e 34 20 7b 48 4b 44 46 2d 53 48 41 33 38 34  1.4 {HKDF-SHA384
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 33 38 34 7d 20  s {HKDF SHA384} 
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 33  kdf -digest SHA3
08a0: 38 34 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20  84 -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 5d 20 2d 69 6e 66 6f 20 5b 62 69 6e 61 72 79  b] -info [binary
08e0: 20 64 65 63 6f 64 65 20 68 65 78 20 66 30 66 31   decode hex f0f1
08f0: 66 32 66 33 66 34 66 35 66 36 66 37 66 38 66 39  f2f3f4f5f6f7f8f9
0900: 5d 20 2d 73 61 6c 74 20 5b 62 69 6e 61 72 79 20  ] -salt [binary 
0910: 64 65 63 6f 64 65 20 68 65 78 20 30 30 30 31 30  decode hex 00010
0920: 32 30 33 30 34 30 35 30 36 30 37 30 38 30 39 30  2030405060708090
0930: 61 30 62 30 63 5d 20 2d 73 69 7a 65 20 34 32 5d  a0b0c] -size 42]
0940: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0950: 74 20 2d 72 65 73 75 6c 74 20 66 62 37 65 36 37  t -result fb7e67
0960: 34 33 65 62 34 32 63 64 65 39 36 66 31 62 37 30  43eb42cde96f1b70
0970: 37 37 38 39 35 32 61 62 37 35 34 38 63 61 66 65  778952ab7548cafe
0980: 35 33 32 34 39 66 37 66 66 65 31 34 39 37 61 31  53249f7ffe1497a1
0990: 36 33 35 62 32 30 31 66 66 31 38 35 62 39 33 65  635b201ff185b93e
09a0: 39 35 31 39 39 32 64 38 35 38 66 31 31 61 0a 0a  951992d858f11a..
09b0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b 44  tcltest::test KD
09c0: 46 5f 48 4b 44 46 2d 53 48 41 33 38 34 2d 31 2e  F_HKDF-SHA384-1.
09d0: 35 20 7b 48 4b 44 46 2d 53 48 41 33 38 34 7d 20  5 {HKDF-SHA384} 
09e0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
09f0: 7b 48 4b 44 46 20 53 48 41 33 38 34 7d 20 5c 0a  {HKDF SHA384} \.
0a00: 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62  .-setup {} \..-b
0a10: 6f 64 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f  ody {binary enco
0a20: 64 65 20 68 65 78 20 5b 74 6c 73 3a 3a 68 6b 64  de hex [tls::hkd
0a30: 66 20 2d 64 69 67 65 73 74 20 53 48 41 33 38 34  f -digest SHA384
0a40: 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65   -key [binary de
0a50: 63 6f 64 65 20 68 65 78 20 30 63 30 63 30 63 30  code hex 0c0c0c0
0a60: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
0a70: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
0a80: 63 30 63 30 63 5d 20 2d 73 69 7a 65 20 34 32 5d  c0c0c] -size 42]
0a90: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0aa0: 74 20 2d 72 65 73 75 6c 74 20 36 61 64 37 63 37  t -result 6ad7c7
0ab0: 32 36 63 38 34 30 30 39 35 34 36 61 37 36 65 30  26c84009546a76e0
0ac0: 35 34 35 64 66 32 36 36 37 38 37 65 32 62 32 63  545df266787e2b2c
0ad0: 64 36 63 61 34 33 37 33 61 31 66 33 31 34 35 30  d6ca4373a1f31450
0ae0: 61 37 62 64 66 39 34 38 32 62 66 61 62 38 31 31  a7bdf9482bfab811
0af0: 66 35 35 34 32 30 30 65 61 64 38 66 35 33 0a 0a  f554200ead8f53..
0b00: 23 20 43 6c 65 61 6e 75 70 0a 3a 3a 74 63 6c 74  # Cleanup.::tclt
0b10: 65 73 74 3a 3a 63 6c 65 61 6e 75 70 54 65 73 74  est::cleanupTest
0b20: 73 0a 72 65 74 75 72 6e 0a                       s.return.