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.