Add evp_test fixes.
[openssl.git] / test / recipes / 30-test_evp_data / evppkey_ecdsa.txt
1 #
2 # Copyright 2001-2020 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 # The keyword Availablein must appear before the test name if needed.
14
15 # Public key algorithm tests
16
17 # Private keys used for PKEY operations.
18
19 # EC P-256 key
20
21 PrivateKey=P-256
22 -----BEGIN PRIVATE KEY-----
23 MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgiocvtiiTxNH/xbnw
24 +RdYBp+DUuCPoFpJ+NuSbLVyhyWhRANCAAQsFQ9CnOcPIWwlLPXgYs4fY5zV0WXH
25 +JQkBywnGX14szuSDpXNtmTpkNzwz+oNlOKo5q+dDlgFbmUxBJJbn+bJ
26 -----END PRIVATE KEY-----
27
28 # EC public key for above
29
30 PublicKey=P-256-PUBLIC
31 -----BEGIN PUBLIC KEY-----
32 MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELBUPQpznDyFsJSz14GLOH2Oc1dFl
33 x/iUJAcsJxl9eLM7kg6VzbZk6ZDc8M/qDZTiqOavnQ5YBW5lMQSSW5/myQ==
34 -----END PUBLIC KEY-----
35
36 PrivPubKeyPair = P-256:P-256-PUBLIC
37
38 Title = ECDSA tests
39
40 Verify = P-256
41 Ctrl = digest:SHA1
42 Input = "0123456789ABCDEF1234"
43 Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8
44
45 # Digest too long
46 Verify = P-256
47 Ctrl = digest:SHA1
48 Input = "0123456789ABCDEF12345"
49 Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8
50 Result = VERIFY_ERROR
51
52 # Digest too short
53 Verify = P-256
54 Ctrl = digest:SHA1
55 Input = "0123456789ABCDEF123"
56 Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8
57 Result = VERIFY_ERROR
58
59 # Digest invalid
60 Verify = P-256
61 Ctrl = digest:SHA1
62 Input = "0123456789ABCDEF1235"
63 Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8
64 Result = VERIFY_ERROR
65
66 # Invalid signature
67 Verify = P-256
68 Ctrl = digest:SHA1
69 Input = "0123456789ABCDEF1234"
70 Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec7
71 Result = VERIFY_ERROR
72
73 # Garbage after signature
74 Availablein = default
75 Verify = P-256
76 Ctrl = digest:SHA1
77 Input = "0123456789ABCDEF1234"
78 Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec800
79 Result = VERIFY_ERROR
80
81 # BER signature
82 Verify = P-256
83 Ctrl = digest:SHA1
84 Input = "0123456789ABCDEF1234"
85 Output = 3080022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec80000
86 Result = VERIFY_ERROR
87
88 Verify = P-256-PUBLIC
89 Ctrl = digest:SHA1
90 Input = "0123456789ABCDEF1234"
91 Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8
92
93
94 Title = DigestSign and DigestVerify
95
96 DigestVerify = SHA256
97 Key = P-256-PUBLIC
98 Input = "Hello World"
99 Output = 3046022100e7515177ec3817b77a4a94066ab3070817b7aa9d44a8a09f040da250116e8972022100ba59b0f631258e59a9026be5d84f60685f4cf22b9165a0c2736d5c21c8ec1862
100
101 # Invalid digest
102 DigestVerify = MD5
103 Key = P-256-PUBLIC
104 Result = DIGESTVERIFYINIT_ERROR
105
106 # Oneshot tests
107 OneShotDigestVerify = SHA256
108 Key = P-256-PUBLIC
109 Input = "Hello World"
110 Output = 3046022100e7515177ec3817b77a4a94066ab3070817b7aa9d44a8a09f040da250116e8972022100ba59b0f631258e59a9026be5d84f60685f4cf22b9165a0c2736d5c21c8ec1862