2 # Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved.
4 # Licensed under the Apache License 2.0 (the "License"). You may not use
5 # this file except in compliance with the License. You can obtain a copy
6 # in the file LICENSE in the source distribution or at
7 # https://www.openssl.org/source/license.html
9 # Tests start with one of these keywords
10 # Cipher Decrypt Derive Digest Encoding KDF MAC PBE
11 # PrivPubKeyPair Sign Verify VerifyRecover
12 # and continue until a blank line. Lines starting with a pound sign are ignored.
14 Title = X9.42 KDF tests (from RFC2631 test vectors)
18 Ctrl.digest = digest:SHA1
19 Ctrl.hexsecret = hexsecret:000102030405060708090a0b0c0d0e0f10111213
20 Ctrl.cekalg = cekalg:id-smime-alg-CMS3DESwrap
21 Output = a09661392376f7044d9052a397883246b67f5f1ef63eb5fb
23 Title = X9.42 KDF tests (RFC3565 2.3.2 Examples)
26 Ctrl.digest = digest:SHA1
27 Ctrl.hexsecret = hexsecret:000102030405060708090a0b0c0d0e0f10111213
28 Ctrl.cekalg = cekalg:id-aes128-wrap
29 Output = d6d6b094c1027a7de6e3117294a35364
32 Ctrl.digest = digest:SHA1
33 Ctrl.hexkey = hexkey:000102030405060708090a0b0c0d0e0f10111213
34 Ctrl.cekalg = cekalg:id-aes256-wrap
35 Ctrl.hexukm = hexukm:0123456789abcdeffedcba98765432010123456789abcdeffedcba98765432010123456789abcdeffedcba98765432010123456789abcdeffedcba9876543201
36 Output = 8890585C4E281A5C1167CAA530BED59B3230D893CBA8F922BD1B56A0
38 Title = X9.42 KDF tests (generated tests to test different options)
41 Ctrl.digest = digest:SHA1
42 Ctrl.hexsecret = hexsecret:000102030405060708090a0b0c0d0e0f10111213
43 Ctrl.cekalg = cekalg:id-aes256-wrap
44 Ctrl.hexpartyu-info = hexpartyu-info:0123456789abcdeffedcba98765432010123456789abcdeffedcba98765432010123456789abcdeffedcba98765432010123456789abcdeffedcba9876543201
45 Output = 8890585C4E281A5C1167CAA530BED59B3230D893CBA8F922BD1B56A0
48 Ctrl.digest = digest:SHA1
49 Ctrl.hexsecret = hexsecret:000102030405060708090a0b0c0d0e0f10111213
50 Ctrl.cekalg = cekalg:id-aes256-wrap
51 Ctrl.hexpartyu-info = hexpartyu-info:0123456789abcdeffedcba98765432010123456789abcdeffedcba98765432010123456789abcdeffedcba98765432010123456789abcdeffedcba9876543201
52 Ctrl.use-keybits = use-keybits:0
53 Output = 54bd5dbc1fa4c42c951f6fa51ec59e202b8c622bdb179fb2dd691ffb
56 Ctrl.digest = digest:SHA1
57 Ctrl.hexsecret = hexsecret:000102030405060708090a0b0c0d0e0f10111213
58 Ctrl.cekalg = cekalg:id-aes256-wrap
59 Ctrl.hexpartyv-info = hexpartyv-info:0123456789abcdeffedcba98765432010123456789abcdeffedcba98765432010123456789abcdeffedcba98765432010123456789abcdeffedcba9876543201
60 Ctrl.use-keybits = use-keybits:0
61 Output = 76d566e948ca9ae61bcd4ce076f0bd5fe6789b5b0f288977235ecb12
64 Ctrl.digest = digest:SHA1
65 Ctrl.hexsecret = hexsecret:000102030405060708090a0b0c0d0e0f10111213
66 Ctrl.cekalg = cekalg:id-aes256-wrap
67 Ctrl.hexsupp-pubinfo = hexsupp-pubinfo:0123456789abcdeffedcba98765432010123456789abcdeffedcba98765432010123456789abcdeffedcba98765432010123456789abcdeffedcba9876543201
68 Output = ff368c7addb27d7599f8d49bc8d7fbf804540f119491ea419792c82c
71 Ctrl.digest = digest:SHA1
72 Ctrl.hexsecret = hexsecret:000102030405060708090a0b0c0d0e0f10111213
73 Ctrl.cekalg = cekalg:id-aes256-wrap
74 Ctrl.hexsupp-privinfo = hexsupp-privinfo:0123456789abcdeffedcba98765432010123456789abcdeffedcba98765432010123456789abcdeffedcba98765432010123456789abcdeffedcba9876543201
75 Output = 6b68b7affe5efc15e77df56e3dd639b22aa39f12eb0685b33fb39c57
78 Ctrl.digest = digest:SHA1
79 Ctrl.hexsecret = hexsecret:000102030405060708090a0b0c0d0e0f10111213
80 Ctrl.cekalg = cekalg:id-aes256-wrap
81 Ctrl.hexpartyu-info = hexpartyu-info:0123456789abcdef
82 Ctrl.hexpartyv-info = hexpartyv-info:fedcba9876543210
83 Ctrl.hexsupp-pubinfo = hexsupp-pubinfo:12345678
84 Ctrl.hexsupp-privinfo = hexsupp-privinfo:87654321
85 Output = 2c5c1f028c6d1fc9ba752e41fdb9edb2ea936f1b2449f214acd56d31
87 Title = X9.42 KDF tests (ACVP test vectors)
91 Ctrl.digest = digest:SHA256
92 Ctrl.hexsecret = hexsecret:6B
93 Ctrl.use-keybits = use-keybits:0
94 Ctrl.cekalg = cekalg:id-smime-alg-CMS3DESwrap
95 Ctrl.hexacvp-info = hexacvp-info:a020299D468D60BC6A257E0B6523D691A3FC1602453B35F308C762FBBAC6069A88BCa12080D49BFE5BE01C7D56489AB017663C22B8CBB34C3174D1D71F00CB7505AC759Aa2203C21A5EA5988562C007986E0503D039E7231D9F152FE72A231A1FD98C59BCA6Aa320FD47477542989B51E4A0845DFABD6EEAA465F69B3D75349B2520051782C7F3FC
96 Output = A7758EC5DA5373C736F1E4CF18A4B6349B23ED86227234185B44638C69EBB222
99 Ctrl.digest = digest:SHA256
100 Ctrl.hexsecret = hexsecret:6B
101 Ctrl.use-keybits = use-keybits:0
102 Ctrl.cekalg = cekalg:id-aes128-wrap
103 Ctrl.hexacvp-info = hexacvp-info:a020299D468D60BC6A257E0B6523D691A3FC1602453B35F308C762FBBAC6069A88BCa12080D49BFE5BE01C7D56489AB017663C22B8CBB34C3174D1D71F00CB7505AC759Aa2203C21A5EA5988562C007986E0503D039E7231D9F152FE72A231A1FD98C59BCA6Aa320FD47477542989B51E4A0845DFABD6EEAA465F69B3D75349B2520051782C7F3FC
104 Output = C2E6A0978C24AF3932F478583ADBFB5F57D491822592EAD3C538875F46EB057A
108 # Fail if both acvp and ukm values are specified.
110 Ctrl.digest = digest:SHA256
111 Ctrl.hexsecret = hexsecret:6B
112 Ctrl.use-keybits = use-keybits:0
113 Ctrl.cekalg = cekalg:id-aes128-wrap
114 Ctrl.hexacvp-info = hexacvp-info:a020299D468D60BC6A257E0B6523D691A3FC1602453B35F308C762FBBAC6069A88BCa12080D49BFE5BE01C7D56489AB017663C22B8CBB34C3174D1D71F00CB7505AC759Aa2203C21A5EA5988562C007986E0503D039E7231D9F152FE72A231A1FD98C59BCA6Aa320FD47477542989B51E4A0845DFABD6EEAA465F69B3D75349B2520051782C7F3FC
115 Ctrl.hexukm = hexukm:012345
116 Output = C2E6A0978C24AF3932F478583ADBFB5F57D491822592EAD3C538875F46EB057A
117 Result = KDF_DERIVE_ERROR