Hex Artifact Content

Artifact 5ccc31e9c4b071d4b71081d9767d63f125abba25968f8d3d8d109ac05f5d0118:


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 35   from "HKDF-SHA5
0020: 31 32 2e 74 78 74 22 0a 6c 61 70 70 65 6e 64 20  12.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 35 31 32 20  nstraint SHA512 
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 35 31 32 5d 20 3e  gests] SHA512] >
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 35 31  t KDF_HKDF-SHA51
01a0: 32 2d 31 2e 31 20 7b 48 4b 44 46 2d 53 48 41 35  2-1.1 {HKDF-SHA5
01b0: 31 32 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  12} \..-constrai
01c0: 6e 74 73 20 7b 48 4b 44 46 20 53 48 41 35 31 32  nts {HKDF SHA512
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 35 31 32 20 2d 6b 65 79 20 5b 62 69 6e 61 72  A512 -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 38 33 32 33 39 30 30 38 36 63 64 61 37 31  t 832390086cda71
02f0: 66 62 34 37 36 32 35 62 62 35 63 65 62 31 36 38  fb47625bb5ceb168
0300: 65 34 63 38 65 32 36 61 31 61 31 36 65 64 33 34  e4c8e26a1a16ed34
0310: 64 39 66 63 37 66 65 39 32 63 31 34 38 31 35 37  d9fc7fe92c148157
0320: 39 33 33 38 64 61 33 36 32 63 62 38 64 39 66 39  9338da362cb8d9f9
0330: 32 35 64 37 63 62 0a 0a 74 63 6c 74 65 73 74 3a  25d7cb..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 35 31 32 2d 31 2e 32 20 7b 48 4b 44 46 2d  HA512-1.2 {HKDF-
0360: 53 48 41 35 31 32 7d 20 5c 0a 09 2d 63 6f 6e 73  SHA512} \..-cons
0370: 74 72 61 69 6e 74 73 20 7b 48 4b 44 46 20 53 48  traints {HKDF SH
0380: 41 35 31 32 7d 20 5c 0a 09 2d 73 65 74 75 70 20  A512} \..-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 35 31 32 20 2d 6b 65 79 20 5b 62  t SHA512 -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 63 65 36 63  act -result ce6c
0620: 39 37 31 39 32 38 30 35 62 33 34 36 65 36 31 36  97192805b346e616
0630: 31 65 38 32 31 65 64 31 36 35 36 37 33 62 38 34  1e821ed165673b84
0640: 66 34 30 30 61 32 62 35 31 34 62 32 66 65 32 33  f400a2b514b2fe23
0650: 64 38 34 63 64 31 38 39 64 64 66 31 62 36 39 35  d84cd189ddf1b695
0660: 62 34 38 63 62 64 31 63 38 33 38 38 34 34 31 31  b48cbd1c83884411
0670: 33 37 62 33 63 65 32 38 66 31 36 61 61 36 34 62  37b3ce28f16aa64b
0680: 61 33 33 62 61 34 36 36 62 32 34 64 66 36 63 66  a33ba466b24df6cf
0690: 63 62 30 32 31 65 63 66 66 32 33 35 66 36 61 32  cb021ecff235f6a2
06a0: 30 35 36 63 65 33 61 66 31 64 65 34 34 64 35 37  056ce3af1de44d57
06b0: 32 30 39 37 61 38 35 30 35 64 39 65 37 61 39 33  2097a8505d9e7a93
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 35 31 32 2d  KDF_HKDF-SHA512-
06e0: 31 2e 33 20 7b 48 4b 44 46 2d 53 48 41 35 31 32  1.3 {HKDF-SHA512
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 35 31 32 7d 20  s {HKDF SHA512} 
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 35  kdf -digest SHA5
0750: 31 32 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20  12 -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 66 35 66 61  act -result f5fa
07c0: 30 32 62 31 38 32 39 38 61 37 32 61 38 63 32 33  02b18298a72a8c23
07d0: 38 39 38 61 38 37 30 33 34 37 32 63 36 65 62 31  898a8703472c6eb1
07e0: 37 39 64 63 32 30 34 63 30 33 34 32 35 63 39 37  79dc204c03425c97
07f0: 30 65 33 62 31 36 34 62 66 39 30 66 66 66 32 32  0e3b164bf90fff22
0800: 64 30 34 38 33 36 64 30 65 32 33 34 33 62 61 63  d04836d0e2343bac
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 35 31 32 2d  KDF_HKDF-SHA512-
0830: 31 2e 34 20 7b 48 4b 44 46 2d 53 48 41 35 31 32  1.4 {HKDF-SHA512
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 35 31 32 7d 20  s {HKDF SHA512} 
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 35  kdf -digest SHA5
08a0: 31 32 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79 20  12 -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 37 34 31 33 65 38  t -result 7413e8
0960: 39 39 37 65 30 32 30 36 31 30 66 62 66 36 38 32  997e020610fbf682
0970: 33 66 32 63 65 31 34 62 66 66 30 31 38 37 35 64  3f2ce14bff01875d
0980: 62 31 63 61 35 35 66 36 38 63 66 63 66 33 39 35  b1ca55f68cfcf395
0990: 34 64 63 38 61 66 66 35 33 35 35 39 62 64 35 65  4dc8aff53559bd5e
09a0: 33 30 32 38 62 30 38 30 66 37 63 30 36 38 0a 0a  3028b080f7c068..
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 35 31 32 2d 31 2e  F_HKDF-SHA512-1.
09d0: 35 20 7b 48 4b 44 46 2d 53 48 41 35 31 32 7d 20  5 {HKDF-SHA512} 
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 35 31 32 7d 20 5c 0a  {HKDF SHA512} \.
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 35 31 32  f -digest SHA512
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 31 34 30 37 64 34  t -result 1407d4
0ab0: 36 30 31 33 64 39 38 62 63 36 64 65 63 65 66 63  6013d98bc6decefc
0ac0: 66 65 65 35 35 66 30 66 39 30 62 30 63 37 66 36  fee55f0f90b0c7f6
0ad0: 33 64 36 38 65 62 31 61 38 30 65 61 66 30 37 65  3d68eb1a80eaf07e
0ae0: 39 35 33 63 66 63 30 61 33 61 35 32 34 30 61 31  953cfc0a3a5240a1
0af0: 35 35 64 36 65 34 64 61 61 39 36 35 62 62 0a 0a  55d6e4daa965bb..
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.