1#
2# Copyright 2001-2024 The OpenSSL Project Authors. All Rights Reserved.
3#
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
8
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.
13
14
15# Private keys used for PKEY operations.
16
17# DSA key
18PrivateKey=DSA-1024
19-----BEGIN PRIVATE KEY-----
20MIIBSwIBADCCASwGByqGSM44BAEwggEfAoGBAO0SwRpkAeM21qSM5ch4CLEHpFk4
2119R5ve1UUr421y3HEUURsrVpxYKvyx8aOBQC/akz95cYxNN3y1JnJJMxPklhdJrJ
22f/WDYPxjMk8BqNJmeZtLuCVLKGwQomuo7ZkG955WRyLHYEdQ6uC7K2QTPKpW6psF
23YFaDYjAjSEKk2MFxAhUAykDkKLZdhPWzwM8/qYaE31VmWz0CgYEApNVF8oFK41ez
24Qci9XbSZJHyPB+3jML1YQkHxiiInaIz6GEFtjUbIUEYA/ovY+6ECNI1aIDHTd7CH
25woS0mp33oQYs43nt29B6UwbtMmbzCOQ9vGGwWVho+JtHyyPWrDuLmkvLtoQPaxYt
266PVa3gncr2v3njcVuH+EQ6DuFR93zksEFgIUbyv6pqH+UQurernJn/7sUm2U2i0=
27-----END PRIVATE KEY-----
28
29PublicKey=DSA-1024-PUBLIC
30-----BEGIN PUBLIC KEY-----
31MIIBtzCCASwGByqGSM44BAEwggEfAoGBAO0SwRpkAeM21qSM5ch4CLEHpFk419R5
32ve1UUr421y3HEUURsrVpxYKvyx8aOBQC/akz95cYxNN3y1JnJJMxPklhdJrJf/WD
33YPxjMk8BqNJmeZtLuCVLKGwQomuo7ZkG955WRyLHYEdQ6uC7K2QTPKpW6psFYFaD
34YjAjSEKk2MFxAhUAykDkKLZdhPWzwM8/qYaE31VmWz0CgYEApNVF8oFK41ezQci9
35XbSZJHyPB+3jML1YQkHxiiInaIz6GEFtjUbIUEYA/ovY+6ECNI1aIDHTd7CHwoS0
36mp33oQYs43nt29B6UwbtMmbzCOQ9vGGwWVho+JtHyyPWrDuLmkvLtoQPaxYt6PVa
373gncr2v3njcVuH+EQ6DuFR93zksDgYQAAoGAVXFwJ5wTuF0rQ6AWfTitm3/zUeRW
38SeKFo+Rg0GrBI+Wg2Tj+Yn6V8Xs+Xyjim1wsd2P6/BlJzCEr4nHjP9JcBICqM3vI
399zCaT/vYsLD7/T7rF9AF/jV+LnkGJCzLbDYF04IkhtLNHOQob+Uc8PWB78e/1Lc4
40SzJw2oHciIOt+UU=
41-----END PUBLIC KEY-----
42
43PrivPubKeyPair = DSA-1024:DSA-1024-PUBLIC
44
45Title = DSA tests
46
47Verify = DSA-1024
48Ctrl = digest:SHA1
49Input = "0123456789ABCDEF1234"
50Output = 302d021500942b8c5850e05b59e24495116b1e8559e51b610e0214237aedf272d91f2397f63c9fc8790e1a6cde5d87
51
52Verify = DSA-1024-PUBLIC
53Ctrl = digest:SHA1
54Input = "0123456789ABCDEF1234"
55Output = 302d021500942b8c5850e05b59e24495116b1e8559e51b610e0214237aedf272d91f2397f63c9fc8790e1a6cde5d87
56
57# Modified signature
58Verify = DSA-1024-PUBLIC
59Ctrl = digest:SHA1
60Input = "0123456789ABCDEF1234"
61Output = 302d021500942b8c5850e05b59e24495116b1e8559e51b610e0214237aedf272d91f2397f63c9fc8790e1a6cde5d88
62Result = VERIFY_ERROR
63
64# Digest too short
65Verify = DSA-1024-PUBLIC
66Ctrl = digest:SHA1
67Input = "0123456789ABCDEF123"
68Output = 302d021500942b8c5850e05b59e24495116b1e8559e51b610e0214237aedf272d91f2397f63c9fc8790e1a6cde5d87
69Result = VERIFY_ERROR
70
71# Digest too long
72Verify = DSA-1024-PUBLIC
73Ctrl = digest:SHA1
74Input = "0123456789ABCDEF12345"
75Output = 302d021500942b8c5850e05b59e24495116b1e8559e51b610e0214237aedf272d91f2397f63c9fc8790e1a6cde5d87
76Result = VERIFY_ERROR
77
78# Garbage after signature
79Verify = DSA-1024-PUBLIC
80Input = "0123456789ABCDEF1234"
81Output = 302d021500942b8c5850e05b59e24495116b1e8559e51b610e0214237aedf272d91f2397f63c9fc8790e1a6cde5d8700
82Result = VERIFY_ERROR
83
84# Invalid tag
85Verify = DSA-1024-PUBLIC
86Ctrl = digest:SHA1
87Input = "0123456789ABCDEF1234"
88Output = 312d021500942b8c5850e05b59e24495116b1e8559e51b610e0214237aedf272d91f2397f63c9fc8790e1a6cde5d87
89Result = VERIFY_ERROR
90
91# BER signature
92Verify = DSA-1024-PUBLIC
93Ctrl = digest:SHA1
94Input = "0123456789ABCDEF1234"
95Output = 3080021500942b8c5850e05b59e24495116b1e8559e51b610e0214237aedf272d91f2397f63c9fc8790e1a6cde5d870000
96Result = VERIFY_ERROR
97
98Title = Test keypair mismatches
99
100PrivateKey = DSA-1024-BIS
101-----BEGIN PRIVATE KEY-----
102MIIBSwIBADCCASwGByqGSM44BAEwggEfAoGBAO0SwRpkAeM21qSM5ch4CLEHpFk419R5ve1UUr42
1031y3HEUURsrVpxYKvyx8aOBQC/akz95cYxNN3y1JnJJMxPklhdJrJf/WDYPxjMk8BqNJmeZtLuCVL
104KGwQomuo7ZkG955WRyLHYEdQ6uC7K2QTPKpW6psFYFaDYjAjSEKk2MFxAhUAykDkKLZdhPWzwM8/
105qYaE31VmWz0CgYEApNVF8oFK41ezQci9XbSZJHyPB+3jML1YQkHxiiInaIz6GEFtjUbIUEYA/ovY
106+6ECNI1aIDHTd7CHwoS0mp33oQYs43nt29B6UwbtMmbzCOQ9vGGwWVho+JtHyyPWrDuLmkvLtoQP
107axYt6PVa3gncr2v3njcVuH+EQ6DuFR93zksEFgIUFQFshP0hj7i6ClXkSPYoFW6KrIY=
108-----END PRIVATE KEY-----
109
110PublicKey = DSA-1024-BIS-PUBLIC
111-----BEGIN PUBLIC KEY-----
112MIIBtzCCASwGByqGSM44BAEwggEfAoGBAO0SwRpkAeM21qSM5ch4CLEHpFk419R5
113ve1UUr421y3HEUURsrVpxYKvyx8aOBQC/akz95cYxNN3y1JnJJMxPklhdJrJf/WD
114YPxjMk8BqNJmeZtLuCVLKGwQomuo7ZkG955WRyLHYEdQ6uC7K2QTPKpW6psFYFaD
115YjAjSEKk2MFxAhUAykDkKLZdhPWzwM8/qYaE31VmWz0CgYEApNVF8oFK41ezQci9
116XbSZJHyPB+3jML1YQkHxiiInaIz6GEFtjUbIUEYA/ovY+6ECNI1aIDHTd7CHwoS0
117mp33oQYs43nt29B6UwbtMmbzCOQ9vGGwWVho+JtHyyPWrDuLmkvLtoQPaxYt6PVa
1183gncr2v3njcVuH+EQ6DuFR93zksDgYQAAoGAdZCPYZ9WvtKW7dFvbEjl0HHBxLNX
1198kV1/FAxsDrQd+c8mWdruNzcmwsZJklJuTK9czKnXgLmkRHR20I4oNrJ/bptV8lV
120iDvJBJlmZ1aGh6yLIHzYBbgbgia3lBrFlO5qUxNmbNeiC+HIqUvlVBmQOLN6+Xjn
121Q4A0wDK8dmF2dFI=
122-----END PUBLIC KEY-----
123
124PrivPubKeyPair = DSA-1024-BIS:DSA-1024-BIS-PUBLIC
125
126PrivPubKeyPair = DSA-1024:DSA-1024-BIS-PUBLIC
127Result = KEYPAIR_MISMATCH
128
129PrivPubKeyPair = DSA-1024-BIS:DSA-1024-PUBLIC
130Result = KEYPAIR_MISMATCH
131
132
133PrivateKey = DSA-1024-FIPS186-2
134-----BEGIN PRIVATE KEY-----
135MIIBWgIBADCCATMGByqGSM44BAEwggEmAoGBALRSnNcjMPIl4tekT5D3AgqsK042
136Ar1dGKeJCmWrSngAELtSH0yZCwsbl7wLEgG2lfusbn5sdtbpFioKInohZruRhzwC
13759GRXjAFD0QPhVE/qy6Oto+8WIHAa/RiEIkxRfTiAe9Ach56k9lZYONDUHDqH38u
138UIfjoUN+jlzoJcWbAh0A6TfgjmB+CxvxG/2pz8OAXXfNP8/JLfYvolE/fwKBgH7l
139jLeoOofKc+rwO2Fha8nuFddXRSePZKzC7mRQsPXwfvX5V6msU2xizjdPIsqVu7qA
140Bcc1YMd7/5C3vaKuS21DxBOs7nAHbO9ZZtGlpUAnJwM/P09nMb3yG6tR9LF3AQmu
141Kr2KShQB0FlSgvcCDTX7g8eJ/UuIWo6wX4hSdHDhBB4CHAdVVg1m5ikOICUBo37Y
142/TqkTaCFsMDwcDc20Jg=
143-----END PRIVATE KEY-----
144
145PrivateKey = DSA-2048-160
146-----BEGIN PRIVATE KEY-----
147MIICTAIBADCCAi0GByqGSM44BAEwggIgAoIBAQCOypCJyAO7uNZSPSNGalSkyjQC
148xdFVIGfMJKjEXzJnH4g3ts0UqUyO8126REDJEXDeMi22841xsSvzz0ZJeT5YvMLW
149t1BtSTiYg2QOar1qEGJunHgjsWKJbVzIqWNw60ZP7pNKmlR7PKa3WDaPhdeVP8zJ
150PEMeUHOSprO5Jk/Hjr8jxV0znIIixb9L9PgJAwxiM7rkRHS2Oz1FCYDmNmuFhQDh
151Cb3wY9t1AcAHZ05uZ4PtNjdRPwFLPeVdckPj0ntApvOrH18xPWBmwcVeHAH1SV2k
1527LPK7wILHVzcKm74ubX/s1wKysyyXyKM+oCgG9jvfh09VQJcHTHaVS643ohZAhUA
153uQMLDZqMQbh9TYlm9xYCEBaeVs0CggEAcum3PgEQIRfukytMQ7gKMyfxHqhMmJ6t
154RolRhgMrSfl99dmMoqJV+sdSjYvZSkwl71N1Y4Al8GcJB1SzTSb8qGRzM+43pa4k
155SyQZ62WA8w5gaIQJ85JUrWiT8C6SgwAbruS5BVHRbQD6FxZwro9+s8uPnLesMTQX
156p4maNSQaqYX7tqGl6Z7Wo0PsEwuDRvBlI6sl97gl4q3FQPByCq/64UW/eF6Illo1
157dpfbiWCszsp8oczXCEuP+2Y67WUIj3LjFA7WM/R8K4SfdMQ/VXY/cyRhlUqQl8Qe
158ndBVKe0IeSdqvMcLNoUip7DGcOXW2ogZl+wgeP4xL3pdo8uS025kjwQWAhRfutAE
159r/MlbdGMvcA7l0XmzzY85w==
160-----END PRIVATE KEY-----
161
162PrivateKey = DSA-2048-224
163-----BEGIN PRIVATE KEY-----
164MIICXAIBADCCAjUGByqGSM44BAEwggIoAoIBAQDVjuiHR3XA9yAjToNQOmdg2rN9
1650A4mIEV3XGy1nqaKZXdavdXcsAGLmttZ/gfiHi0JNh3rxj4dbvcaN+K0IWXq6hAY
1666ZOvDZ0FH5DRH63Ecd8fWY/BMDr178sOINkPG8hLRmYcrAp/4woMBPxkEtQBfl4R
167POus+OYS4sJpl8wEgfy0HhLXkkN4YQhBf57NvQ7+LcwaErDcNLRguI3TRzflhNEh
168ieBfYtIIgISIi0yMsxOINopuHeAmcANLjyUqkQ44xcJ0kM+OoAKFq/XukkTj++iP
1699Okh+bmNEo23RtM4qqScZyUIX4bPyynbkMdu01ZG+q8PEhyoxGpHkMT6kYHBAh0A
170/rbeX9L8STLoLIsLUMbdPVLWvnLyLooSygawvwKCAQAhscCNIY/bPZ6DRULS8i4G
1710f+9chMR+C5tNykaTzCUxRjObOWKu0z1JyViiafcAoV8j1e64xRxA4a8g9RrKilK
172KztCJfwIJCeHIjHi/dvIR0z1SDeNNVpFacAT+DF5G+sMqS8Mael0MnEcR2sNkw+1
173MVIO5tinKWAFM087hsSmKs/uIvdVexH2ptKKehxTFjs8ySfAMiMfqhaC2JgPCFL1
174jUpAIvs4oCx2yZKvq+TzJOq8LRHG3qSHa0BcNVPKfVkmVJRg4ETzza1/e14Re1BR
175si7RL7EtHuFiFjYiWTGueT+e0jdBS8CoafD1V/I7NPqVmGc5NeaRv4n+ESpDSX+z
176BB4CHBN2hfQxLXg+t/MNcza5M0WoAWna5JzQBAtDzIM=
177-----END PRIVATE KEY-----
178
179PrivateKey = DSA-2048-256
180-----BEGIN PRIVATE KEY-----
181MIICZQIBADCCAjoGByqGSM44BAEwggItAoIBAQDAuDj/d/t7n4013h18atbOYg4Q
182oWZPLmA7MvFABqrlv9lfa0dRGhOHyXClHh2bsNMwk3txKjTaTwjM9v80xe47y2lv
18334DPEKaWf+6HGcsu313kjIoAITO61HK0TJXjm0BV2uzZQFmvVHwEZmt7uGFcTc4t
184Vl71Z+MjhlMqpOmXIL/OBJkMOE1CXF/b6oKyXJvyZRpE4oxS+8B1l7d/N0B1XhQl
185EMToFwmvsKfeeK24wDfxasfbNbQ7Zih/5HylWtNXbvldnOf6cfPPPM6FO7HVI9R5
186llQKxFWujVrX0IOXu89xT8t+/ICKJtLKD5HzmeH1Y6LO+Qnsu5tW8IhnDHKLAiEA
187prlohsCeURHqsKcqtMElD7vg+Ati8OKgdo79/ktz9bMCggEBALC9Awm0lClgvefU
188inwV6gQppvAQttX7fUGjnrmuAXjw/pm4MBuzkR1P7vm2IY51+SopK+ZvgXXXnWGQ
189m8y3DCuoSnfE6Y+NpAfL9iJxy5W+ByvW75GW7/Lj5hR/igKKuYhfGYT/2eIGtdQ2
190C2tcWTcV7Gfk60WSw9eLUtKCUjBHaoFHFMo3MWH64Fc0xVEQ1DLgEC5Y3TLmiLBx
191VOGpp5ZFeAc52n/W4afbBcQ5ifGFPwgcS7+WdnUUs7awuCCldh74kz58kdTJAztZ
192ZjjK728BYEE4P6itUNtr3jgNzhqwTBFvOwWCQA//a7vpyqtHMzDmpcVuDx6f4iP3
193aghyxFAEIgIgK1Ct6iRtcq01mdt4EGRrkiAHBr5zTcAgbv5ZaU99pmQ=
194-----END PRIVATE KEY-----
195
196PrivateKey = DSA-3072-256
197-----BEGIN PRIVATE KEY-----
198MIIDZgIBADCCAzoGByqGSM44BAEwggMtAoIBgQCvf6pPUvu2J7j4aaGcpEkfjX7e
199DvM5qlpuf2GDwbWFQpkxeRFtmd5EFbgNvRMsLyfTA3KWd4k2nFug2Uf5kFJ0rOcI
200nToVcrPjg8onD43Rcknvmu5grsjDvCFMmWFu361LbWxZCgGCwSUv4P647kS5ccaD
201k0o4f+a8YWLahop/HowqoN8/TvC/izdN0WvRYKeegJcBzaaBKWsBS8ucu0jEh5S3
202PCAQRFoKNRPjUzjIhycIlpdmI5BG72SkvSSMef9wvGl72FN2t3v5dbWjl7QgghU5
2030BB/RlueApJgrFhadE/0ZJKSukPMbL9a0L1xZl01iJYraa76rn5weVkU8sW7BN7C
204oHTovusrls/AtEBKXKC47rNnfSc9VwfwdNBuvs33Ga872575bjOunQiXQRxuuqjq
205u3MyixPygIy+MmjhjPhnpYnb+1sytpoN1UOTi9QMHWLp2ExYvurda6n4nCjbJBcB
206DvWPyapslDP+yT/3aEH0ctqu/QMk3rPxBAzVytUCIQD/CwBYEWtyd6IoiqcWVMT5
2074k1cKfg5ZbNu7mG3iS+iSwKCAYEAm1QNpGrOS2orCVUP80KQFTQwg37tlynJjXev
208ORdBgDXpIjFcdEgsEx9cHzlOywBDQWxHLXRukvgQbx7dCq2RgEM6Fo6ngbhj87zw
209dLFdXxj/TU0fJPhj3VIF2qu5vG1SZRu4zKNZ6uoJP7R4/7o/shHOoTyCOigRew4X
210A2P9eIxpEv/KXRznxjG1IcAQJcPYBDwjE555WNHL0jzzKEyxyxmkm9ThEpleW7HU
211ij78B5O45V/AHVF7oB/L+Aqmbc2dZy8EtShsMKqSMdFWjV0BnuzsPt9KmKT+rbj6
212MpqgdaKPEsYVD4Nk6EWEyYbWmELtS9jKH5E4Z/pqFGeamsiD5Sn0ap7SGa81BtA+
213s7FMG851b2jtRw0RB4+boGx0Lt43WbytfmW445i4h/NMB0nE/pzjIIjD3URdNoaS
2142G2eZcW/aC9bKkOoAr2USSlgylPCkz2a/CAx7i925HOZ2dw9HJ940vkAoxP+nMQv
215kMzKKeM5QVgAeRwjDqRk9uCWD7VyBCMCIQDxycQrIIL4PxAoPIM7//v8mL7A3YSW
216o3mO5AXuBuEe2g==
217-----END PRIVATE KEY-----
218
219PrivateKey = DSA-3072-224
220-----BEGIN PRIVATE KEY-----
221MIIDXAIBADCCAzUGByqGSM44BAEwggMoAoIBgQDEY9anVQ8qwdz77IQx1bSmu5MI
222mP7pf9IUXbH5fZFrCjlDu34w2WvsdDRrM2/isvKb/wj+sgg5dx5bWRn/+xolwu8l
223upmD6KMJ07t9SSla155tkvS/8hU5AD8elH9vV+HlTPKRHNF1X3jFJRVay64O+vFX
224WRe7t3yBFv/VqkhnYwm5aymMK6/TXR1znJzrMNgU1Ao3unhjaFnRsldHVHjXrA4y
225rJRMsa4r5BCPQNK8iXKabAw19oiRbRvqs3YfzoR1HqZ3LGO1/p9ECoc/QW0uI1Za
226LYQli1aNtNmtYhwKvy7O8IzjrbjkDRgl/TtDmtfpDnM6FkQebgU0OxQXTOwZgtEV
227a7VY+EwG1q+Qab7uvuO2YJ7Mk2JKmu4u0Gz7tq5N+hEN4P5UMC/MUw6ftLCGN6l6
228ycEJHMgGzDsAKEJW6NcXneY3vXpdaRGnuxyUKI86wQd3Qg1Mm3H1gqtkd48owIJm
229RtE/u91T4OJOcwVm2FxDgmMsb0LwqAELL+I9RH8CHQDNAddLZ4ovSccoD+s06I+X
230d+GzJ8cNcbn4H1TVAoIBgAmwgz0CjHaacOiXcQ4GLw0kN2IpXKAXYma1vDlDcesT
231lY8dcGsX2UjuLnfegMRkb5FMGZ8TDjgDG4vLo2p1ybt7S7s0hn56bju5HZLSOmAp
232nu5M15iZxDzgVvhRkB0EG/aw5i6iq22JUA5SUAGYLemcZIuukIDu6vhTeK2125qa
233q+Uc0/kyPMOf0zABo+I2wWNmZgdq26F147Yrf06VY3ekxcER1vAUfVBHxeYPfdZR
234N8ztdzYTPtCSxyIWATUxYvWxsaxqNckjXLZp5t9L72Zc8k5swsBDIAabhJTiQrRS
235hkhD0UOCf2pUNFcHIxLqYskOycEjtmKrAYbrHZDRw5CzP5ABaDYwqgxi2ZSt/tv4
236iYUhX4tRicGeAWLM7D3LxG+P/6q7dJ/Gjjx8gmbcBJKcjVDGp/b8xn1WY83gbNEJ
237HOAqdXyxgnQL+E581jk13LixzoOboyrhryFqVoMarZOXEAQKToG24tj5DO7LmviW
2388hzXTwJmVlKblGJxVmqDuQQeAhx6PjOtN4DxhxZdoX8+lU7C6CWYvyQbJOER0XVn
239-----END PRIVATE KEY-----
240
241PrivateKey = DSA-4096-256
242-----BEGIN PRIVATE KEY-----
243MIIEZQIBADCCBDoGByqGSM44BAEwggQtAoICAQD9m23nz0MOXi3GFvuv+Qpva9Ms
244oZ/oPS1sYy/JtxvBtEjWv0b0wxtLAiASkBBhaqC1Qy+9O7dC7s5wze/0v/mAxFtF
245X18KhMWSRtgiGOWzg6Nyog+Dus224Qa6wfYC1+lcGG/TmDLSmukBrVzd/71pSOkT
2466O3v5hx1JOdJzzNPt1kjq31B1/2h9OXnARg1JDCLHP6fxRkWj2ThwU+FwlKTpo+d
247MsC0Xl93t1lBOiS5VsHLSZIeqsInEj3bWBTT6C5q0huZKBQ9iT3SwAq/gG8KL9DV
248MGSWQwAQdUpQWcv6JDwLb6h6QhHmzclDCF8JAGRzLA9kDWbmYPXQuVxj1//LuJba
249fMe6tLWBuAMeQNFuB/pro2dszbo8GDOYEaOfogG86x9hfgBoPufU0oHlfhj3nhO8
250cLYwvhRkN/ZZyTM5/1aHQNvp6S+sIGD1WFKPxMZuTH2k01I0s8ESGrlWpnPgwNQx
251iwx+dlXLFZNdDOiS+Mb9JPSuJ/xDagHmQzG0gxYiLfWQKjAMol4niB6mGIm0gEYq
252Rw9OEHE/ghzBMbr6M+BLDm7PDac5y1a3L6l9e0Yq9h+4bwqTqZIpNIsRS4A0lmXd
253IXs54dQmTwF75cMWjOAOYwxua97I4Ci3nkJWiozBugoGrKTSkeNX21uMfVJKidjd
254j79Vlz79qnMSB42sqwIhAPwv8XkIkZvnDKTTowvUy8L6V/SxF7KZFtvX5Mx4KJt7
255AoICAQDdWpUSEpBLdFiu6MzqdWnRv9pt8BEu0sC9Z+xE3VrpDKqqnK2Rhtye0yIk
2564fofLl9VF2J4P6hzDcCu8QEDj0K3dWQR+BU1WMBHMCTHrTM51XAqbjR1H3ZYWVxC
257WgWrVGQkcD55TrM2RYBKH6Wa7K9HeFVJcdHrh0AZb4lXIBZHf0+71cOfZH8w1ufl
258yKzYNMGY9+eoU3Pm0D5gBO/69uWDrK21SJMW3Fpqm4rgeHtNhR4oI6cagyo2+XfD
259e+ivCk5XKCXgImKpKDMuKhJy0K4vZFjVHeIWl2mf1zyhmCxuAcGEf9dRVKtnQQGS
2608uJGddKuda67J9vecN78H2nhsZcU9DRPzgjW+tUTwSX3ycW/hEA65kN5PUSpj8Ax
2617gZN5Jn8bGNlCgLItHQMscGDo0L47+bN8G8JguZr+hpNFKmYMpbQ15yHaRU7DR36
262Zx91SEQ1o8Kn8mNT37RBYk/vZij9P8QRnn3pen9Ha5CBNs6/8RERaUJ84kSCV0iL
2634/ed3syr8bek8a2rN6qhLZSKfYwLdiu0VaBsmJrOoE7xNgJ+f0g7aTptO1NOiwtY
264ftiDvljQGG1QhAv9i1uSmz6EPYn3VCJPadxX8mlPmpGCewk8ycOV1IFgCK86cdTl
265bDfJavyQoCWW6EF260m2+rWtl6ILGhhWIbDN5KfXBhrOPvxvHQQiAiBZM1KxUjGw
266h2C/91Z0b0Xg4QYNOtVUbfqQTJQAqEpaRg==
267-----END PRIVATE KEY-----
268
269Title = FIPS Tests (using different key sizes and digests)
270
271# Test sign with a 2048 bit key with N == 160 is not allowed in fips mode
272Availablein = fips
273DigestSign = SHA256
274Key = DSA-2048-160
275Input = "Hello"
276Output = 00
277Result = DIGESTSIGNINIT_ERROR
278
279# Test sign with a 2048 bit key with N == 224 is allowed in fips mode
280FIPSversion = <3.4.0
281DigestSign = SHA256
282Key = DSA-2048-224
283Input = "Hello"
284Output = 00
285Result = SIGNATURE_MISMATCH
286
287# Test sign with a 2048 bit key with N == 256 is allowed in fips mode
288FIPSversion = <3.4.0
289DigestSign = SHA256
290Key = DSA-2048-256
291Input = "Hello"
292Result = SIGNATURE_MISMATCH
293
294# Test sign with a 3072 bit key with N == 256 is allowed in fips mode
295FIPSversion = <3.4.0
296DigestSign = SHA256
297Key = DSA-3072-256
298Input = "Hello"
299Result = SIGNATURE_MISMATCH
300
301# Test sign with a 2048 bit SHA3 is allowed in fips mode
302FIPSversion = <3.4.0
303DigestSign = SHA3-224
304Key = DSA-2048-256
305Input = "Hello"
306Result = SIGNATURE_MISMATCH
307
308# Test verify with a 1024 bit key is allowed in fips mode
309DigestVerify = SHA256
310Key = DSA-1024
311Input = "Hello "
312Output = 302c02142e32c8a5b0bd19b2ba33fd9c78aad3729dcb1b9e02142c006f7726a9d6833d414865b95167ea5f4f7713
313
314# Test verify with SHA1 is allowed in fips mode
315DigestVerify = SHA1
316Key = DSA-1024
317Input = "Hello "
318Output = 302c0214602d21ed37e46051bb3d06cc002adddeb4cdb3bd02144f39f75587b286588862d06366b2f29bddaf8cf6
319
320# Test verify with a 2048/160 bit key is allowed in fips mode
321FIPSversion = >3.1.1
322DigestVerify = SHA256
323Key = DSA-2048-160
324Input = "Hello"
325Output = 302e021500a51ca7f70ae206f221dc9b805bb04bfc07d6e448021500b16e45f9dac8aff04e115f96c00f4237d0fced41
326
327Title = Fips Negative Tests (using different key sizes and digests)
328
329# Test sign with a 1024 bit key is not allowed in fips mode
330Availablein = fips
331DigestSign = SHA256
332Securitycheck = 1
333Key = DSA-1024-FIPS186-2
334Input = "Hello"
335Result = DIGESTSIGNINIT_ERROR
336
337# Test sign with SHA1 is not allowed in fips mode
338Availablein = fips
339DigestSign = SHA1
340Securitycheck = 1
341Key = DSA-2048-256
342Input = "Hello"
343Result = DIGESTSIGNINIT_ERROR
344
345# Test sign with a 3072 bit key with N == 224 is not allowed in fips mode
346Availablein = fips
347DigestSign = SHA256
348Securitycheck = 1
349Key = DSA-3072-224
350Input = "Hello"
351Result = DIGESTSIGNINIT_ERROR
352
353# Test sign with a 4096 bit key is not allowed in fips mode
354Availablein = fips
355DigestSign = SHA256
356Securitycheck = 1
357Key = DSA-4096-256
358Input = "Hello"
359Result = DIGESTSIGNINIT_ERROR
360
361# Test sign is not allowed in fips mode
362FIPSversion = >=3.4.0
363DigestSign = SHA256
364Securitycheck = 1
365Key = DSA-2048-256
366Input = "Hello"
367Result = DIGESTSIGNINIT_ERROR
368
369Title = Fips Indicator Tests
370# Check that the indicator callback is triggered
371
372# Test sign with a 1024 bit key is unapproved in fips mode if the sign and key
373# checks are ignored.
374FIPSversion = >=3.4.0
375DigestSign = SHA256
376Securitycheck = 1
377Unapproved = 1
378CtrlInit = sign-check:0
379CtrlInit = key-check:0
380Key = DSA-1024-FIPS186-2
381Input = "Hello"
382Result = SIGNATURE_MISMATCH
383
384# Test sign with a 1024 bit key is unapproved and fails the key check in
385# fips mode if the sign check is ignored
386FIPSversion = >=3.4.0
387DigestSign = SHA256
388Securitycheck = 1
389Unapproved = 1
390CtrlInit = sign-check:0
391Key = DSA-1024-FIPS186-2
392Input = "Hello"
393Result = DIGESTSIGNINIT_ERROR
394
395# Test sign with a 3072 bit key with N == 224 is unapproved in fips mode if the
396# sign and key checks are ignored
397FIPSversion = >=3.4.0
398DigestSign = SHA256
399Securitycheck = 1
400Unapproved = 1
401CtrlInit = sign-check:0
402CtrlInit = key-check:0
403Key = DSA-3072-224
404Input = "Hello"
405Result = SIGNATURE_MISMATCH
406
407# Test sign with a 4096 bit key is unapproved in fips mode if the sign and key
408# checks are ignored
409FIPSversion = >=3.4.0
410DigestSign = SHA256
411Securitycheck = 1
412Unapproved = 1
413CtrlInit = sign-check:0
414CtrlInit = key-check:0
415Key = DSA-4096-256
416Input = "Hello"
417Result = SIGNATURE_MISMATCH
418
419# Test DSA sign with SHA1 is unapproved in fips mode if the sign and digest checks
420# are ignored
421FIPSversion = >=3.4.0
422DigestSign = SHA1
423Securitycheck = 1
424Unapproved = 1
425CtrlInit = sign-check:0
426CtrlInit = digest-check:0
427Key = DSA-2048-256
428Input = "Hello"
429Result = SIGNATURE_MISMATCH
430
431# Test sign with SHA1 is unapproved in fips mode if DSA sign check is ignored
432FIPSversion = >=3.4.0
433DigestSign = SHA1
434Securitycheck = 1
435Unapproved = 1
436CtrlInit = sign-check:0
437Key = DSA-2048-256
438Input = "Hello"
439Result = DIGESTSIGNINIT_ERROR
440
441Title = Test DSA keygen
442
443# Load DSA Params to use in the DSA keygen tests
444ParamKey = DSA-2048-PARAMS
445-----BEGIN DSA PARAMETERS-----
446MIICKAKCAQEAgrJrFYjhhJ3NnIBSRNpVK5+gze+9fA4Ce0Yjbiz3KOU2TTtE1mbf
447lGVsjuAEX2c/cBUWFEjg77EoGCFCpfbzSh6nd2DgCiFaw91ak3GuQ+yKs55SyeQV
448ikUQaAILVm0SgIPhdCUtG5XdghJyNUTEHFowWXh3gaQDaRB6MqxbMj0a9LoRwYAw
449Mo/9bug6Uh/ITEKjoBertznRW8SflHhATvc6eCL6NXi3qhkQIgYDdwxUGGz1SnfH
450wUTYcvu2eogv+0WAnnxCJh51qv2gUynH4TLeL9g/jskcJfvYtejJ+k/G3Q6dsEn/
451an8pdKdH0MaplOZNB6nJSa1H0VZfg9V9VQIdALq9dtHaBpeXSal0qhn0P/nmR9ID
452I1Yn4K1l33cCggEAAulOaqN0hBs9DXQyljrKesD8zTLgIsabgyEauuyFfsZp5ezU
453762cnqDde20DPTHu1hbVmw68hvKDAWNpVzMMsopFPPWt8JwnEHSMZxwv08RxBET9
454HQXL4+YxA9hfAmtRkUK+QdZFRdXv4AjnxcLyNbIqT/uPm1c/+Dd7875rIzTcW3cc
455IvhlS7VgfwIg0IUuGF2uXt/6P7zInftR+nan4/DbNWind5308I7l4jchRjUDRlsK
456WbJpcH2m2K43Ue0MUKIki1dTlH07PiHUuY4wQ+jInWtnnRQlLGSw+LdrD7gwpFYY
457w/lWdpSTr0aHbSvxD9vcrUzKljFY6iSQF32wcg==
458-----END DSA PARAMETERS-----
459
460# FIPS Key generation tests
461
462# Test FIPS DSA keygen is not allowed
463Availablein = fips
464FIPSversion = >=3.4.0
465KeyGen = DSA
466KeyParam = DSA-2048-PARAMS
467KeyName = tmp1dsa
468Result = KEYGEN_GENERATE_ERROR
469
470Title = Test DSA keygen FIPS indicator test
471
472# Test DSA keygen is not approved
473Availablein = fips
474FIPSversion = >=3.4.0
475KeyGen = DSA
476KeyParam = DSA-2048-PARAMS
477KeyName = tmp2dsa
478Unapproved = 1
479Ctrl = sign-check:0
480
481Title = XOF disallowed
482
483DigestVerify = SHAKE256
484Key = DSA-1024
485Input = "Hello "
486Result = DIGESTVERIFYINIT_ERROR
487
488