1e1051a39Sopenharmony_ci#
2e1051a39Sopenharmony_ci# Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
3e1051a39Sopenharmony_ci#
4e1051a39Sopenharmony_ci# Licensed under the Apache License 2.0 (the "License").  You may not use
5e1051a39Sopenharmony_ci# this file except in compliance with the License.  You can obtain a copy
6e1051a39Sopenharmony_ci# in the file LICENSE in the source distribution or at
7e1051a39Sopenharmony_ci# https://www.openssl.org/source/license.html
8e1051a39Sopenharmony_ci
9e1051a39Sopenharmony_ci# Tests start with one of these keywords
10e1051a39Sopenharmony_ci#       Cipher Decrypt Derive Digest Encoding KDF MAC PBE
11e1051a39Sopenharmony_ci#       PrivPubKeyPair Sign Verify VerifyRecover
12e1051a39Sopenharmony_ci# and continue until a blank line. Lines starting with a pound sign are ignored.
13e1051a39Sopenharmony_ci
14e1051a39Sopenharmony_ciTitle = DH tests (with random keys)
15e1051a39Sopenharmony_ci
16e1051a39Sopenharmony_ciPrivateKey=ALICE_dh2048
17e1051a39Sopenharmony_ci-----BEGIN PRIVATE KEY-----
18e1051a39Sopenharmony_ciMIICJgIBADCCARcGCSqGSIb3DQEDATCCAQgCggEBAIkq4hnfaUGeltLDB1eo3SWH
19e1051a39Sopenharmony_ciMm9pJsCYb2E/gCXNgTWQBKebkg4ZXzEYUng889PfzNpxmDinl/H4WoBmoM/hJasJ
20e1051a39Sopenharmony_ci2PElcKejIAnYUi0SHHDkYKOJMo0W5H8fHcRk893vR0kllO+hP0e1Gur02TsdEF7w
21e1051a39Sopenharmony_cibIPc+VV/7bMg9VxhQh9+ESeYgQXn/n3NSniUkO5aCjyzGy6Ex2/9dc+Xg6C08YJD
22e1051a39Sopenharmony_cicerI660enEe0NaI50N1W65bbxdl3d6vHT9CGteXYiIuj0I5CG7CwnU2WV42we/Uw
23e1051a39Sopenharmony_ciYSq/6DfU93y5LSBZuOif8iLpGXfgE7TCAeY3H+WBAu43+gWz6xNKtbF0RMmT2VcC
24e1051a39Sopenharmony_ciAQIEggEEAoIBAH+HysSpzn94mlyNeevhb29SFyu3/maES+JRlVuHvpVOcHCrGR5J
25e1051a39Sopenharmony_cifbXWiWnn03geb1hC9HIta6l9YKwWGQYLmVu/0bRedYeqC1JfgEvwYrZME9FO+AqQ
26e1051a39Sopenharmony_ci4CpXcG/mSGtHoMPtcsUakpprNxoh3xwI+GAfSDK1lW/aA0R/A7jNCV9+lmYJAJL6
27e1051a39Sopenharmony_ci5FJvhBAODSf7JUetlWvhwDBnvram7jRGJtlvpiwmmfk+Kb4AA1ZQMIHTnPNNPLJh
28e1051a39Sopenharmony_ciNTtqELKjk3i3xxlLLlWJEbF+ZAuseDPZITtwMr4fhoeKegez+lucu6uoMm7Wek7F
29e1051a39Sopenharmony_ciG0Ne0unywftCLUrmQ/Lboqaqvlv3PAFRaLs=
30e1051a39Sopenharmony_ci-----END PRIVATE KEY-----
31e1051a39Sopenharmony_ci
32e1051a39Sopenharmony_ciPublicKey=ALICE_dh2048_pub
33e1051a39Sopenharmony_ci-----BEGIN PUBLIC KEY-----
34e1051a39Sopenharmony_ciMIICJDCCARcGCSqGSIb3DQEDATCCAQgCggEBAIkq4hnfaUGeltLDB1eo3SWHMm9p
35e1051a39Sopenharmony_ciJsCYb2E/gCXNgTWQBKebkg4ZXzEYUng889PfzNpxmDinl/H4WoBmoM/hJasJ2PEl
36e1051a39Sopenharmony_cicKejIAnYUi0SHHDkYKOJMo0W5H8fHcRk893vR0kllO+hP0e1Gur02TsdEF7wbIPc
37e1051a39Sopenharmony_ci+VV/7bMg9VxhQh9+ESeYgQXn/n3NSniUkO5aCjyzGy6Ex2/9dc+Xg6C08YJDcerI
38e1051a39Sopenharmony_ci660enEe0NaI50N1W65bbxdl3d6vHT9CGteXYiIuj0I5CG7CwnU2WV42we/UwYSq/
39e1051a39Sopenharmony_ci6DfU93y5LSBZuOif8iLpGXfgE7TCAeY3H+WBAu43+gWz6xNKtbF0RMmT2VcCAQID
40e1051a39Sopenharmony_ciggEFAAKCAQBT3K38hHa4aWKerb3st8S8Jy/abEwn3kRnLtWins75l9K4YDnIKHV9
41e1051a39Sopenharmony_ci/zTO0a75SxhvDDQqRiekw99Gel1zkxdo1/OJOTJs2KJ6Itedn3bU4p7k2599xstL
42e1051a39Sopenharmony_ci02OHWzvu4J9LQXZ0NVnhX3RzhJH/ZMZAchIVx4joRmaY7fGCXwYGsfrq7lrhYOwp
43e1051a39Sopenharmony_ciSSALvTdiNJLGm8nSOPXRWnAarTJfBhH/A38OsBY8a3bMHAlxigZWKtzY8GFIPh6O
44e1051a39Sopenharmony_ciXu/+5iasto/aUiK6Oshcf7t4la3TY6GAbPz9SyPETV2jRn2+ujrkFON8I1wuz9ud
45e1051a39Sopenharmony_ci9d5iI/cRcKKrtLdIPGc7uqGy2V2qIp3v
46e1051a39Sopenharmony_ci-----END PUBLIC KEY-----
47e1051a39Sopenharmony_ci
48e1051a39Sopenharmony_ciPrivateKey=BOB_dh2048
49e1051a39Sopenharmony_ci-----BEGIN PRIVATE KEY-----
50e1051a39Sopenharmony_ciMIICJgIBADCCARcGCSqGSIb3DQEDATCCAQgCggEBAIkq4hnfaUGeltLDB1eo3SWH
51e1051a39Sopenharmony_ciMm9pJsCYb2E/gCXNgTWQBKebkg4ZXzEYUng889PfzNpxmDinl/H4WoBmoM/hJasJ
52e1051a39Sopenharmony_ci2PElcKejIAnYUi0SHHDkYKOJMo0W5H8fHcRk893vR0kllO+hP0e1Gur02TsdEF7w
53e1051a39Sopenharmony_cibIPc+VV/7bMg9VxhQh9+ESeYgQXn/n3NSniUkO5aCjyzGy6Ex2/9dc+Xg6C08YJD
54e1051a39Sopenharmony_cicerI660enEe0NaI50N1W65bbxdl3d6vHT9CGteXYiIuj0I5CG7CwnU2WV42we/Uw
55e1051a39Sopenharmony_ciYSq/6DfU93y5LSBZuOif8iLpGXfgE7TCAeY3H+WBAu43+gWz6xNKtbF0RMmT2VcC
56e1051a39Sopenharmony_ciAQIEggEEAoIBAE3A6u2we1mxSxDLkiakPs2zZqfhb2ejP2TvuA4DX/+knqrJRK7s
57e1051a39Sopenharmony_ciTqKBz80CvR7QA5CL4r/5BWJrmFet7cmF6Eh4PXE+sNswevV2C16btzAbGSGzSR5u
58e1051a39Sopenharmony_cibu6vv06Ah1rPrHrv+UjvRe2bxR/Z/PavbI71aQ+lqDkGKC/Uyr3u+PFLRwos2HfK
59e1051a39Sopenharmony_cinEX/qfnqo3N3YsPFvLidkbSJOkq6CayLT4ycTRdPxTVKELfanSEeenKJ9rKTiPdz
60e1051a39Sopenharmony_ci3y0ycyyh0kAKs2bBViq3UlVRE3kdNAQ3nCpRl9O52hCsA+BMmnAHEW8z81lEZugN
61e1051a39Sopenharmony_ci9X4uLV3XuflMrKxBGxfiCEVGcvnjpBTZXas=
62e1051a39Sopenharmony_ci-----END PRIVATE KEY-----
63e1051a39Sopenharmony_ci
64e1051a39Sopenharmony_ciPublicKey=BOB_dh2048_pub
65e1051a39Sopenharmony_ci-----BEGIN PUBLIC KEY-----
66e1051a39Sopenharmony_ciMIICJDCCARcGCSqGSIb3DQEDATCCAQgCggEBAIkq4hnfaUGeltLDB1eo3SWHMm9p
67e1051a39Sopenharmony_ciJsCYb2E/gCXNgTWQBKebkg4ZXzEYUng889PfzNpxmDinl/H4WoBmoM/hJasJ2PEl
68e1051a39Sopenharmony_cicKejIAnYUi0SHHDkYKOJMo0W5H8fHcRk893vR0kllO+hP0e1Gur02TsdEF7wbIPc
69e1051a39Sopenharmony_ci+VV/7bMg9VxhQh9+ESeYgQXn/n3NSniUkO5aCjyzGy6Ex2/9dc+Xg6C08YJDcerI
70e1051a39Sopenharmony_ci660enEe0NaI50N1W65bbxdl3d6vHT9CGteXYiIuj0I5CG7CwnU2WV42we/UwYSq/
71e1051a39Sopenharmony_ci6DfU93y5LSBZuOif8iLpGXfgE7TCAeY3H+WBAu43+gWz6xNKtbF0RMmT2VcCAQID
72e1051a39Sopenharmony_ciggEFAAKCAQAJ1Ko5/dRMpowe/7k1T+11ZNszNMEbKtXGq9KsZAqSFp6h8on/kCFe
73e1051a39Sopenharmony_ci3/SK520B/cDIjLV0W4q33iimSmG/TjwLG0jpsIKwxbzIfxjs4e1Y4pPaKfbKuCcK
74e1051a39Sopenharmony_ciBBu8Thz2brhTxooU4CPVBJerX3mJX6hbAPAl0XcIScZPcyYYHkvthjZvO0djEn1z
75e1051a39Sopenharmony_ciinhUQ37JKc74+56w/nUDjDiDFZMnwkPCtkdzLsbWW+Mu1Ysd1qQyb1XcNfkO0d/t
76e1051a39Sopenharmony_cirX00AaHwYqM7uM4slSqZhCi2w4zVvwP0BPD/TrPAjEFYEk0l2eNxBBmW5Mlss2Od
77e1051a39Sopenharmony_ciwtMjfaolhtG/beqmAneP14mCEM4lwH4a
78e1051a39Sopenharmony_ci-----END PUBLIC KEY-----
79e1051a39Sopenharmony_ci
80e1051a39Sopenharmony_ciPrivateKey=BOB_dh2048_different_pg
81e1051a39Sopenharmony_ci-----BEGIN PRIVATE KEY-----
82e1051a39Sopenharmony_ciMIICJgIBADCCARcGCSqGSIb3DQEDATCCAQgCggEBAM/ZBdjCzvFon8sEMWEXQ4vw
83e1051a39Sopenharmony_cibFV3VCq3nhCuHSLb/ZsHIuKFy/ma173ttMdN1qSOL2XJazi8l+4whU0Wga8FticR
84e1051a39Sopenharmony_ciz9U0t8ExC+0f90QRXsjXGSuDFJY6i5m6YL/xZf09g7522RqNwt4WWACgKrG7g31b
85e1051a39Sopenharmony_ci+43eXosvv5okgw5gmMrlGNZYaqnn094Ifu0UhUro6vXmlcfhnv1JpASNmxNmzrQJ
86e1051a39Sopenharmony_ciTE8W5miG5c1+6MQJdmSVKEitdUX202mRukj2Nzq16e6iOGmGMTWYGV+sK/Hnh+BD
87e1051a39Sopenharmony_cihPVIqLWW5Wfz3y5ysCsGmSKuS9bssZXWmlwRiNp/NqliyzBznG168VoKMlDQxG8C
88e1051a39Sopenharmony_ciAQIEggEEAoIBAHLPQHe9mySBSeNAqUMzKAXgxhPYPl9zC7QiyxwGiZcu/4IQ8Elr
89e1051a39Sopenharmony_cicyRhMuJBbu0T6NNruG2zUzDFWp/0dPGWq7YiOauau5iYCpKt4KZgiELDEwZqlxF+
90e1051a39Sopenharmony_ciwXKXxSw3rJVemZyYuLmRzmUMcvBr5ZspdxsDRipN9mHSGTtQNGAiSPXB4P/bkaSW
91e1051a39Sopenharmony_ciYELavS+cHZfH4nE7DAP8b8dEID81xBLGEKAyUilDE2Nv4PamhCU5GmVSv2HXVSdI
92e1051a39Sopenharmony_cibGlj1BpvrfJyuK5EyyOqMKvwXiEQweqrVICGNtQQs+bmNpaVBCu/xRomWn5YZkqc
93e1051a39Sopenharmony_ciYjQBeOQwrhEFzbFwWi8vai9HB85tBLKEMiE=
94e1051a39Sopenharmony_ci-----END PRIVATE KEY-----
95e1051a39Sopenharmony_ci
96e1051a39Sopenharmony_ciPublicKey=BOB_dh2048_different_pg_pub
97e1051a39Sopenharmony_ci-----BEGIN PUBLIC KEY-----
98e1051a39Sopenharmony_ciMIICJTCCARcGCSqGSIb3DQEDATCCAQgCggEBAM/ZBdjCzvFon8sEMWEXQ4vwbFV3
99e1051a39Sopenharmony_ciVCq3nhCuHSLb/ZsHIuKFy/ma173ttMdN1qSOL2XJazi8l+4whU0Wga8FticRz9U0
100e1051a39Sopenharmony_cit8ExC+0f90QRXsjXGSuDFJY6i5m6YL/xZf09g7522RqNwt4WWACgKrG7g31b+43e
101e1051a39Sopenharmony_ciXosvv5okgw5gmMrlGNZYaqnn094Ifu0UhUro6vXmlcfhnv1JpASNmxNmzrQJTE8W
102e1051a39Sopenharmony_ci5miG5c1+6MQJdmSVKEitdUX202mRukj2Nzq16e6iOGmGMTWYGV+sK/Hnh+BDhPVI
103e1051a39Sopenharmony_ciqLWW5Wfz3y5ysCsGmSKuS9bssZXWmlwRiNp/NqliyzBznG168VoKMlDQxG8CAQID
104e1051a39Sopenharmony_ciggEGAAKCAQEAr5J9x7z9FWCQ27LF3pzTR+4ZdOKJJpg1qD8Vp78sg6VkoZLl+j57
105e1051a39Sopenharmony_ciuTQVgWlCEQr5tOVCBA+F0i3DCVGpE0ExkO/lVYjf6+mwTsyZWZj6IKkxpxwm9CIR
106e1051a39Sopenharmony_ciNshubotT9vagLxdRM9jepmt6A8Q2MfI1xm4yrYLZ0xQpNPT6076a+3gl6UysaDv8
107e1051a39Sopenharmony_ciwpryAiQdIexC1jz4Z7yIAND3PHWFAiAIOdipIMmuvJz2exgP1KsYTZFjJUTMBZxN
108e1051a39Sopenharmony_cifSO65JSqf6LoQ91cB5RtgwD2pjehoAl2wumjdMcdNJyYIPvcTd1BFMjUmR3vJe/n
109e1051a39Sopenharmony_cidi2IvD9wSm5tY542PWcf/7GV0bMbnykaPQ==
110e1051a39Sopenharmony_ci-----END PUBLIC KEY-----
111e1051a39Sopenharmony_ci
112e1051a39Sopenharmony_ciPublicKey=BOB_dh2048_badpub_toolarge
113e1051a39Sopenharmony_ci-----BEGIN PUBLIC KEY-----
114e1051a39Sopenharmony_ciMIICJTCCARcGCSqGSIb3DQEDATCCAQgCggEBAIkq4hnfaUGeltLDB1eo3SWHMm9p
115e1051a39Sopenharmony_ciJsCYb2E/gCXNgTWQBKebkg4ZXzEYUng889PfzNpxmDinl/H4WoBmoM/hJasJ2PEl
116e1051a39Sopenharmony_cicKejIAnYUi0SHHDkYKOJMo0W5H8fHcRk893vR0kllO+hP0e1Gur02TsdEF7wbIPc
117e1051a39Sopenharmony_ci+VV/7bMg9VxhQh9+ESeYgQXn/n3NSniUkO5aCjyzGy6Ex2/9dc+Xg6C08YJDcerI
118e1051a39Sopenharmony_ci660enEe0NaI50N1W65bbxdl3d6vHT9CGteXYiIuj0I5CG7CwnU2WV42we/UwYSq/
119e1051a39Sopenharmony_ci6DfU93y5LSBZuOif8iLpGXfgE7TCAeY3H+WBAu43+gWz6xNKtbF0RMmT2VcCAQID
120e1051a39Sopenharmony_ciggEGAAKCAQEAiSriGd9pQZ6W0sMHV6jdJYcyb2kmwJhvYT+AJc2BNZAEp5uSDhlf
121e1051a39Sopenharmony_ciMRhSeDzz09/M2nGYOKeX8fhagGagz+ElqwnY8SVwp6MgCdhSLRIccORgo4kyjRbk
122e1051a39Sopenharmony_cifx8dxGTz3e9HSSWU76E/R7Ua6vTZOx0QXvBsg9z5VX/tsyD1XGFCH34RJ5iBBef+
123e1051a39Sopenharmony_cifc1KeJSQ7loKPLMbLoTHb/11z5eDoLTxgkNx6sjrrR6cR7Q1ojnQ3VbrltvF2Xd3
124e1051a39Sopenharmony_ciq8dP0Ia15diIi6PQjkIbsLCdTZZXjbB79TBhKr/oN9T3fLktIFm46J/yIukZd+AT
125e1051a39Sopenharmony_citMIB5jcf5YEC7jf6BbPrE0q1sXREyZPZVg==
126e1051a39Sopenharmony_ci-----END PUBLIC KEY-----
127e1051a39Sopenharmony_ci
128e1051a39Sopenharmony_ciPublicKey=BOB_dh2048_badpub_toosmall
129e1051a39Sopenharmony_ci-----BEGIN PUBLIC KEY-----
130e1051a39Sopenharmony_ciMIIBITCCARcGCSqGSIb3DQEDATCCAQgCggEBAIkq4hnfaUGeltLDB1eo3SWHMm9p
131e1051a39Sopenharmony_ciJsCYb2E/gCXNgTWQBKebkg4ZXzEYUng889PfzNpxmDinl/H4WoBmoM/hJasJ2PEl
132e1051a39Sopenharmony_cicKejIAnYUi0SHHDkYKOJMo0W5H8fHcRk893vR0kllO+hP0e1Gur02TsdEF7wbIPc
133e1051a39Sopenharmony_ci+VV/7bMg9VxhQh9+ESeYgQXn/n3NSniUkO5aCjyzGy6Ex2/9dc+Xg6C08YJDcerI
134e1051a39Sopenharmony_ci660enEe0NaI50N1W65bbxdl3d6vHT9CGteXYiIuj0I5CG7CwnU2WV42we/UwYSq/
135e1051a39Sopenharmony_ci6DfU93y5LSBZuOif8iLpGXfgE7TCAeY3H+WBAu43+gWz6xNKtbF0RMmT2VcCAQID
136e1051a39Sopenharmony_ciBAACAQE=
137e1051a39Sopenharmony_ci-----END PUBLIC KEY-----
138e1051a39Sopenharmony_ci
139e1051a39Sopenharmony_ci# DH Alice with Bob peer
140e1051a39Sopenharmony_ciAvailablein = default
141e1051a39Sopenharmony_ciDerive=ALICE_dh2048
142e1051a39Sopenharmony_ciPeerKeyValidate=BOB_dh2048_pub
143e1051a39Sopenharmony_ciSharedSecret=28f1f890a14899b5fb600dc43ef28cdc065535bc5ee2b3e08ebb53f7ee93618f3471c0696bce289c3839ae6ced374a799c61d76cb9c60ecdc3bd75ac4ed9f060fcfa972a5ce899ff17120ce70e35d720797a62d2b3d724b9d21b9dc0f4f4ec1cbf4730d57955dc1be53210e3d10ed3e78a96914e0a201e0cc0d75744e2d8f6ed8a301bca465d4d1a518a5cda8219bdf562796842bd6a839369b5cacc77e44a9ac8475d50df6d7bddfb661241c566acd025642bc6b1bbcecb1c1e5a1429c9df552ad6a39194074b21f4e890bd79e934150850561932fee3c44ccf0e8bcd22df2f9cafad2e2f19364344fe588523a9da8545081c2118fd6b8c0e12ede6b9f5f258
144e1051a39Sopenharmony_ci
145e1051a39Sopenharmony_ci# DH Bob with Alice peer
146e1051a39Sopenharmony_ciAvailablein = default
147e1051a39Sopenharmony_ciDerive=BOB_dh2048
148e1051a39Sopenharmony_ciPeerKeyValidate=ALICE_dh2048_pub
149e1051a39Sopenharmony_ciSharedSecret=28f1f890a14899b5fb600dc43ef28cdc065535bc5ee2b3e08ebb53f7ee93618f3471c0696bce289c3839ae6ced374a799c61d76cb9c60ecdc3bd75ac4ed9f060fcfa972a5ce899ff17120ce70e35d720797a62d2b3d724b9d21b9dc0f4f4ec1cbf4730d57955dc1be53210e3d10ed3e78a96914e0a201e0cc0d75744e2d8f6ed8a301bca465d4d1a518a5cda8219bdf562796842bd6a839369b5cacc77e44a9ac8475d50df6d7bddfb661241c566acd025642bc6b1bbcecb1c1e5a1429c9df552ad6a39194074b21f4e890bd79e934150850561932fee3c44ccf0e8bcd22df2f9cafad2e2f19364344fe588523a9da8545081c2118fd6b8c0e12ede6b9f5f258
150e1051a39Sopenharmony_ci
151e1051a39Sopenharmony_ci# DH Alice with Bob peer - mismatching domain parameters
152e1051a39Sopenharmony_ciAvailablein = default
153e1051a39Sopenharmony_ciDerive=BOB_dh2048
154e1051a39Sopenharmony_ciPeerKeyValidate=BOB_dh2048_different_pg_pub
155e1051a39Sopenharmony_ciResult = DERIVE_SET_PEER_ERROR
156e1051a39Sopenharmony_ci
157e1051a39Sopenharmony_ci# DH Alice with Bob peer - pub > p - 2
158e1051a39Sopenharmony_ciAvailablein = default
159e1051a39Sopenharmony_ciDerive=ALICE_dh2048
160e1051a39Sopenharmony_ciPeerKeyValidate=BOB_dh2048_badpub_toolarge
161e1051a39Sopenharmony_ciResult = DERIVE_SET_PEER_ERROR
162e1051a39Sopenharmony_ci
163e1051a39Sopenharmony_ci# DH Alice with Bob peer - pub < 2 should fail
164e1051a39Sopenharmony_ciAvailablein = default
165e1051a39Sopenharmony_ciDerive=ALICE_dh2048
166e1051a39Sopenharmony_ciPeerKeyValidate=BOB_dh2048_badpub_toosmall
167e1051a39Sopenharmony_ciResult = DERIVE_SET_PEER_ERROR
168