Viewing file: pkey_meth_test.c (2.33 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* * 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 */
/* Internal tests for EVP_PKEY method ordering */
/* We need to use some deprecated APIs */ #define OPENSSL_SUPPRESS_DEPRECATED
#include <stdio.h> #include <string.h>
#include <openssl/evp.h> #include "testutil.h"
/* Test of EVP_PKEY_ASN1_METHOD ordering */ static int test_asn1_meths(void) { int i; int prev = -1; int good = 1; int pkey_id; const EVP_PKEY_ASN1_METHOD *ameth;
for (i = 0; i < EVP_PKEY_asn1_get_count(); i++) { ameth = EVP_PKEY_asn1_get0(i); EVP_PKEY_asn1_get0_info(&pkey_id, NULL, NULL, NULL, NULL, ameth); if (pkey_id < prev) good = 0; prev = pkey_id;
} if (!good) { TEST_error("EVP_PKEY_ASN1_METHOD table out of order"); for (i = 0; i < EVP_PKEY_asn1_get_count(); i++) { const char *info;
ameth = EVP_PKEY_asn1_get0(i); EVP_PKEY_asn1_get0_info(&pkey_id, NULL, NULL, &info, NULL, ameth); if (info == NULL) info = "<NO NAME>"; TEST_note("%d : %s : %s", pkey_id, OBJ_nid2ln(pkey_id), info); } } return good; }
#ifndef OPENSSL_NO_DEPRECATED_3_0 /* Test of EVP_PKEY_METHOD ordering */ static int test_pkey_meths(void) { size_t i; int prev = -1; int good = 1; int pkey_id; const EVP_PKEY_METHOD *pmeth;
for (i = 0; i < EVP_PKEY_meth_get_count(); i++) { pmeth = EVP_PKEY_meth_get0(i); EVP_PKEY_meth_get0_info(&pkey_id, NULL, pmeth); if (pkey_id < prev) good = 0; prev = pkey_id;
} if (!good) { TEST_error("EVP_PKEY_METHOD table out of order"); for (i = 0; i < EVP_PKEY_meth_get_count(); i++) { pmeth = EVP_PKEY_meth_get0(i); EVP_PKEY_meth_get0_info(&pkey_id, NULL, pmeth); TEST_note("%d : %s", pkey_id, OBJ_nid2ln(pkey_id)); } } return good; } #endif
int setup_tests(void) { ADD_TEST(test_asn1_meths); #ifndef OPENSSL_NO_DEPRECATED_3_0 ADD_TEST(test_pkey_meths); #endif return 1; }
|