Hex Artifact Content

Artifact 9975cd1b00d07db2cd850b63b61b6397e53686879e6b99b444d0be49bf15e7d7:


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 70 61 63 6b 61 67 65 20  12.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 4b 44  stConstraint HKD
0070: 46 20 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72 63  F [expr {[lsearc
0080: 68 20 2d 6e 6f 63 61 73 65 20 5b 74 6c 73 3a 3a  h -nocase [tls::
0090: 6b 64 66 73 5d 20 48 4b 44 46 5d 20 3e 20 2d 31  kdfs] HKDF] > -1
00a0: 7d 5d 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  }]..tcltest::tes
00b0: 74 20 4b 44 46 5f 48 4b 44 46 2d 53 48 41 35 31  t KDF_HKDF-SHA51
00c0: 32 2d 31 2e 31 20 7b 48 4b 44 46 2d 53 48 41 35  2-1.1 {HKDF-SHA5
00d0: 31 32 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  12} \..-constrai
00e0: 6e 74 73 20 48 4b 44 46 20 5c 0a 09 2d 73 65 74  nts HKDF \..-set
00f0: 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  up {} \..-body {
0100: 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65  binary encode he
0110: 78 20 5b 74 6c 73 3a 3a 68 6b 64 66 20 2d 64 69  x [tls::hkdf -di
0120: 67 65 73 74 20 53 48 41 35 31 32 20 2d 6b 65 79  gest SHA512 -key
0130: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
0140: 68 65 78 20 30 62 30 62 30 62 30 62 30 62 30 62  hex 0b0b0b0b0b0b
0150: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62  0b0b0b0b0b0b0b0b
0160: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62  0b0b0b0b0b0b0b0b
0170: 5d 20 2d 69 6e 66 6f 20 5b 62 69 6e 61 72 79 20  ] -info [binary 
0180: 64 65 63 6f 64 65 20 68 65 78 20 66 30 66 31 66  decode hex f0f1f
0190: 32 66 33 66 34 66 35 66 36 66 37 66 38 66 39 5d  2f3f4f5f6f7f8f9]
01a0: 20 2d 73 61 6c 74 20 5b 62 69 6e 61 72 79 20 64   -salt [binary d
01b0: 65 63 6f 64 65 20 68 65 78 20 30 30 30 31 30 32  ecode hex 000102
01c0: 30 33 30 34 30 35 30 36 30 37 30 38 30 39 30 61  030405060708090a
01d0: 30 62 30 63 5d 20 2d 73 69 7a 65 20 34 32 5d 7d  0b0c] -size 42]}
01e0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
01f0: 20 2d 72 65 73 75 6c 74 20 38 33 32 33 39 30 30   -result 8323900
0200: 38 36 63 64 61 37 31 66 62 34 37 36 32 35 62 62  86cda71fb47625bb
0210: 35 63 65 62 31 36 38 65 34 63 38 65 32 36 61 31  5ceb168e4c8e26a1
0220: 61 31 36 65 64 33 34 64 39 66 63 37 66 65 39 32  a16ed34d9fc7fe92
0230: 63 31 34 38 31 35 37 39 33 33 38 64 61 33 36 32  c1481579338da362
0240: 63 62 38 64 39 66 39 32 35 64 37 63 62 0a 0a 74  cb8d9f925d7cb..t
0250: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b 44 46  cltest::test KDF
0260: 5f 48 4b 44 46 2d 53 48 41 35 31 32 2d 31 2e 32  _HKDF-SHA512-1.2
0270: 20 7b 48 4b 44 46 2d 53 48 41 35 31 32 7d 20 5c   {HKDF-SHA512} \
0280: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 48  ..-constraints H
0290: 4b 44 46 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d  KDF \..-setup {}
02a0: 20 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e 61 72   \..-body {binar
02b0: 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 74 6c  y encode hex [tl
02c0: 73 3a 3a 68 6b 64 66 20 2d 64 69 67 65 73 74 20  s::hkdf -digest 
02d0: 53 48 41 35 31 32 20 2d 6b 65 79 20 5b 62 69 6e  SHA512 -key [bin
02e0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30  ary decode hex 0
02f0: 30 30 31 30 32 30 33 30 34 30 35 30 36 30 37 30  0010203040506070
0300: 38 30 39 30 61 30 62 30 63 30 64 30 65 30 66 31  8090a0b0c0d0e0f1
0310: 30 31 31 31 32 31 33 31 34 31 35 31 36 31 37 31  0111213141516171
0320: 38 31 39 31 61 31 62 31 63 31 64 31 65 31 66 32  8191a1b1c1d1e1f2
0330: 30 32 31 32 32 32 33 32 34 32 35 32 36 32 37 32  0212223242526272
0340: 38 32 39 32 61 32 62 32 63 32 64 32 65 32 66 33  8292a2b2c2d2e2f3
0350: 30 33 31 33 32 33 33 33 34 33 35 33 36 33 37 33  0313233343536373
0360: 38 33 39 33 61 33 62 33 63 33 64 33 65 33 66 34  8393a3b3c3d3e3f4
0370: 30 34 31 34 32 34 33 34 34 34 35 34 36 34 37 34  0414243444546474
0380: 38 34 39 34 61 34 62 34 63 34 64 34 65 34 66 5d  8494a4b4c4d4e4f]
0390: 20 2d 69 6e 66 6f 20 5b 62 69 6e 61 72 79 20 64   -info [binary d
03a0: 65 63 6f 64 65 20 68 65 78 20 62 30 62 31 62 32  ecode hex b0b1b2
03b0: 62 33 62 34 62 35 62 36 62 37 62 38 62 39 62 61  b3b4b5b6b7b8b9ba
03c0: 62 62 62 63 62 64 62 65 62 66 63 30 63 31 63 32  bbbcbdbebfc0c1c2
03d0: 63 33 63 34 63 35 63 36 63 37 63 38 63 39 63 61  c3c4c5c6c7c8c9ca
03e0: 63 62 63 63 63 64 63 65 63 66 64 30 64 31 64 32  cbcccdcecfd0d1d2
03f0: 64 33 64 34 64 35 64 36 64 37 64 38 64 39 64 61  d3d4d5d6d7d8d9da
0400: 64 62 64 63 64 64 64 65 64 66 65 30 65 31 65 32  dbdcdddedfe0e1e2
0410: 65 33 65 34 65 35 65 36 65 37 65 38 65 39 65 61  e3e4e5e6e7e8e9ea
0420: 65 62 65 63 65 64 65 65 65 66 66 30 66 31 66 32  ebecedeeeff0f1f2
0430: 66 33 66 34 66 35 66 36 66 37 66 38 66 39 66 61  f3f4f5f6f7f8f9fa
0440: 66 62 66 63 66 64 66 65 66 66 5d 20 2d 73 61 6c  fbfcfdfeff] -sal
0450: 74 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  t [binary decode
0460: 20 68 65 78 20 36 30 36 31 36 32 36 33 36 34 36   hex 60616263646
0470: 35 36 36 36 37 36 38 36 39 36 61 36 62 36 63 36  5666768696a6b6c6
0480: 64 36 65 36 66 37 30 37 31 37 32 37 33 37 34 37  d6e6f70717273747
0490: 35 37 36 37 37 37 38 37 39 37 61 37 62 37 63 37  5767778797a7b7c7
04a0: 64 37 65 37 66 38 30 38 31 38 32 38 33 38 34 38  d7e7f80818283848
04b0: 35 38 36 38 37 38 38 38 39 38 61 38 62 38 63 38  5868788898a8b8c8
04c0: 64 38 65 38 66 39 30 39 31 39 32 39 33 39 34 39  d8e8f90919293949
04d0: 35 39 36 39 37 39 38 39 39 39 61 39 62 39 63 39  5969798999a9b9c9
04e0: 64 39 65 39 66 61 30 61 31 61 32 61 33 61 34 61  d9e9fa0a1a2a3a4a
04f0: 35 61 36 61 37 61 38 61 39 61 61 61 62 61 63 61  5a6a7a8a9aaabaca
0500: 64 61 65 61 66 5d 20 2d 73 69 7a 65 20 38 32 5d  daeaf] -size 82]
0510: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0520: 74 20 2d 72 65 73 75 6c 74 20 63 65 36 63 39 37  t -result ce6c97
0530: 31 39 32 38 30 35 62 33 34 36 65 36 31 36 31 65  192805b346e6161e
0540: 38 32 31 65 64 31 36 35 36 37 33 62 38 34 66 34  821ed165673b84f4
0550: 30 30 61 32 62 35 31 34 62 32 66 65 32 33 64 38  00a2b514b2fe23d8
0560: 34 63 64 31 38 39 64 64 66 31 62 36 39 35 62 34  4cd189ddf1b695b4
0570: 38 63 62 64 31 63 38 33 38 38 34 34 31 31 33 37  8cbd1c8388441137
0580: 62 33 63 65 32 38 66 31 36 61 61 36 34 62 61 33  b3ce28f16aa64ba3
0590: 33 62 61 34 36 36 62 32 34 64 66 36 63 66 63 62  3ba466b24df6cfcb
05a0: 30 32 31 65 63 66 66 32 33 35 66 36 61 32 30 35  021ecff235f6a205
05b0: 36 63 65 33 61 66 31 64 65 34 34 64 35 37 32 30  6ce3af1de44d5720
05c0: 39 37 61 38 35 30 35 64 39 65 37 61 39 33 0a 0a  97a8505d9e7a93..
05d0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4b 44  tcltest::test KD
05e0: 46 5f 48 4b 44 46 2d 53 48 41 35 31 32 2d 31 2e  F_HKDF-SHA512-1.
05f0: 33 20 7b 48 4b 44 46 2d 53 48 41 35 31 32 7d 20  3 {HKDF-SHA512} 
0600: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
0610: 48 4b 44 46 20 5c 0a 09 2d 73 65 74 75 70 20 7b  HKDF \..-setup {
0620: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 62 69 6e 61  } \..-body {bina
0630: 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 74  ry encode hex [t
0640: 6c 73 3a 3a 68 6b 64 66 20 2d 64 69 67 65 73 74  ls::hkdf -digest
0650: 20 53 48 41 35 31 32 20 2d 6b 65 79 20 5b 62 69   SHA512 -key [bi
0660: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
0670: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62  0b0b0b0b0b0b0b0b
0680: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62  0b0b0b0b0b0b0b0b
0690: 30 62 30 62 30 62 30 62 30 62 30 62 5d 20 2d 73  0b0b0b0b0b0b] -s
06a0: 69 7a 65 20 34 32 5d 7d 20 5c 0a 09 2d 6d 61 74  ize 42]} \..-mat
06b0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
06c0: 20 66 35 66 61 30 32 62 31 38 32 39 38 61 37 32   f5fa02b18298a72
06d0: 61 38 63 32 33 38 39 38 61 38 37 30 33 34 37 32  a8c23898a8703472
06e0: 63 36 65 62 31 37 39 64 63 32 30 34 63 30 33 34  c6eb179dc204c034
06f0: 32 35 63 39 37 30 65 33 62 31 36 34 62 66 39 30  25c970e3b164bf90
0700: 66 66 66 32 32 64 30 34 38 33 36 64 30 65 32 33  fff22d04836d0e23
0710: 34 33 62 61 63 0a 0a 74 63 6c 74 65 73 74 3a 3a  43bac..tcltest::
0720: 74 65 73 74 20 4b 44 46 5f 48 4b 44 46 2d 53 48  test KDF_HKDF-SH
0730: 41 35 31 32 2d 31 2e 34 20 7b 48 4b 44 46 2d 53  A512-1.4 {HKDF-S
0740: 48 41 35 31 32 7d 20 5c 0a 09 2d 63 6f 6e 73 74  HA512} \..-const
0750: 72 61 69 6e 74 73 20 48 4b 44 46 20 5c 0a 09 2d  raints HKDF \..-
0760: 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d 62 6f 64  setup {} \..-bod
0770: 79 20 7b 62 69 6e 61 72 79 20 65 6e 63 6f 64 65  y {binary encode
0780: 20 68 65 78 20 5b 74 6c 73 3a 3a 68 6b 64 66 20   hex [tls::hkdf 
0790: 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d  -digest SHA512 -
07a0: 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  key [binary deco
07b0: 64 65 20 68 65 78 20 30 62 30 62 30 62 30 62 30  de hex 0b0b0b0b0
07c0: 62 30 62 30 62 30 62 30 62 30 62 30 62 5d 20 2d  b0b0b0b0b0b0b] -
07d0: 69 6e 66 6f 20 5b 62 69 6e 61 72 79 20 64 65 63  info [binary dec
07e0: 6f 64 65 20 68 65 78 20 66 30 66 31 66 32 66 33  ode hex f0f1f2f3
07f0: 66 34 66 35 66 36 66 37 66 38 66 39 5d 20 2d 73  f4f5f6f7f8f9] -s
0800: 61 6c 74 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  alt [binary deco
0810: 64 65 20 68 65 78 20 30 30 30 31 30 32 30 33 30  de hex 000102030
0820: 34 30 35 30 36 30 37 30 38 30 39 30 61 30 62 30  405060708090a0b0
0830: 63 5d 20 2d 73 69 7a 65 20 34 32 5d 7d 20 5c 0a  c] -size 42]} \.
0840: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
0850: 65 73 75 6c 74 20 37 34 31 33 65 38 39 39 37 65  esult 7413e8997e
0860: 30 32 30 36 31 30 66 62 66 36 38 32 33 66 32 63  020610fbf6823f2c
0870: 65 31 34 62 66 66 30 31 38 37 35 64 62 31 63 61  e14bff01875db1ca
0880: 35 35 66 36 38 63 66 63 66 33 39 35 34 64 63 38  55f68cfcf3954dc8
0890: 61 66 66 35 33 35 35 39 62 64 35 65 33 30 32 38  aff53559bd5e3028
08a0: 62 30 38 30 66 37 63 30 36 38 0a 0a 74 63 6c 74  b080f7c068..tclt
08b0: 65 73 74 3a 3a 74 65 73 74 20 4b 44 46 5f 48 4b  est::test KDF_HK
08c0: 44 46 2d 53 48 41 35 31 32 2d 31 2e 35 20 7b 48  DF-SHA512-1.5 {H
08d0: 4b 44 46 2d 53 48 41 35 31 32 7d 20 5c 0a 09 2d  KDF-SHA512} \..-
08e0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 48 4b 44 46  constraints HKDF
08f0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a   \..-setup {} \.
0900: 09 2d 62 6f 64 79 20 7b 62 69 6e 61 72 79 20 65  .-body {binary e
0910: 6e 63 6f 64 65 20 68 65 78 20 5b 74 6c 73 3a 3a  ncode hex [tls::
0920: 68 6b 64 66 20 2d 64 69 67 65 73 74 20 53 48 41  hkdf -digest SHA
0930: 35 31 32 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79  512 -key [binary
0940: 20 64 65 63 6f 64 65 20 68 65 78 20 30 63 30 63   decode hex 0c0c
0950: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63  0c0c0c0c0c0c0c0c
0960: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63  0c0c0c0c0c0c0c0c
0970: 30 63 30 63 30 63 30 63 5d 20 2d 73 69 7a 65 20  0c0c0c0c] -size 
0980: 34 32 5d 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  42]} \..-match e
0990: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31 34 30  xact -result 140
09a0: 37 64 34 36 30 31 33 64 39 38 62 63 36 64 65 63  7d46013d98bc6dec
09b0: 65 66 63 66 65 65 35 35 66 30 66 39 30 62 30 63  efcfee55f0f90b0c
09c0: 37 66 36 33 64 36 38 65 62 31 61 38 30 65 61 66  7f63d68eb1a80eaf
09d0: 30 37 65 39 35 33 63 66 63 30 61 33 61 35 32 34  07e953cfc0a3a524
09e0: 30 61 31 35 35 64 36 65 34 64 61 61 39 36 35 62  0a155d6e4daa965b
09f0: 62 0a 0a 23 20 43 6c 65 61 6e 75 70 0a 3a 3a 74  b..# Cleanup.::t
0a00: 63 6c 74 65 73 74 3a 3a 63 6c 65 61 6e 75 70 54  cltest::cleanupT
0a10: 65 73 74 73 0a 72 65 74 75 72 6e 0a              ests.return.