Check-in [8440f589be]
Overview
Comment:Updated test cases for OpenSSL 3.0. Added load legacy provider for obsolete algorithms.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | crypto
Files: files | file ages | folders
SHA3-256: 8440f589beec01879f851171d674e695bc4f151cbf5acb13a1cce074421bab54
User & Date: bohagan on 2024-02-11 21:24:47
Other Links: branch diff | manifest | tags
Context
2024-02-24
03:57
Merged in changes from master check-in: 603eb0c0ba user: bohagan tags: crypto
2024-02-11
21:24
Updated test cases for OpenSSL 3.0. Added load legacy provider for obsolete algorithms. check-in: 8440f589be user: bohagan tags: crypto
20:51
Merged changes from master. check-in: 45be9618dc user: bohagan tags: crypto
Changes
1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "BLAKE2b512.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint BLAKE2b512 [expr {[lsearch -nocase [tls::digests] BLAKE2b512] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_BLAKE2b512-1.1 {BLAKE2b512} \
	-constraints BLAKE2b512 \
	-setup {set data ""} \
	-body {tls::digest -digest BLAKE2b512 -data $data} \
	-match exact -result 786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "BLAKE2s256.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint BLAKE2s256 [expr {[lsearch -nocase [tls::digests] BLAKE2s256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_BLAKE2s256-1.1 {BLAKE2s256} \
	-constraints BLAKE2s256 \
	-setup {set data ""} \
	-body {tls::digest -digest BLAKE2s256 -data $data} \
	-match exact -result 69217a3079908094e11121d042354a7c1f55b6482ca1a51e1b250dfd1ed0eef9

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "MD2.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint MD2 [expr {[lsearch -nocase [tls::digests] MD2] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_MD2-1.1 {MD2} \
	-constraints MD2 \
	-setup {set data ""} \
	-body {tls::digest -digest MD2 -data $data} \
	-match exact -result 8350e5a3e24c153df2275c9f80692773

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "MD4.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint MD4 [expr {[lsearch -nocase [tls::digests] MD4] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_MD4-1.1 {MD4} \
	-constraints MD4 \
	-setup {set data ""} \
	-body {tls::digest -digest MD4 -data $data} \
	-match exact -result 31d6cfe0d16ae931b73c59d7e0c089c0

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "MD5.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint MD5 [expr {[lsearch -nocase [tls::digests] MD5] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_MD5-1.1 {MD5} \
	-constraints MD5 \
	-setup {set data ""} \
	-body {tls::digest -digest MD5 -data $data} \
	-match exact -result d41d8cd98f00b204e9800998ecf8427e

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "MDC2.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint MDC2 [expr {[lsearch -nocase [tls::digests] MDC2] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_MDC2-1.1 {MDC2} \
	-constraints MDC2 \
	-setup {set data ""} \
	-body {tls::digest -digest MDC2 -data $data} \
	-match exact -result 52525252525252522525252525252525

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "RIPEMD128.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint RIPEMD128 [expr {[lsearch -nocase [tls::digests] RIPEMD128] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_RIPEMD128-1.1 {RIPEMD128} \
	-constraints RIPEMD128 \
	-setup {set data ""} \
	-body {tls::digest -digest RIPEMD128 -data $data} \
	-match exact -result cdf26213a150dc3ecb610f18f6b38b46

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "RIPEMD160.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint RIPEMD160 [expr {[lsearch -nocase [tls::digests] RIPEMD160] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_RIPEMD160-1.1 {RIPEMD160} \
	-constraints RIPEMD160 \
	-setup {set data ""} \
	-body {tls::digest -digest RIPEMD160 -data $data} \
	-match exact -result 9c1185a5c5e9fc54612808977ee8f548b2258d31

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "RIPEMD256.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint RIPEMD256 [expr {[lsearch -nocase [tls::digests] RIPEMD256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_RIPEMD256-1.1 {RIPEMD256} \
	-constraints RIPEMD256 \
	-setup {set data ""} \
	-body {tls::digest -digest RIPEMD256 -data $data} \
	-match exact -result 02ba4c4e5f8ecd1877fc52d64d30e37a2d9774fb1e5d026380ae0168e3c5522d

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "RIPEMD320.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint RIPEMD320 [expr {[lsearch -nocase [tls::digests] RIPEMD320] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_RIPEMD320-1.1 {RIPEMD320} \
	-constraints RIPEMD320 \
	-setup {set data ""} \
	-body {tls::digest -digest RIPEMD320 -data $data} \
	-match exact -result 22d65d5661536cdc75c1fdf5c6de7b41b9f27325ebc61e8557177d705a0ec880151c3a32a00899b8

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA1.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA1 [expr {[lsearch -nocase [tls::digests] SHA1] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA1-1.1 {SHA1} \
	-constraints SHA1 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA1 -data $data} \
	-match exact -result da39a3ee5e6b4b0d3255bfef95601890afd80709

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA1LongMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA1 [expr {[lsearch -nocase [tls::digests] SHA1] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA1-3.1 {SHA1LongMsg} \
	-constraints SHA1 \
	-setup {set data [binary decode hex 7c9c67323a1df1adbfe5ceb415eaef0155ece2820f4d50c1ec22cba4928ac656c83fe585db6a78ce40bc42757aba7e5a3f582428d6ca68d0c3978336a6efb729613e8d9979016204bfd921322fdd5222183554447de5e6e9bbe6edf76d7b71e18dc2e8d6dc89b7398364f652fafc734329aafa3dcd45d4f31e388e4fafd7fc6495f37ca5cbab7f54d586463da4bfeaa3bae09f7b8e9239d832b4f0a733aa609cc1f8d4]} \
	-body {tls::digest -digest SHA1 -data $data} \
	-match exact -result d8fd6a91ef3b6ced05b98358a99107c1fac8c807

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA1ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA1 [expr {[lsearch -nocase [tls::digests] SHA1] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA1-2.1 {SHA1ShortMsg} \
	-constraints SHA1 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA1 -data $data} \
	-match exact -result da39a3ee5e6b4b0d3255bfef95601890afd80709

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA224.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA224 [expr {[lsearch -nocase [tls::digests] SHA224] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA224-1.1 {SHA224} \
	-constraints SHA224 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA224 -data $data} \
	-match exact -result d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA224LongMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA224 [expr {[lsearch -nocase [tls::digests] SHA224] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA224-3.1 {SHA224LongMsg} \
	-constraints SHA224 \
	-setup {set data [binary decode hex f149e41d848f59276cfddd743bafa9a90e1ee4a263a118142b33e3702176ef0a59f8237a1cb51b42f3ded6b202d9af0997898fdd03cf60bda951c514547a0850cec25444ae2f24cb711bfbafcc3956c941d3de69f155e3f8b10f06db5f37359b772ddd43e1035a0a0d3db33242d5843033833b0dd43b870c6bf60e8deab55f317cc3273f5e3ba747f0cb65050cb7228796210d9254873643008d45f29cfd6c5b060c9a]} \
	-body {tls::digest -digest SHA224 -data $data} \
	-match exact -result 9db6dc3a23abd7b6c3d72c38f4843c7de48a71d0ba91a86b18393e5f

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA224ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA224 [expr {[lsearch -nocase [tls::digests] SHA224] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA224-2.1 {SHA224ShortMsg} \
	-constraints SHA224 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA224 -data $data} \
	-match exact -result d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA256.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA256 [expr {[lsearch -nocase [tls::digests] SHA256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA256-1.1 {SHA256} \
	-constraints SHA256 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA256 -data $data} \
	-match exact -result e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA256LongMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA256 [expr {[lsearch -nocase [tls::digests] SHA256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA256-3.1 {SHA256LongMsg} \
	-constraints SHA256 \
	-setup {set data [binary decode hex 451101250ec6f26652249d59dc974b7361d571a8101cdfd36aba3b5854d3ae086b5fdd4597721b66e3c0dc5d8c606d9657d0e323283a5217d1f53f2f284f57b85c8a61ac8924711f895c5ed90ef17745ed2d728abd22a5f7a13479a462d71b56c19a74a40b655c58edfe0a188ad2cf46cbf30524f65d423c837dd1ff2bf462ac4198007345bb44dbb7b1c861298cdf61982a833afc728fae1eda2f87aa2c9480858bec]} \
	-body {tls::digest -digest SHA256 -data $data} \
	-match exact -result 3c593aa539fdcdae516cdf2f15000f6634185c88f505b39775fb9ab137a10aa2

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA256ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA256 [expr {[lsearch -nocase [tls::digests] SHA256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA256-2.1 {SHA256ShortMsg} \
	-constraints SHA256 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA256 -data $data} \
	-match exact -result e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA3-224.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA3_224 [expr {[lsearch -nocase [tls::digests] SHA3-224] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA3-224-1.1 {SHA3-224} \
	-constraints SHA3_224 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA3-224 -data $data} \
	-match exact -result 6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA3-256.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA3_256 [expr {[lsearch -nocase [tls::digests] SHA3-256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA3-256-1.1 {SHA3-256} \
	-constraints SHA3_256 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA3-256 -data $data} \
	-match exact -result a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA3-384.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA3_384 [expr {[lsearch -nocase [tls::digests] SHA3-384] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA3-384-1.1 {SHA3-384} \
	-constraints SHA3_384 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA3-384 -data $data} \
	-match exact -result 0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA3-512.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA3_512 [expr {[lsearch -nocase [tls::digests] SHA3-512] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA3-512-1.1 {SHA3-512} \
	-constraints SHA3_512 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA3-512 -data $data} \
	-match exact -result a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA384.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA384 [expr {[lsearch -nocase [tls::digests] SHA384] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA384-1.1 {SHA384} \
	-constraints SHA384 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA384 -data $data} \
	-match exact -result 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA384LongMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA384 [expr {[lsearch -nocase [tls::digests] SHA384] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA384-3.1 {SHA384LongMsg} \
	-constraints SHA384 \
	-setup {set data [binary decode hex 62c6a169b9be02b3d7b471a964fc0bcc72b480d26aecb2ed460b7f50016ddaf04c51218783f3aadfdff5a04ded030d7b3fb7376b61ba30b90e2da921a4470740d63fb99fa16cc8ed81abaf8ce4016e50df81da832070372c24a80890aa3a26fa675710b8fb718266249d496f313c55d0bada101f8f56eeccee4345a8f98f60a36662cfda794900d12f9414fcbdfdeb85388a814996b47e24d5c8086e7a8edcc53d299d0d033e6bb60c58b83d6e8b57f6c258d6081dd10eb942fdf8ec157ec3e75371235a8196eb9d22b1de3a2d30c2abbe0db7650cf6c7159bacbe29b3a93c92100508]} \
	-body {tls::digest -digest SHA384 -data $data} \
	-match exact -result 0730e184e7795575569f87030260bb8e54498e0e5d096b18285e988d245b6f3486d1f2447d5f85bcbe59d5689fc49425

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA384ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA384 [expr {[lsearch -nocase [tls::digests] SHA384] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA384-2.1 {SHA384ShortMsg} \
	-constraints SHA384 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA384 -data $data} \
	-match exact -result 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA3_224LongMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA3_224 [expr {[lsearch -nocase [tls::digests] SHA3-224] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA3-224-3.1 {SHA3_224LongMsg} \
	-constraints SHA3_224 \
	-setup {set data [binary decode hex 31c82d71785b7ca6b651cb6c8c9ad5e2aceb0b0633c088d33aa247ada7a594ff4936c023251319820a9b19fc6c48de8a6f7ada214176ccdaadaeef51ed43714ac0c8269bbd497e46e78bb5e58196494b2471b1680e2d4c6dbd249831bd83a4d3be06c8a2e903933974aa05ee748bfe6ef359f7a143edf0d4918da916bd6f15e26a790cff514b40a5da7f72e1ed2fe63a05b8149587bea05653718cc8980eadbfeca85b7c9c286dd040936585938be7f98219700c83a9443c2856a80ff46852b26d1b1edf72a30203cf6c44a10fa6eaf1920173cedfb5c4cf3ac665b37a86ed02155bbbf17dc2e786af9478fe0889d86c5bfa85a242eb0854b1482b7bd16f67f80bef9c7a628f05a107936a64273a97b0088b0e515451f916b5656230a12ba6dc78]} \
	-body {tls::digest -digest SHA3-224 -data $data} \
	-match exact -result aab23c9e7fb9d7dacefdfd0b1ae85ab1374abff7c4e3f7556ecae412

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA3_224ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA3_224 [expr {[lsearch -nocase [tls::digests] SHA3-224] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA3-224-2.1 {SHA3_224ShortMsg} \
	-constraints SHA3_224 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA3-224 -data $data} \
	-match exact -result 6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA3_256LongMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA3_256 [expr {[lsearch -nocase [tls::digests] SHA3-256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA3-256-3.1 {SHA3_256LongMsg} \
	-constraints SHA3_256 \
	-setup {set data [binary decode hex b1caa396771a09a1db9bc20543e988e359d47c2a616417bbca1b62cb02796a888fc6eeff5c0b5c3d5062fcb4256f6ae1782f492c1cf03610b4a1fb7b814c057878e1190b9835425c7a4a0e182ad1f91535ed2a35033a5d8c670e21c575ff43c194a58a82d4a1a44881dd61f9f8161fc6b998860cbe4975780be93b6f87980bad0a99aa2cb7556b478ca35d1f3746c33e2bb7c47af426641cc7bbb3425e2144820345e1d0ea5b7da2c3236a52906acdc3b4d34e474dd714c0c40bf006a3a1d889a632983814bbc4a14fe5f159aa89249e7c738b3b73666bac2a615a83fd21ae0a1ce7352ade7b278b587158fd2fabb217aa1fe31d0bda53272045598015a8ae4d8cec226fefa58daa05500906c4d85e7567]} \
	-body {tls::digest -digest SHA3-256 -data $data} \
	-match exact -result cb5648a1d61c6c5bdacd96f81c9591debc3950dcf658145b8d996570ba881a05

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA3_256ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA3_256 [expr {[lsearch -nocase [tls::digests] SHA3-256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA3-256-2.1 {SHA3_256ShortMsg} \
	-constraints SHA3_256 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA3-256 -data $data} \
	-match exact -result a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA3_384LongMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA3_384 [expr {[lsearch -nocase [tls::digests] SHA3-384] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA3-384-3.1 {SHA3_384LongMsg} \
	-constraints SHA3_384 \
	-setup {set data [binary decode hex 5fe35923b4e0af7dd24971812a58425519850a506dfa9b0d254795be785786c319a2567cbaa5e35bcf8fe83d943e23fa5169b73adc1fcf8b607084b15e6a013df147e46256e4e803ab75c110f77848136be7d806e8b2f868c16c3a90c14463407038cb7d9285079ef162c6a45cedf9c9f066375c969b5fcbcda37f02aacff4f31cded3767570885426bebd9eca877e44674e9ae2f0c24cdd0e7e1aaf1ff2fe7f80a1c4f5078eb34cd4f06fa94a2d1eab5806ca43fd0f06c60b63d5402b95c70c21ea65a151c5cfaf8262a46be3c722264b]} \
	-body {tls::digest -digest SHA3-384 -data $data} \
	-match exact -result 3054d249f916a6039b2a9c3ebec1418791a0608a170e6d36486035e5f92635eaba98072a85373cb54e2ae3f982ce132b

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA3_384ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA3_384 [expr {[lsearch -nocase [tls::digests] SHA3-384] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA3-384-2.1 {SHA3_384ShortMsg} \
	-constraints SHA3_384 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA3-384 -data $data} \
	-match exact -result 0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA3_512LongMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA3_512 [expr {[lsearch -nocase [tls::digests] SHA3-512] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA3-512-3.1 {SHA3_512LongMsg} \
	-constraints SHA3_512 \
	-setup {set data [binary decode hex 664ef2e3a7059daf1c58caf52008c5227e85cdcb83b4c59457f02c508d4f4f69f826bd82c0cffc5cb6a97af6e561c6f96970005285e58f21ef6511d26e709889a7e513c434c90a3cf7448f0caeec7114c747b2a0758a3b4503a7cf0c69873ed31d94dbef2b7b2f168830ef7da3322c3d3e10cafb7c2c33c83bbf4c46a31da90cff3bfd4ccc6ed4b310758491eeba603a76]} \
	-body {tls::digest -digest SHA3-512 -data $data} \
	-match exact -result e5825ff1a3c070d5a52fbbe711854a440554295ffb7a7969a17908d10163bfbe8f1d52a676e8a0137b56a11cdf0ffbb456bc899fc727d14bd8882232549d914e

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA3_512ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA3_512 [expr {[lsearch -nocase [tls::digests] SHA3-512] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA3-512-2.1 {SHA3_512ShortMsg} \
	-constraints SHA3_512 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA3-512 -data $data} \
	-match exact -result a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA512-224.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA512_224 [expr {[lsearch -nocase [tls::digests] SHA512-224] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA512-224-1.1 {SHA512-224} \
	-constraints SHA512_224 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA512-224 -data $data} \
	-match exact -result 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA512-256.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA512_256 [expr {[lsearch -nocase [tls::digests] SHA512-256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA512-256-1.1 {SHA512-256} \
	-constraints SHA512_256 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA512-256 -data $data} \
	-match exact -result c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA512.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA512 [expr {[lsearch -nocase [tls::digests] SHA512] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA512-1.1 {SHA512} \
	-constraints SHA512 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA512 -data $data} \
	-match exact -result cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA512LongMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA512 [expr {[lsearch -nocase [tls::digests] SHA512] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA512-3.1 {SHA512LongMsg} \
	-constraints SHA512 \
	-setup {set data [binary decode hex 4f05600950664d5190a2ebc29c9edb89c20079a4d3e6bc3b27d75e34e2fa3d02768502bd69790078598d5fcf3d6779bfed1284bbe5ad72fb456015181d9587d6e864c940564eaafb4f2fead4346ea09b6877d9340f6b82eb1515880872213da3ad88feba9f4f13817a71d6f90a1a17c43a15c038d988b5b29edffe2d6a062813cedbe852cde302b3e33b696846d2a8e36bd680efcc6cd3f9e9a4c1ae8cac10cc5244d131677140399176ed46700019a004a163806f7fa467fc4e17b4617bbd7641aaff7ff56396ba8c08a8be100b33a20b5daf134a2aefa5e1c3496770dcf6baa4f7bb]} \
	-body {tls::digest -digest SHA512 -data $data} \
	-match exact -result a9db490c708cc72548d78635aa7da79bb253f945d710e5cb677a474efc7c65a2aab45bc7ca1113c8ce0f3c32e1399de9c459535e8816521ab714b2a6cd200525

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA512ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA512 [expr {[lsearch -nocase [tls::digests] SHA512] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA512-2.1 {SHA512ShortMsg} \
	-constraints SHA512 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA512 -data $data} \
	-match exact -result cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA512_224LongMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA512_224 [expr {[lsearch -nocase [tls::digests] SHA512-224] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA512-224-3.1 {SHA512_224LongMsg} \
	-constraints SHA512_224 \
	-setup {set data [binary decode hex 9625ae618ea633fd7ae5b20ceafd6b1f3ab1a6aa20aded66810e78f38925e9c2fa783a32c40af3f9d7dda0c635b482254b1d85a281af7231109166cd133c8360e281e5e39bcdd7c601ac47928a8c78cdb3c4f71e97d4d0b1c0ee01dd3db62f04f44798bb3a76492ba15a91b7110cb5e01babe56589a36fae3a2f336a2d1d5778dbd23c03ca8db0f25ff0657ff4bca1252adc38c080a5b8f0255ce3be0bf862823d2ab704729b74e1e275aa305824a566895ed677a460113e2a7bf91f00d0b8ebc358f3035b27fcc1d3f14a1367cd2769df39a9d21c5ee361f1965cd6342cc17a1463d6]} \
	-body {tls::digest -digest SHA512-224 -data $data} \
	-match exact -result 72640a79fbb1cfb26e09b4b35385389ed633a55e092906d01a7186e1

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA512_224ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA512_224 [expr {[lsearch -nocase [tls::digests] SHA512-224] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA512-224-2.1 {SHA512_224ShortMsg} \
	-constraints SHA512_224 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA512-224 -data $data} \
	-match exact -result 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA512_256LongMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA512_256 [expr {[lsearch -nocase [tls::digests] SHA512-256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA512-256-3.1 {SHA512_256LongMsg} \
	-constraints SHA512_256 \
	-setup {set data [binary decode hex 97e003903bb971a523ce0c82bda5d6733c76b90deb307559c1bddd35368743f6563b315214cd5a7ee0bccf937c9776360bc0b9786b707bfbc4fb50576155edbbbfd5ddd8e43a76faf2ec0c78fc84644f188d6b0ab68c28e5303ff031a223d9fafb3871e85408af6381e629fae67488068c68398a758f665e2c12258d9ff8effb31ec534b0c40ebffb43390e1e26fcaa28fd68ac24f7e1cafe0fa573103dc17058a77edc9b3ea1418b45aa7f5977e126d4861c778ed6332217581eee674d739622e63a529f10c11f4a9e3d8feaea848ade0905675f6458ffa132f52749af23d584438e5]} \
	-body {tls::digest -digest SHA512-256 -data $data} \
	-match exact -result 00ce3b592d4e1a65f780df351fa7b2c01b49df4ea913c3fab24297f5791b18e5

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHA512_256ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHA512_256 [expr {[lsearch -nocase [tls::digests] SHA512-256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHA512-256-2.1 {SHA512_256ShortMsg} \
	-constraints SHA512_256 \
	-setup {set data ""} \
	-body {tls::digest -digest SHA512-256 -data $data} \
	-match exact -result c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHAKE128.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHAKE128 [expr {[lsearch -nocase [tls::digests] SHAKE128] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHAKE128-1.1 {SHAKE128} \
	-constraints SHAKE128 \
	-setup {set data ""} \
	-body {tls::digest -digest SHAKE128 -data $data} \
	-match exact -result 7f9c2ba4e88f827d616045507605853ed73b8093f6efbc88eb1a6eacfa66ef26

cannot compute difference between binary files

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHAKE128ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHAKE128 [expr {[lsearch -nocase [tls::digests] SHAKE128] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHAKE128-2.1 {SHAKE128ShortMsg} \
	-constraints SHAKE128 \
	-setup {set data ""} \
	-body {tls::digest -digest SHAKE128 -data $data} \
	-match exact -result 7f9c2ba4e88f827d616045507605853e

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHAKE256.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHAKE256 [expr {[lsearch -nocase [tls::digests] SHAKE256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHAKE256-1.1 {SHAKE256} \
	-constraints SHAKE256 \
	-setup {set data ""} \
	-body {tls::digest -digest SHAKE256 -data $data} \
	-match exact -result 46b9dd2b0ba88d13233b3feb743eeb243fcd52ea62b81b82b50c27646ed5762fd75dc4ddd8c0f200cb05019d67b592f6fc821c49479ab48640292eacb3b7c4be

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHAKE256LongMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHAKE256 [expr {[lsearch -nocase [tls::digests] SHAKE256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHAKE256-3.1 {SHAKE256LongMsg} \
	-constraints SHAKE256 \
	-setup {set data [binary decode hex dc5a100fa16df1583c79722a0d72833d3bf22c109b8889dbd35213c6bfce205813edae3242695cfd9f59b9a1c203c1b72ef1a5423147cb990b5316a85266675894e2644c3f9578cebe451a09e58c53788fe77a9e850943f8a275f830354b0593a762bac55e984db3e0661eca3cb83f67a6fb348e6177f7dee2df40c4322602f094953905681be3954fe44c4c902c8f6bba565a788b38f13411ba76ce0f9f6756a2a2687424c5435a51e62df7a8934b6e141f74c6ccf539e3782d22b5955d3baf1ab2cf7b5c3f74ec2f9447344e937957fd7f0bdfec56d5d25f61cde18c0986e244ecf780d6307e313117256948d4230ebb9ea62bb302cfe80d7dfebabc4a51d7687967ed5b416a139e974c005fff507a96]} \
	-body {tls::digest -digest SHAKE256 -data $data} \
	-match exact -result 2bac5716803a9cda8f9e84365ab0a681327b5ba34fdedfb1c12e6e807f45284b

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SHAKE256ShortMsg.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SHAKE256 [expr {[lsearch -nocase [tls::digests] SHAKE256] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SHAKE256-2.1 {SHAKE256ShortMsg} \
	-constraints SHAKE256 \
	-setup {set data ""} \
	-body {tls::digest -digest SHAKE256 -data $data} \
	-match exact -result 46b9dd2b0ba88d13233b3feb743eeb243fcd52ea62b81b82b50c27646ed5762f

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "SM3.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint SM3 [expr {[lsearch -nocase [tls::digests] SM3] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_SM3-1.1 {SM3} \
	-constraints SM3 \
	-setup {set data ""} \
	-body {tls::digest -digest SM3 -data $data} \
	-match exact -result 1ab21d8355cfa17f8e61194831e81a8f22bec8c728fefb747ed035eb5082aa2b

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "WHIRLPOOL.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint WHIRLPOOL [expr {[lsearch -nocase [tls::digests] WHIRLPOOL] > -1}]
catch {tls::provider legacy}

tcltest::test Hash_WHIRLPOOL-1.1 {WHIRLPOOL} \
	-constraints WHIRLPOOL \
	-setup {set data ""} \
	-body {tls::digest -digest WHIRLPOOL -data $data} \
	-match exact -result 19fa61d75522a4669b44e39c1d2e1726c530232130d407f89afee0964997f7a73e83be698b288febcf88e3e03c4f0757ea8964e59b63d93708b138cc42a66eb3

77
78
79
80
81
82
83

84
85
86
87

88
89
90
91
92
93
94
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96







+




+








    # Get digest
    set digest [string map [list LongMsg "" ShortMsg "" Monte "" "_" "-"] $tail]
    set params [list]

    # Add config info
    puts $out [format "# Auto generated from \"%s\"" [file tail $filename]]
    puts $out [format "lappend auto_path %s" {[file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]}]
    puts $out "package require tls"
    puts $out "package require tcltest\n"
    puts $out [format "tcltest::testConstraint %s %s" [string map [list "-" "_"] $digest] \
	[format {[expr {[lsearch -nocase [tls::digests] %s] > -1}]} $digest]]
    puts $out "catch {tls::provider legacy}"
    puts $out ""

    # Process file
    while {![eof $ch]} {
	gets $ch line
	set line [string trim $line]
	set len [string length $line]
1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HKDF-SHA1.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HKDF [expr {[lsearch -nocase [tls::kdfs] HKDF] > -1}]
tcltest::testConstraint SHA1 [expr {[lsearch -nocase [tls::digests] SHA1] > -1}]
catch {tls::provider legacy}

tcltest::test KDF_HKDF-SHA1-1.1 {HKDF-SHA1} \
	-constraints {HKDF SHA1} \
	-setup {} \
	-body {binary encode hex [tls::hkdf -digest SHA1 -key [binary decode hex 0b0b0b0b0b0b0b0b0b0b0b] -info [binary decode hex f0f1f2f3f4f5f6f7f8f9] -salt [binary decode hex 000102030405060708090a0b0c] -size 42]} \
	-match exact -result 085a01ea1b10f36933068b56efa5ad81a4f14b822f5b091568a9cdd4f155fda2c22e422478d305f3f896

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HKDF-SHA224.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HKDF [expr {[lsearch -nocase [tls::kdfs] HKDF] > -1}]
tcltest::testConstraint SHA224 [expr {[lsearch -nocase [tls::digests] SHA224] > -1}]
catch {tls::provider legacy}

tcltest::test KDF_HKDF-SHA224-1.1 {HKDF-SHA224} \
	-constraints {HKDF SHA224} \
	-setup {} \
	-body {binary encode hex [tls::hkdf -digest SHA224 -key [binary decode hex 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b] -info [binary decode hex f0f1f2f3f4f5f6f7f8f9] -salt [binary decode hex 000102030405060708090a0b0c] -size 42]} \
	-match exact -result 2f21cd7cbc818ca5c561b933728e2e08e154a87e1432399a820dee13aa222d0cee6152fa539ab70f8e80

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HKDF-SHA256.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HKDF [expr {[lsearch -nocase [tls::kdfs] HKDF] > -1}]
tcltest::testConstraint SHA256 [expr {[lsearch -nocase [tls::digests] SHA256] > -1}]
catch {tls::provider legacy}

tcltest::test KDF_HKDF-SHA256-1.1 {HKDF-SHA256} \
	-constraints {HKDF SHA256} \
	-setup {} \
	-body {binary encode hex [tls::hkdf -digest SHA256 -key [binary decode hex 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b] -info [binary decode hex f0f1f2f3f4f5f6f7f8f9] -salt [binary decode hex 000102030405060708090a0b0c] -size 42]} \
	-match exact -result 3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HKDF-SHA384.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HKDF [expr {[lsearch -nocase [tls::kdfs] HKDF] > -1}]
tcltest::testConstraint SHA384 [expr {[lsearch -nocase [tls::digests] SHA384] > -1}]
catch {tls::provider legacy}

tcltest::test KDF_HKDF-SHA384-1.1 {HKDF-SHA384} \
	-constraints {HKDF SHA384} \
	-setup {} \
	-body {binary encode hex [tls::hkdf -digest SHA384 -key [binary decode hex 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b] -info [binary decode hex f0f1f2f3f4f5f6f7f8f9] -salt [binary decode hex 000102030405060708090a0b0c] -size 42]} \
	-match exact -result 9b5097a86038b805309076a44b3a9f38063e25b516dcbf369f394cfab43685f748b6457763e4f0204fc5

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HKDF-SHA512.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HKDF [expr {[lsearch -nocase [tls::kdfs] HKDF] > -1}]
tcltest::testConstraint SHA512 [expr {[lsearch -nocase [tls::digests] SHA512] > -1}]
catch {tls::provider legacy}

tcltest::test KDF_HKDF-SHA512-1.1 {HKDF-SHA512} \
	-constraints {HKDF SHA512} \
	-setup {} \
	-body {binary encode hex [tls::hkdf -digest SHA512 -key [binary decode hex 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b] -info [binary decode hex f0f1f2f3f4f5f6f7f8f9] -salt [binary decode hex 000102030405060708090a0b0c] -size 42]} \
	-match exact -result 832390086cda71fb47625bb5ceb168e4c8e26a1a16ed34d9fc7fe92c1481579338da362cb8d9f925d7cb

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "PBKDF2-SHA1.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint PBKDF2 [expr {[lsearch -nocase [tls::kdfs] PBKDF2] > -1}]
tcltest::testConstraint SHA1 [expr {[lsearch -nocase [tls::digests] SHA1] > -1}]
catch {tls::provider legacy}

tcltest::test KDF_PBKDF2-SHA1-1.1 {PBKDF2-SHA1} \
	-constraints {PBKDF2 SHA1} \
	-setup {} \
	-body {binary encode hex [tls::pbkdf2 -digest SHA1 -password "password" -salt "salt" -iterations 1 -size 20]} \
	-match exact -result 0c60c80f961f0e71f3a9b524af6012062fe037a6

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "PBKDF2-SHA224.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint PBKDF2 [expr {[lsearch -nocase [tls::kdfs] PBKDF2] > -1}]
tcltest::testConstraint SHA224 [expr {[lsearch -nocase [tls::digests] SHA224] > -1}]
catch {tls::provider legacy}

tcltest::test KDF_PBKDF2-SHA224-1.1 {PBKDF2-SHA224} \
	-constraints {PBKDF2 SHA224} \
	-setup {} \
	-body {binary encode hex [tls::pbkdf2 -digest SHA224 -password "password" -salt "salt" -iterations 1 -size 20]} \
	-match exact -result 3c198cbdb9464b7857966bd05b7bc92bc1cc4e6e

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "PBKDF2-SHA256.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint PBKDF2 [expr {[lsearch -nocase [tls::kdfs] PBKDF2] > -1}]
tcltest::testConstraint SHA256 [expr {[lsearch -nocase [tls::digests] SHA256] > -1}]
catch {tls::provider legacy}

tcltest::test KDF_PBKDF2-SHA256-1.1 {PBKDF2-SHA256} \
	-constraints {PBKDF2 SHA256} \
	-setup {} \
	-body {binary encode hex [tls::pbkdf2 -digest SHA256 -password "password" -salt "salt" -iterations 1 -size 20]} \
	-match exact -result 120fb6cffcf8b32c43e7225256c4f837a86548c9

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "PBKDF2-SHA384.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint PBKDF2 [expr {[lsearch -nocase [tls::kdfs] PBKDF2] > -1}]
tcltest::testConstraint SHA384 [expr {[lsearch -nocase [tls::digests] SHA384] > -1}]
catch {tls::provider legacy}

tcltest::test KDF_PBKDF2-SHA384-1.1 {PBKDF2-SHA384} \
	-constraints {PBKDF2 SHA384} \
	-setup {} \
	-body {binary encode hex [tls::pbkdf2 -digest SHA384 -password "password" -salt "salt" -iterations 1 -size 20]} \
	-match exact -result c0e14f06e49e32d73f9f52ddf1d0c5c719160923

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "PBKDF2-SHA512.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint PBKDF2 [expr {[lsearch -nocase [tls::kdfs] PBKDF2] > -1}]
tcltest::testConstraint SHA512 [expr {[lsearch -nocase [tls::digests] SHA512] > -1}]
catch {tls::provider legacy}

tcltest::test KDF_PBKDF2-SHA512-1.1 {PBKDF2-SHA512} \
	-constraints {PBKDF2 SHA512} \
	-setup {} \
	-body {binary encode hex [tls::pbkdf2 -digest SHA512 -password "password" -salt "salt" -iterations 1 -size 20]} \
	-match exact -result 867f70cf1ade02cff3752599a3a53dc4af34c7a6

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "Scrypt.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint Scrypt [expr {[lsearch -nocase [tls::kdfs] Scrypt] > -1}]
catch {tls::provider legacy}

tcltest::test KDF_Scrypt-1.1 {Scrypt} \
	-constraints {Scrypt } \
	-setup {} \
	-body {binary encode hex [tls::scrypt -password "" -salt "" -size 64 -N 16 -r 1 -p 1]} \
	-match exact -result 77d6576238657b203b19ca42c18a0497f16b4844e3074ae8dfdffa3fede21442fcd0069ded0948f8326a753a0fc81f17e8d3e0fb2e0d3628cf35e20c38d18906

82
83
84
85
86
87
88

89
90
91
92
93
94
95
96

97
98
99
100
101
102
103
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105







+








+








    # Get digest
    lassign [split [string map [list "_" "-"] $tail] "-"] kdf digest
    set params [list]

    # Add config info
    puts $out [format "# Auto generated from \"%s\"" [file tail $filename]]
    puts $out [format "lappend auto_path %s" {[file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]}]
    puts $out "package require tls"
    puts $out "package require tcltest\n"
    puts $out [format "tcltest::testConstraint %s %s" [string map [list "-" "_"] $kdf] \
	[format {[expr {[lsearch -nocase [tls::kdfs] %s] > -1}]} $kdf]]
    if {$digest ne ""} {
	puts $out [format "tcltest::testConstraint %s %s" [string map [list "-" "_"] $digest] \
	    [format {[expr {[lsearch -nocase [tls::digests] %s] > -1}]} $digest]]
    }
    puts $out "catch {tls::provider legacy}"
    puts $out ""

    # Process file
    while {![eof $ch]} {
	gets $ch line
	set line [string trim $line]
	set len [string length $line]
1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "CMAC-AES-128-CBC.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint CMAC [expr {[lsearch -nocase [tls::macs] CMAC] > -1}]
tcltest::testConstraint AES_128_CBC [expr {[lsearch -nocase [tls::ciphers] AES-128-CBC] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_CMAC-AES-128-CBC-1.1 {CMAC-AES-128-CBC} \
	-constraints {CMAC  AES_128_CBC} \
	-setup {} \
	-body {string range [tls::cmac -hex -cipher AES-128-CBC -key [binary decode hex 2b7e151628aed2a6abf7158809cf4f3c] -data ""] 0 31} \
	-match exact -result bb1d6929e95937287fa37d129b756746

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "CMAC-AES-192-CBC.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint CMAC [expr {[lsearch -nocase [tls::macs] CMAC] > -1}]
tcltest::testConstraint AES_192_CBC [expr {[lsearch -nocase [tls::ciphers] AES-192-CBC] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_CMAC-AES-192-CBC-1.1 {CMAC-AES-192-CBC} \
	-constraints {CMAC  AES_192_CBC} \
	-setup {} \
	-body {string range [tls::cmac -hex -cipher AES-192-CBC -key [binary decode hex 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b] -data ""] 0 31} \
	-match exact -result d17ddf46adaacde531cac483de7a9367

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "CMAC-AES-256-CBC.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint CMAC [expr {[lsearch -nocase [tls::macs] CMAC] > -1}]
tcltest::testConstraint AES_256_CBC [expr {[lsearch -nocase [tls::ciphers] AES-256-CBC] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_CMAC-AES-256-CBC-1.1 {CMAC-AES-256-CBC} \
	-constraints {CMAC  AES_256_CBC} \
	-setup {} \
	-body {string range [tls::cmac -hex -cipher AES-256-CBC -key [binary decode hex 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4] -data ""] 0 31} \
	-match exact -result 028962f61b7bf89efc6b551f4667d983

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "CMAC-DES3.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint CMAC [expr {[lsearch -nocase [tls::macs] CMAC] > -1}]
tcltest::testConstraint DES3 [expr {[lsearch -nocase [tls::ciphers] DES3] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_CMAC-DES3-1.1 {CMAC-DES3} \
	-constraints {CMAC  DES3} \
	-setup {} \
	-body {string range [tls::cmac -hex -cipher DES3 -key [binary decode hex 8aa83bf8cbda10620bc1bf19fbb6cd58bc313d4a371ca8b5] -data ""] 0 15} \
	-match exact -result b7a688e122ffaf95

1

2
3
4
5

6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14

+




+







# Auto generated from "HMAC.rsp"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
catch {tls::provider legacy}

tcltest::testConstraint SHA1 [expr {[lsearch -nocase [tls::digests] SHA1] > -1}]
tcltest::test MAC_HMAC-1.1 {HMAC} \
	-constraints {HMAC SHA1 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest SHA1 -key [binary decode hex 82f3b69a1bff4de15c33] -data [binary decode hex fcd6d98bef45ed6850806e96f255fa0c8114b72873abe8f43c10bea7c1df706f10458e6d4e1c9201f057b8492fa10fe4b541d0fc9d41ef839acff1bc76e3fdfebf2235b5bd0347a9a6303e83152f9f8db941b1b94a8a1ce5c273b55dc94d99a171377969234134e7dad1ab4c8e46d18df4dc016764cf95a11ac4b491a2646be1]] 0 19} \
	-match exact -result 1ba0e66cf72efc349207
1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HMAC_MD5.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
tcltest::testConstraint MD5 [expr {[lsearch -nocase [tls::digests] MD5] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_HMAC-MD5-1.1 {HMAC_MD5} \
	-constraints {HMAC MD5 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest MD5 -key [binary decode hex 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b] -data "Hi There"] 0 31} \
	-match exact -result 9294727a3638bb1c13f48ef8158bfc9d

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HMAC_RIPEMD128.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
tcltest::testConstraint RIPEMD128 [expr {[lsearch -nocase [tls::digests] RIPEMD128] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_HMAC-RIPEMD128-1.1 {HMAC_RIPEMD128} \
	-constraints {HMAC RIPEMD128 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest RIPEMD128 -key [binary decode hex 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b] -data "Hi There"] 0 31} \
	-match exact -result fbf61f9492aa4bbf81c172e84e0734db

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HMAC_RIPEMD160.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
tcltest::testConstraint RIPEMD160 [expr {[lsearch -nocase [tls::digests] RIPEMD160] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_HMAC-RIPEMD160-1.1 {HMAC_RIPEMD160} \
	-constraints {HMAC RIPEMD160 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest RIPEMD160 -key [binary decode hex 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b] -data "Hi There"] 0 39} \
	-match exact -result 24cb4bd67d20fc1a5d2ed7732dcc39377f0a5668

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HMAC_SHA1.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
tcltest::testConstraint SHA1 [expr {[lsearch -nocase [tls::digests] SHA1] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_HMAC-SHA1-1.1 {HMAC_SHA1} \
	-constraints {HMAC SHA1 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest SHA1 -key [binary decode hex 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f] -data "Sample message for keylen=blocklen"] 0 39} \
	-match exact -result 5fd596ee78d5553c8ff4e72d266dfd192366da29

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HMAC_SHA224.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
tcltest::testConstraint SHA224 [expr {[lsearch -nocase [tls::digests] SHA224] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_HMAC-SHA224-1.1 {HMAC_SHA224} \
	-constraints {HMAC SHA224 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest SHA224 -key [binary decode hex 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f] -data "Sample message for keylen=blocklen"] 0 55} \
	-match exact -result c7405e3ae058e8cd30b08b4140248581ed174cb34e1224bcc1efc81b

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HMAC_SHA256.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
tcltest::testConstraint SHA256 [expr {[lsearch -nocase [tls::digests] SHA256] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_HMAC-SHA256-1.1 {HMAC_SHA256} \
	-constraints {HMAC SHA256 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest SHA256 -key [binary decode hex 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f] -data "Sample message for keylen=blocklen"] 0 63} \
	-match exact -result 8bb9a1db9806f20df7f77b82138c7914d174d59e13dc4d0169c9057b133e1d62

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HMAC_SHA3-224.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
tcltest::testConstraint SHA3_224 [expr {[lsearch -nocase [tls::digests] SHA3-224] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_HMAC-SHA3-224-1.1 {HMAC_SHA3-224} \
	-constraints {HMAC SHA3_224 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest SHA3-224 -key [binary decode hex 000102030405060708090a0b0c0d0e0f101112131415161718191a1b] -data "Sample message for keylen<blocklen"] 0 55} \
	-match exact -result 332cfd59347fdb8e576e77260be4aba2d6dc53117b3bfb52c6d18c04

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HMAC_SHA3-256.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
tcltest::testConstraint SHA3_256 [expr {[lsearch -nocase [tls::digests] SHA3-256] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_HMAC-SHA3-256-1.1 {HMAC_SHA3-256} \
	-constraints {HMAC SHA3_256 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest SHA3-256 -key [binary decode hex 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f] -data "Sample message for keylen<blocklen"] 0 63} \
	-match exact -result 4fe8e202c4f058e8dddc23d8c34e467343e23555e24fc2f025d598f558f67205

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HMAC_SHA3-384.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
tcltest::testConstraint SHA3_384 [expr {[lsearch -nocase [tls::digests] SHA3-384] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_HMAC-SHA3-384-1.1 {HMAC_SHA3-384} \
	-constraints {HMAC SHA3_384 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest SHA3-384 -key [binary decode hex 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f] -data "Sample message for keylen<blocklen"] 0 95} \
	-match exact -result d588a3c51f3f2d906e8298c1199aa8ff6296218127f6b38a90b6afe2c5617725bc99987f79b22a557b6520db710b7f42

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HMAC_SHA3-512.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
tcltest::testConstraint SHA3_512 [expr {[lsearch -nocase [tls::digests] SHA3-512] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_HMAC-SHA3-512-1.1 {HMAC_SHA3-512} \
	-constraints {HMAC SHA3_512 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest SHA3-512 -key [binary decode hex 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f] -data "Sample message for keylen<blocklen"] 0 127} \
	-match exact -result 4efd629d6c71bf86162658f29943b1c308ce27cdfa6db0d9c3ce81763f9cbce5f7ebe9868031db1a8f8eb7b6b95e5c5e3f657a8996c86a2f6527e307f0213196

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HMAC_SHA384.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
tcltest::testConstraint SHA384 [expr {[lsearch -nocase [tls::digests] SHA384] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_HMAC-SHA384-1.1 {HMAC_SHA384} \
	-constraints {HMAC SHA384 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest SHA384 -key [binary decode hex 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f] -data "Sample message for keylen=blocklen"] 0 95} \
	-match exact -result 63c5daa5e651847ca897c95814ab830bededc7d25e83eef9195cd45857a37f448947858f5af50cc2b1b730ddf29671a9

1

2
3
4
5
6

7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

+





+







# Auto generated from "HMAC_SHA512.txt"
lappend auto_path [file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]
package require tls
package require tcltest

tcltest::testConstraint HMAC [expr {[lsearch -nocase [tls::macs] HMAC] > -1}]
tcltest::testConstraint SHA512 [expr {[lsearch -nocase [tls::digests] SHA512] > -1}]
catch {tls::provider legacy}

tcltest::test MAC_HMAC-SHA512-1.1 {HMAC_SHA512} \
	-constraints {HMAC SHA512 } \
	-setup {} \
	-body {string range [tls::hmac -hex -digest SHA512 -key [binary decode hex 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f] -data "Sample message for keylen=blocklen"] 0 127} \
	-match exact -result fc25e240658ca785b7a811a8d3f7b4ca48cfa26a8a366bf2cd1f836b05fcb024bd36853081811d6cea4216ebad79da1cfcb95ea4586b8a0ce356596a55fb1347

112
113
114
115
116
117
118

119
120
121
122
123
124
125
126
127
128
129

130
131
132
133
134
135
136
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138







+











+







	set digest ""
	set cipher ""
    }
    set params [list]

    # Add config info
    puts $out [format "# Auto generated from \"%s\"" [file tail $filename]]
    puts $out [format "lappend auto_path %s" {[file dirname [file dirname [file dirname [file dirname [file join [pwd] [info script]]]]]]}]
    puts $out "package require tls"
    puts $out "package require tcltest\n"
    puts $out [format "tcltest::testConstraint %s %s" $mac \
	[format {[expr {[lsearch -nocase [tls::macs] %s] > -1}]} [string map [list "-" "_"] $mac]]]
    if {[string match -nocase "CMAC" $mac] && $cipher ne ""} {
	puts $out [format "tcltest::testConstraint %s %s" [string map [list "-" "_"] $cipher] \
	    [format {[expr {[lsearch -nocase [tls::ciphers] %s] > -1}]} $cipher]]
    } elseif {[string match -nocase "HMAC" $mac] && $digest ne ""} {
	puts $out [format "tcltest::testConstraint %s %s" [string map [list "-" "_"] $digest] \
	    [format {[expr {[lsearch -nocase [tls::digests] %s] > -1}]} $digest]]
    }
    puts $out "catch {tls::provider legacy}"
    puts $out ""

    # Process file
    while {![eof $ch]} {
	gets $ch line
	set line [string trim $line]
	set len [string length $line]