]>
Commit | Line | Data |
---|---|---|
513b20a9 | 1 | #! /usr/bin/env perl |
2 | # Copyright 2023 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 | use strict; | |
10 | use warnings; | |
11 | ||
12 | use OpenSSL::Test qw(:DEFAULT srctop_file); | |
13 | use OpenSSL::Test::Utils; | |
14 | ||
15 | BEGIN { | |
16 | setup("test_rsax931"); | |
17 | } | |
18 | ||
19 | plan tests => 6; | |
20 | ||
21 | my $infile = srctop_file("test", "certs", "sm2.key"); | |
22 | my $inkey = srctop_file("test", "testrsa2048.pem"); | |
23 | ||
24 | ok(run(app(['openssl', 'pkeyutl', '-in', $infile, '-rawin', '-inkey', $inkey, | |
25 | '-digest', 'SHA256', | |
26 | '-pkeyopt', 'pad-mode:x931', | |
27 | '-sign', | |
28 | '-out', 'sigx931.txt'])), | |
29 | "RSA Sign with x931 padding using SHA256"); | |
30 | ||
31 | ok(run(app(['openssl', 'pkeyutl', '-in', $infile, '-rawin', '-inkey', $inkey, | |
32 | '-digest', 'SHA256', | |
33 | '-pkeyopt', 'pad-mode:x931', | |
34 | '-verify', | |
35 | '-sigfile', 'sigx931.txt'])), | |
36 | "RSA Verify with x931 padding using SHA256"); | |
37 | ||
38 | ok(!run(app(['openssl', 'pkeyutl', '-in', $infile, '-rawin', '-inkey', $inkey, | |
39 | '-digest', 'SHA512', | |
40 | '-pkeyopt', 'pad-mode:x931', | |
41 | '-verify', | |
42 | '-sigfile', 'sigx931.txt'])), | |
43 | "RSA Verify with x931 padding fails if digest is different"); | |
44 | ||
45 | ok(!run(app(['openssl', 'pkeyutl', '-in', $infile, '-rawin', '-inkey', $inkey, | |
46 | '-digest', 'SHA512-256', | |
47 | '-pkeyopt', 'pad-mode:x931', | |
48 | '-sign'])), | |
49 | "RSA Sign with x931 padding using unsupported digest should fail"); | |
50 | ||
51 | ok(run(app(['openssl', 'pkeyutl', '-in', $infile, '-rawin', '-inkey', $inkey, | |
52 | '-digest', 'SHA256', | |
53 | '-pkeyopt', 'pad-mode:oaep', | |
54 | '-sign', | |
55 | '-out', 'sigoaep.txt'])), | |
56 | "RSA Sign with oaep padding using SHA256"); | |
57 | ||
58 | ok(!run(app(['openssl', 'pkeyutl', '-in', $infile, '-rawin', '-inkey', $inkey, | |
59 | '-digest', 'SHA256', | |
60 | '-pkeyopt', 'pad-mode:x931', | |
61 | '-verify', | |
62 | '-sigfile', 'sigoaep.txt'])), | |
63 | "RSA Verify with x931 padding using data signed with oaep padding should fail"); |