mirror of
https://github.com/openssl/openssl.git
synced 2025-02-17 14:32:04 +08:00
While public keys and private keys use the same type (EVP_PKEY), just with different contents, callers still need to distinguish between the two to be able to know what functions to call with them (for example, to be able to choose between EVP_PKEY_print_private() and EVP_PKEY_print_public()). The OSSL_STORE backend knows what it loaded, so it has the capacity to inform. Note that the same as usual still applies, that a private key EVP_PKEY contains the public parts, but not necessarily the other way around. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12673)
30 lines
974 B
C
30 lines
974 B
C
/*
|
|
* Copyright 2016-2017 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 <openssl/store.h>
|
|
|
|
static char *type_strings[] = {
|
|
"Name", /* OSSL_STORE_INFO_NAME */
|
|
"Parameters", /* OSSL_STORE_INFO_PARAMS */
|
|
"Public key", /* OSSL_STORE_INFO_PUBKEY */
|
|
"Pkey", /* OSSL_STORE_INFO_PKEY */
|
|
"Certificate", /* OSSL_STORE_INFO_CERT */
|
|
"CRL" /* OSSL_STORE_INFO_CRL */
|
|
};
|
|
|
|
const char *OSSL_STORE_INFO_type_string(int type)
|
|
{
|
|
int types = sizeof(type_strings) / sizeof(type_strings[0]);
|
|
|
|
if (type < 1 || type > types)
|
|
return NULL;
|
|
|
|
return type_strings[type - 1];
|
|
}
|