1*e0c4386eSCy Schubert#! /usr/bin/env perl 2*e0c4386eSCy Schubert# Copyright 2021 The OpenSSL Project Authors. All Rights Reserved. 3*e0c4386eSCy Schubert# 4*e0c4386eSCy Schubert# Licensed under the Apache License 2.0 (the "License"). You may not use 5*e0c4386eSCy Schubert# this file except in compliance with the License. You can obtain a copy 6*e0c4386eSCy Schubert# in the file LICENSE in the source distribution or at 7*e0c4386eSCy Schubert# https://www.openssl.org/source/license.html 8*e0c4386eSCy Schubert 9*e0c4386eSCy Schubertuse strict; 10*e0c4386eSCy Schubertuse warnings; 11*e0c4386eSCy Schubert 12*e0c4386eSCy Schubertuse File::Spec; 13*e0c4386eSCy Schubertuse File::Basename; 14*e0c4386eSCy Schubertuse OpenSSL::Test qw/:DEFAULT srctop_file ok_nofips/; 15*e0c4386eSCy Schubertuse OpenSSL::Test::Utils; 16*e0c4386eSCy Schubert 17*e0c4386eSCy Schubertsetup("test_spkac"); 18*e0c4386eSCy Schubert 19*e0c4386eSCy Schubertplan skip_all => "RSA is not supported by this OpenSSL build" 20*e0c4386eSCy Schubert if disabled("rsa"); 21*e0c4386eSCy Schubert 22*e0c4386eSCy Schubertplan tests => 4; 23*e0c4386eSCy Schubert 24*e0c4386eSCy Schubert# For the tests below we use the cert itself as the TBS file 25*e0c4386eSCy Schubert 26*e0c4386eSCy SchubertSKIP: { 27*e0c4386eSCy Schubert skip "MD5 is not supported by this OpenSSL build", 2 28*e0c4386eSCy Schubert if disabled("md5"); 29*e0c4386eSCy Schubert 30*e0c4386eSCy Schubert ok(run(app([ 'openssl', 'spkac', '-key', srctop_file("test", "testrsa.pem"), 31*e0c4386eSCy Schubert '-out', 'spkac-md5.pem'])), 32*e0c4386eSCy Schubert "SPKAC MD5"); 33*e0c4386eSCy Schubert ok(run(app([ 'openssl', 'spkac', '-in', 'spkac-md5.pem'])), 34*e0c4386eSCy Schubert "SPKAC MD5 verify"); 35*e0c4386eSCy Schubert} 36*e0c4386eSCy Schubert 37*e0c4386eSCy Schubertok(run(app([ 'openssl', 'spkac', '-key', srctop_file("test", "testrsa.pem"), 38*e0c4386eSCy Schubert '-out', 'spkac-sha256.pem', '-digest', 'sha256'])), 39*e0c4386eSCy Schubert "SPKAC SHA256"); 40*e0c4386eSCy Schubertok(run(app([ 'openssl', 'spkac', '-in', 'spkac-sha256.pem'])), 41*e0c4386eSCy Schubert "SPKAC SHA256 verify"); 42