mirror of
https://github.com/openssl/openssl.git
synced 2025-01-12 13:36:28 +08:00
0abae1636d
Downgrading EVP_PKEYs from containing provider side internal keys to containing legacy keys demands support in the EVP_PKEY_ASN1_METHOD. This became a bit elaborate because the code would be almost exactly the same as the import functions int EVP_KEYMGMT. Therefore, we end up moving most of the code to common backend support files that can be used both by legacy backend code and by our providers. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11375)
21 lines
1.0 KiB
C
21 lines
1.0 KiB
C
/*
|
|
* Copyright 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
|
|
*/
|
|
|
|
#define ISX448(id) ((id) == EVP_PKEY_X448)
|
|
#define IS25519(id) ((id) == EVP_PKEY_X25519 || (id) == EVP_PKEY_ED25519)
|
|
#define KEYLENID(id) (IS25519(id) ? X25519_KEYLEN \
|
|
: ((id) == EVP_PKEY_X448 ? X448_KEYLEN \
|
|
: ED448_KEYLEN))
|
|
#define KEYNID2TYPE(id) \
|
|
(IS25519(id) ? ECX_KEY_TYPE_X25519 \
|
|
: ((id) == EVP_PKEY_X448 ? ECX_KEY_TYPE_X448 \
|
|
: ((id) == EVP_PKEY_ED25519 ? ECX_KEY_TYPE_ED25519 \
|
|
: ECX_KEY_TYPE_ED448)))
|
|
#define KEYLEN(p) KEYLENID((p)->ameth->pkey_id)
|