mirror of
https://github.com/QuasarApp/openssl.git
synced 2025-04-28 02:34:40 +00:00
Delete the sslprovider test
This was added before the changes to the sslap/ssl_new/ssl_old tests which run those tests with a non-default library context. It no longer adds anything that those tests don't already do, so it can be deleted. This also fixes a number of run-checker build failures which were failing in this test if TLSv1.2 was disabled. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11832)
This commit is contained in:
parent
d9321c09ea
commit
88b15ed9a5
@ -44,7 +44,7 @@ IF[{- !$disabled{tests} -}]
|
||||
dtlsv1listentest ct_test threadstest afalgtest d2i_test \
|
||||
ssl_test_ctx_test ssl_test x509aux cipherlist_test asynciotest \
|
||||
bio_callback_test bio_memleak_test param_build_test \
|
||||
bioprinttest sslapitest sslprovidertest dtlstest sslcorrupttest \
|
||||
bioprinttest sslapitest dtlstest sslcorrupttest \
|
||||
bio_enc_test pkey_meth_test pkey_meth_kdf_test evp_kdf_test uitest \
|
||||
cipherbytes_test \
|
||||
asn1_encode_test asn1_decode_test asn1_string_table_test \
|
||||
@ -294,10 +294,6 @@ IF[{- !$disabled{tests} -}]
|
||||
INCLUDE[sslapitest]=../include ../apps/include ..
|
||||
DEPEND[sslapitest]=../libcrypto ../libssl libtestutil.a
|
||||
|
||||
SOURCE[sslprovidertest]=sslprovidertest.c ssltestlib.c
|
||||
INCLUDE[sslprovidertest]=../include ../apps/include ..
|
||||
DEPEND[sslprovidertest]=../libcrypto ../libssl libtestutil.a
|
||||
|
||||
SOURCE[ocspapitest]=ocspapitest.c
|
||||
INCLUDE[ocspapitest]=../include ../apps/include
|
||||
DEPEND[ocspapitest]=../libcrypto libtestutil.a
|
||||
|
@ -1,50 +0,0 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
# in the file LICENSE in the source distribution or at
|
||||
# https://www.openssl.org/source/license.html
|
||||
|
||||
|
||||
use OpenSSL::Test::Utils;
|
||||
use OpenSSL::Test qw/:DEFAULT srctop_file srctop_dir bldtop_file bldtop_dir/;
|
||||
|
||||
BEGIN {
|
||||
setup("test_sslprovider");
|
||||
}
|
||||
|
||||
use lib srctop_dir('Configurations');
|
||||
use lib bldtop_dir('.');
|
||||
use platform;
|
||||
|
||||
plan skip_all => "No TLS/SSL protocols are supported by this OpenSSL build"
|
||||
if alldisabled(grep { $_ ne "ssl3" } available_protocols("tls"));
|
||||
|
||||
plan tests => 3;
|
||||
|
||||
SKIP: {
|
||||
skip "Skipping FIPS installation", 1
|
||||
if disabled("fips");
|
||||
|
||||
ok(run(app(['openssl', 'fipsinstall',
|
||||
'-out', bldtop_file('providers', 'fipsmodule.cnf'),
|
||||
'-module', bldtop_file('providers', platform->dso('fips')),
|
||||
'-provider_name', 'fips', '-mac_name', 'HMAC',
|
||||
'-macopt', 'digest:SHA256', '-macopt', 'hexkey:00',
|
||||
'-section_name', 'fips_sect'])),
|
||||
"fipsinstall");
|
||||
}
|
||||
|
||||
ok(run(test(["sslprovidertest", srctop_dir("test", "certs"), "default",
|
||||
srctop_file("test", "default.cnf")])),
|
||||
"running sslprovidertest");
|
||||
|
||||
SKIP: {
|
||||
skip "Skipping FIPS provider test", 1
|
||||
if disabled("fips");
|
||||
|
||||
ok(run(test(["sslprovidertest", srctop_dir("test", "certs"), "fips",
|
||||
srctop_file("test", "fips.cnf")])),
|
||||
"running sslprovidertest");
|
||||
}
|
@ -1,143 +0,0 @@
|
||||
/*
|
||||
* Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
* in the file LICENSE in the source distribution or at
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <openssl/provider.h>
|
||||
|
||||
#include "ssltestlib.h"
|
||||
#include "testutil.h"
|
||||
|
||||
static char *cert = NULL;
|
||||
static char *privkey = NULL;
|
||||
static char *modulename = NULL;
|
||||
static char *configfile = NULL;
|
||||
|
||||
static OSSL_PROVIDER *defctxlegacy = NULL;
|
||||
|
||||
static int test_different_libctx(void)
|
||||
{
|
||||
SSL_CTX *cctx = NULL, *sctx = NULL;
|
||||
SSL *clientssl = NULL, *serverssl = NULL;
|
||||
int testresult = 0;
|
||||
OPENSSL_CTX *libctx = OPENSSL_CTX_new();
|
||||
OSSL_PROVIDER *prov = NULL;
|
||||
|
||||
/*
|
||||
* Verify that the default and fips providers in the default libctx are not
|
||||
* available
|
||||
*/
|
||||
if (!TEST_false(OSSL_PROVIDER_available(NULL, "default"))
|
||||
|| !TEST_false(OSSL_PROVIDER_available(NULL, "fips")))
|
||||
goto end;
|
||||
|
||||
if (!TEST_true(OPENSSL_CTX_load_config(libctx, configfile)))
|
||||
goto end;
|
||||
|
||||
prov = OSSL_PROVIDER_load(libctx, modulename);
|
||||
if (!TEST_ptr(prov)
|
||||
/* Check we have the provider available */
|
||||
|| !TEST_true(OSSL_PROVIDER_available(libctx, modulename)))
|
||||
goto end;
|
||||
/* Check the default provider is not available */
|
||||
if (strcmp(modulename, "default") != 0
|
||||
&& !TEST_false(OSSL_PROVIDER_available(libctx, "default")))
|
||||
goto end;
|
||||
TEST_note("%s provider loaded", modulename);
|
||||
|
||||
/*
|
||||
* TODO(3.0): Make this work in TLSv1.3. Currently we can only do RSA key
|
||||
* exchange, because we don't have key gen/param gen for EC yet - which
|
||||
* implies TLSv1.2 only
|
||||
*/
|
||||
if (!TEST_true(create_ssl_ctx_pair(libctx,
|
||||
TLS_server_method(),
|
||||
TLS_client_method(),
|
||||
TLS1_VERSION,
|
||||
TLS1_2_VERSION,
|
||||
&sctx, &cctx, cert, privkey)))
|
||||
goto end;
|
||||
|
||||
/* Ensure we use a FIPS compatible ciphersuite and sigalg */
|
||||
if (!TEST_true(SSL_CTX_set_cipher_list(cctx, "AES128-SHA256"))
|
||||
|| !TEST_true(SSL_CTX_set1_sigalgs_list(cctx, "RSA+SHA256")))
|
||||
goto end;
|
||||
|
||||
if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl,
|
||||
NULL, NULL)))
|
||||
goto end;
|
||||
|
||||
/* This time we expect success */
|
||||
if (!TEST_true(create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE)))
|
||||
goto end;
|
||||
|
||||
/*
|
||||
* Verify that the default and fips providers in the default libctx are
|
||||
* still not available
|
||||
*/
|
||||
if (!TEST_false(OSSL_PROVIDER_available(NULL, "default"))
|
||||
|| !TEST_false(OSSL_PROVIDER_available(NULL, "fips")))
|
||||
goto end;
|
||||
|
||||
testresult = 1;
|
||||
|
||||
end:
|
||||
SSL_free(serverssl);
|
||||
SSL_free(clientssl);
|
||||
SSL_CTX_free(sctx);
|
||||
SSL_CTX_free(cctx);
|
||||
|
||||
OSSL_PROVIDER_unload(prov);
|
||||
OPENSSL_CTX_free(libctx);
|
||||
|
||||
return testresult;
|
||||
}
|
||||
|
||||
int setup_tests(void)
|
||||
{
|
||||
char *certsdir = NULL;
|
||||
|
||||
if (!test_skip_common_options()) {
|
||||
TEST_error("Error parsing test options\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!TEST_ptr(certsdir = test_get_argument(0))
|
||||
|| !TEST_ptr(modulename = test_get_argument(1))
|
||||
|| !TEST_ptr(configfile = test_get_argument(2)))
|
||||
return 0;
|
||||
|
||||
cert = test_mk_file_path(certsdir, "servercert.pem");
|
||||
if (cert == NULL)
|
||||
return 0;
|
||||
|
||||
privkey = test_mk_file_path(certsdir, "serverkey.pem");
|
||||
if (privkey == NULL) {
|
||||
OPENSSL_free(cert);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* For tests in this file we want to ensure the default ctx does not have
|
||||
* the default provider loaded into the default ctx. So we load "legacy" to
|
||||
* prevent default from being auto-loaded. This tests that there is no
|
||||
* "leakage", i.e. when using SSL_CTX_new_with_libctx() we expect only the
|
||||
* specific libctx to be used - nothing should fall back to the default
|
||||
* libctx
|
||||
*/
|
||||
defctxlegacy = OSSL_PROVIDER_load(NULL, "legacy");
|
||||
|
||||
ADD_TEST(test_different_libctx);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void cleanup_tests(void)
|
||||
{
|
||||
OSSL_PROVIDER_unload(defctxlegacy);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user