OLD | NEW |
1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
2 * Use of this source code is governed by a BSD-style license that can be | 2 * Use of this source code is governed by a BSD-style license that can be |
3 * found in the LICENSE file. | 3 * found in the LICENSE file. |
4 */ | 4 */ |
5 | 5 |
6 #include "rsa_padding_test.h" | 6 #include "rsa_padding_test.h" |
7 | 7 |
8 #include <stdio.h> | 8 #include <stdio.h> |
9 | 9 |
10 #include "file_keys.h" | 10 #include "file_keys.h" |
11 #include "rsa_utility.h" | 11 #include "rsa_utility.h" |
12 | 12 |
13 int main(int argc, char* argv[]) { | 13 int main(int argc, char* argv[]) { |
14 int i; | 14 int i; |
15 int error = 0; | 15 int error = 0; |
16 RSAPublicKey* key; | 16 RSAPublicKey* key; |
17 if (argc != 2) { | 17 if (argc != 2) { |
18 fprintf(stderr, "Usage: %s <test public key>\n", argv[0]); | 18 fprintf(stderr, "Usage: %s <test public key>\n", argv[0]); |
19 return 1; | 19 return 1; |
20 } | 20 } |
21 key = RSAPublicKeyFromFile(argv[1]); | 21 key = RSAPublicKeyFromFile(argv[1]); |
22 if (!key) { | 22 if (!key) { |
23 fprintf(stderr, "Couldn't read RSA public key for the test.\n"); | 23 fprintf(stderr, "Couldn't read RSA public key for the test.\n"); |
24 return 1; | 24 return 1; |
25 } | 25 } |
26 | 26 |
27 /* The first test signature is valid. */ | 27 /* The first test signature is valid. */ |
28 if (!RSA_verify(key, signatures[0], RSA1024NUMBYTES, 0, | 28 if (!RSAVerify(key, signatures[0], RSA1024NUMBYTES, 0, |
29 test_message_sha1_hash)) { | 29 test_message_sha1_hash)) { |
30 fprintf(stderr, "RSA Padding Test vector 0 FAILED!\n"); | 30 fprintf(stderr, "RSA Padding Test vector 0 FAILED!\n"); |
31 error = 255; /* Test failure. */ | 31 error = 255; /* Test failure. */ |
32 } | 32 } |
33 /* All other signatures should fail verification. */ | 33 /* All other signatures should fail verification. */ |
34 for (i = 1; i < sizeof(signatures) / sizeof(signatures[0]); i++) { | 34 for (i = 1; i < sizeof(signatures) / sizeof(signatures[0]); i++) { |
35 if (RSA_verify(key, signatures[i], RSA1024NUMBYTES, 0, | 35 if (RSAVerify(key, signatures[i], RSA1024NUMBYTES, 0, |
36 test_message_sha1_hash)) { | 36 test_message_sha1_hash)) { |
37 fprintf(stderr, "RSA Padding Test vector %d FAILED!\n", i); | 37 fprintf(stderr, "RSA Padding Test vector %d FAILED!\n", i); |
38 error = 255; /* Test failure. */ | 38 error = 255; /* Test failure. */ |
39 } | 39 } |
40 } | 40 } |
41 if (!error) | 41 if (!error) |
42 fprintf(stderr, "RSA Padding Test PASSED for all test vectors."); | 42 fprintf(stderr, "RSA Padding Test PASSED for all test vectors."); |
43 | 43 |
44 return error; | 44 return error; |
45 } | 45 } |
OLD | NEW |