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.