Blame test/recipes/15-test_rsapss.t

Packit c4476c
#! /usr/bin/env perl
Packit c4476c
# Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.
Packit c4476c
#
Packit c4476c
# Licensed under the OpenSSL license (the "License").  You may not use
Packit c4476c
# this file except in compliance with the License.  You can obtain a copy
Packit c4476c
# in the file LICENSE in the source distribution or at
Packit c4476c
# https://www.openssl.org/source/license.html
Packit c4476c
Packit c4476c
Packit c4476c
use strict;
Packit c4476c
use warnings;
Packit c4476c
Packit c4476c
use File::Spec;
Packit c4476c
use OpenSSL::Test qw/:DEFAULT with srctop_file/;
Packit c4476c
use OpenSSL::Test::Utils;
Packit c4476c
Packit c4476c
setup("test_rsapss");
Packit c4476c
Packit c4476c
plan tests => 5;
Packit c4476c
Packit c4476c
#using test/testrsa.pem which happens to be a 512 bit RSA
Packit c4476c
ok(run(app(['openssl', 'dgst', '-sign', srctop_file('test', 'testrsa.pem'), '-sha1',
Packit c4476c
            '-sigopt', 'rsa_padding_mode:pss', '-sigopt', 'rsa_pss_saltlen:max',
Packit c4476c
            '-sigopt', 'rsa_mgf1_md:sha512', '-out', 'testrsapss.sig',
Packit c4476c
            srctop_file('test', 'testrsa.pem')])),
Packit c4476c
   "openssl dgst -sign");
Packit c4476c
Packit c4476c
with({ exit_checker => sub { return shift == 1; } },
Packit c4476c
     sub { ok(run(app(['openssl', 'dgst', '-sign', srctop_file('test', 'testrsa.pem'), '-sha512',
Packit c4476c
                       '-sigopt', 'rsa_padding_mode:pss', '-sigopt', 'rsa_pss_saltlen:max',
Packit c4476c
                       '-sigopt', 'rsa_mgf1_md:sha512', srctop_file('test', 'testrsa.pem')])),
Packit c4476c
              "openssl dgst -sign, expect to fail gracefully");
Packit c4476c
           ok(run(app(['openssl', 'dgst', '-sign', srctop_file('test', 'testrsa.pem'), '-sha512',
Packit c4476c
                       '-sigopt', 'rsa_padding_mode:pss', '-sigopt', 'rsa_pss_saltlen:2147483647',
Packit c4476c
                       '-sigopt', 'rsa_mgf1_md:sha1', srctop_file('test', 'testrsa.pem')])),
Packit c4476c
              "openssl dgst -sign, expect to fail gracefully");
Packit c4476c
           ok(run(app(['openssl', 'dgst', '-prverify', srctop_file('test', 'testrsa.pem'), '-sha512',
Packit c4476c
                       '-sigopt', 'rsa_padding_mode:pss', '-sigopt', 'rsa_pss_saltlen:max',
Packit c4476c
                       '-sigopt', 'rsa_mgf1_md:sha512', '-signature', 'testrsapss.sig',
Packit c4476c
                       srctop_file('test', 'testrsa.pem')])),
Packit c4476c
              "openssl dgst -prverify, expect to fail gracefully");
Packit c4476c
         });
Packit c4476c
Packit c4476c
ok(run(app(['openssl', 'dgst', '-prverify', srctop_file('test', 'testrsa.pem'), '-sha1',
Packit c4476c
            '-sigopt', 'rsa_padding_mode:pss', '-sigopt', 'rsa_pss_saltlen:max',
Packit c4476c
            '-sigopt', 'rsa_mgf1_md:sha512', '-signature', 'testrsapss.sig',
Packit c4476c
            srctop_file('test', 'testrsa.pem')])),
Packit c4476c
   "openssl dgst -prverify");
Packit c4476c
unlink 'testrsapss.sig';