aboutsummaryrefslogtreecommitdiff
path: root/crypto/openssl/providers/implementations/encode_decode/encode_key2any.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssl/providers/implementations/encode_decode/encode_key2any.c')
-rw-r--r--crypto/openssl/providers/implementations/encode_decode/encode_key2any.c719
1 files changed, 353 insertions, 366 deletions
diff --git a/crypto/openssl/providers/implementations/encode_decode/encode_key2any.c b/crypto/openssl/providers/implementations/encode_decode/encode_key2any.c
index 67a11590034a..307b8a967311 100644
--- a/crypto/openssl/providers/implementations/encode_decode/encode_key2any.c
+++ b/crypto/openssl/providers/implementations/encode_decode/encode_key2any.c
@@ -22,7 +22,7 @@
#include <openssl/err.h>
#include <openssl/pem.h>
#include <openssl/x509.h>
-#include <openssl/pkcs12.h> /* PKCS8_encrypt() */
+#include <openssl/pkcs12.h> /* PKCS8_encrypt() */
#include <openssl/dh.h>
#include <openssl/dsa.h>
#include <openssl/ec.h>
@@ -43,7 +43,7 @@
#include "ml_kem_codecs.h"
#if defined(OPENSSL_NO_DH) && defined(OPENSSL_NO_DSA) && defined(OPENSSL_NO_EC)
-# define OPENSSL_NO_KEYPARAMS
+#define OPENSSL_NO_KEYPARAMS
#endif
typedef struct key2any_ctx_st {
@@ -62,14 +62,13 @@ typedef struct key2any_ctx_st {
typedef int check_key_type_fn(const void *key, int nid);
typedef int key_to_paramstring_fn(const void *key, int nid, int save,
- void **str, int *strtype);
+ void **str, int *strtype);
typedef int key_to_der_fn(BIO *out, const void *key,
- int key_nid, const char *pemname,
- key_to_paramstring_fn *p2s,
- OSSL_i2d_of_void_ctx *k2d, KEY2ANY_CTX *ctx);
+ int key_nid, const char *pemname,
+ key_to_paramstring_fn *p2s,
+ OSSL_i2d_of_void_ctx *k2d, KEY2ANY_CTX *ctx);
typedef int write_bio_of_void_fn(BIO *bp, const void *x);
-
/* Free the blob allocated during key_to_paramstring_fn */
static void free_asn1_data(int type, void *data)
{
@@ -84,9 +83,9 @@ static void free_asn1_data(int type, void *data)
}
static PKCS8_PRIV_KEY_INFO *key_to_p8info(const void *key, int key_nid,
- void *params, int params_type,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ void *params, int params_type,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
/* der, derlen store the key DER output and its length */
unsigned char *der = NULL;
@@ -97,7 +96,7 @@ static PKCS8_PRIV_KEY_INFO *key_to_p8info(const void *key, int key_nid,
if ((p8info = PKCS8_PRIV_KEY_INFO_new()) == NULL
|| (derlen = k2d(key, &der, (void *)ctx)) <= 0
|| !PKCS8_pkey_set0(p8info, OBJ_nid2obj(key_nid), 0,
- params_type, params, der, derlen)) {
+ params_type, params, der, derlen)) {
ERR_raise(ERR_LIB_PROV, ERR_R_ASN1_LIB);
PKCS8_PRIV_KEY_INFO_free(p8info);
OPENSSL_free(der);
@@ -108,7 +107,7 @@ static PKCS8_PRIV_KEY_INFO *key_to_p8info(const void *key, int key_nid,
}
static X509_SIG *p8info_to_encp8(PKCS8_PRIV_KEY_INFO *p8info,
- KEY2ANY_CTX *ctx)
+ KEY2ANY_CTX *ctx)
{
X509_SIG *p8 = NULL;
char kstr[PEM_BUFSIZE];
@@ -119,7 +118,7 @@ static X509_SIG *p8info_to_encp8(PKCS8_PRIV_KEY_INFO *p8info,
return NULL;
if (!ossl_pw_get_passphrase(kstr, sizeof(kstr), &klen, NULL, 1,
- &ctx->pwdata)) {
+ &ctx->pwdata)) {
ERR_raise(ERR_LIB_PROV, PROV_R_UNABLE_TO_GET_PASSPHRASE);
return NULL;
}
@@ -130,12 +129,11 @@ static X509_SIG *p8info_to_encp8(PKCS8_PRIV_KEY_INFO *p8info,
}
static X509_SIG *key_to_encp8(const void *key, int key_nid,
- void *params, int params_type,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ void *params, int params_type,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
- PKCS8_PRIV_KEY_INFO *p8info =
- key_to_p8info(key, key_nid, params, params_type, k2d, ctx);
+ PKCS8_PRIV_KEY_INFO *p8info = key_to_p8info(key, key_nid, params, params_type, k2d, ctx);
X509_SIG *p8 = NULL;
if (p8info == NULL) {
@@ -148,9 +146,9 @@ static X509_SIG *key_to_encp8(const void *key, int key_nid,
}
static X509_PUBKEY *key_to_pubkey(const void *key, int key_nid,
- void *params, int params_type,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ void *params, int params_type,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
/* der, derlen store the key DER output and its length */
unsigned char *der = NULL;
@@ -158,11 +156,10 @@ static X509_PUBKEY *key_to_pubkey(const void *key, int key_nid,
/* The final X509_PUBKEY */
X509_PUBKEY *xpk = NULL;
-
if ((xpk = X509_PUBKEY_new()) == NULL
|| (derlen = k2d(key, &der, (void *)ctx)) <= 0
|| !X509_PUBKEY_set0_param(xpk, OBJ_nid2obj(key_nid),
- params_type, params, der, derlen)) {
+ params_type, params, der, derlen)) {
ERR_raise(ERR_LIB_PROV, ERR_R_X509_LIB);
X509_PUBKEY_free(xpk);
OPENSSL_free(der);
@@ -192,11 +189,11 @@ static X509_PUBKEY *key_to_pubkey(const void *key, int key_nid,
*/
static int key_to_epki_der_priv_bio(BIO *out, const void *key,
- int key_nid,
- ossl_unused const char *pemname,
- key_to_paramstring_fn *p2s,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ int key_nid,
+ ossl_unused const char *pemname,
+ key_to_paramstring_fn *p2s,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
int ret = 0;
void *str = NULL;
@@ -206,8 +203,7 @@ static int key_to_epki_der_priv_bio(BIO *out, const void *key,
if (!ctx->cipher_intent)
return 0;
- if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters,
- &str, &strtype))
+ if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters, &str, &strtype))
return 0;
p8 = key_to_encp8(key, key_nid, str, strtype, k2d, ctx);
@@ -220,11 +216,11 @@ static int key_to_epki_der_priv_bio(BIO *out, const void *key,
}
static int key_to_epki_pem_priv_bio(BIO *out, const void *key,
- int key_nid,
- ossl_unused const char *pemname,
- key_to_paramstring_fn *p2s,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ int key_nid,
+ ossl_unused const char *pemname,
+ key_to_paramstring_fn *p2s,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
int ret = 0;
void *str = NULL;
@@ -234,8 +230,7 @@ static int key_to_epki_pem_priv_bio(BIO *out, const void *key,
if (!ctx->cipher_intent)
return 0;
- if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters,
- &str, &strtype))
+ if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters, &str, &strtype))
return 0;
p8 = key_to_encp8(key, key_nid, str, strtype, k2d, ctx);
@@ -248,11 +243,11 @@ static int key_to_epki_pem_priv_bio(BIO *out, const void *key,
}
static int key_to_pki_der_priv_bio(BIO *out, const void *key,
- int key_nid,
- ossl_unused const char *pemname,
- key_to_paramstring_fn *p2s,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ int key_nid,
+ ossl_unused const char *pemname,
+ key_to_paramstring_fn *p2s,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
int ret = 0;
void *str = NULL;
@@ -261,10 +256,9 @@ static int key_to_pki_der_priv_bio(BIO *out, const void *key,
if (ctx->cipher_intent)
return key_to_epki_der_priv_bio(out, key, key_nid, pemname,
- p2s, k2d, ctx);
+ p2s, k2d, ctx);
- if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters,
- &str, &strtype))
+ if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters, &str, &strtype))
return 0;
p8info = key_to_p8info(key, key_nid, str, strtype, k2d, ctx);
@@ -280,11 +274,11 @@ static int key_to_pki_der_priv_bio(BIO *out, const void *key,
}
static int key_to_pki_pem_priv_bio(BIO *out, const void *key,
- int key_nid,
- ossl_unused const char *pemname,
- key_to_paramstring_fn *p2s,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ int key_nid,
+ ossl_unused const char *pemname,
+ key_to_paramstring_fn *p2s,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
int ret = 0;
void *str = NULL;
@@ -293,10 +287,9 @@ static int key_to_pki_pem_priv_bio(BIO *out, const void *key,
if (ctx->cipher_intent)
return key_to_epki_pem_priv_bio(out, key, key_nid, pemname,
- p2s, k2d, ctx);
+ p2s, k2d, ctx);
- if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters,
- &str, &strtype))
+ if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters, &str, &strtype))
return 0;
p8info = key_to_p8info(key, key_nid, str, strtype, k2d, ctx);
@@ -312,19 +305,18 @@ static int key_to_pki_pem_priv_bio(BIO *out, const void *key,
}
static int key_to_spki_der_pub_bio(BIO *out, const void *key,
- int key_nid,
- ossl_unused const char *pemname,
- key_to_paramstring_fn *p2s,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ int key_nid,
+ ossl_unused const char *pemname,
+ key_to_paramstring_fn *p2s,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
int ret = 0;
void *str = NULL;
int strtype = V_ASN1_UNDEF;
X509_PUBKEY *xpk = NULL;
- if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters,
- &str, &strtype))
+ if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters, &str, &strtype))
return 0;
xpk = key_to_pubkey(key, key_nid, str, strtype, k2d, ctx);
@@ -338,19 +330,18 @@ static int key_to_spki_der_pub_bio(BIO *out, const void *key,
}
static int key_to_spki_pem_pub_bio(BIO *out, const void *key,
- int key_nid,
- ossl_unused const char *pemname,
- key_to_paramstring_fn *p2s,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ int key_nid,
+ ossl_unused const char *pemname,
+ key_to_paramstring_fn *p2s,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
int ret = 0;
void *str = NULL;
int strtype = V_ASN1_UNDEF;
X509_PUBKEY *xpk = NULL;
- if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters,
- &str, &strtype))
+ if (p2s != NULL && !p2s(key, key_nid, ctx->save_parameters, &str, &strtype))
return 0;
xpk = key_to_pubkey(key, key_nid, str, strtype, k2d, ctx);
@@ -378,11 +369,11 @@ static int key_to_spki_pem_pub_bio(BIO *out, const void *key,
* on k2d to do the complete work.
*/
static int key_to_type_specific_der_bio(BIO *out, const void *key,
- int key_nid,
- ossl_unused const char *pemname,
- key_to_paramstring_fn *p2s,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ int key_nid,
+ ossl_unused const char *pemname,
+ key_to_paramstring_fn *p2s,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
unsigned char *der = NULL;
int derlen;
@@ -402,64 +393,65 @@ static int key_to_type_specific_der_bio(BIO *out, const void *key,
#define key_to_type_specific_der_param_bio key_to_type_specific_der_bio
static int key_to_type_specific_pem_bio_cb(BIO *out, const void *key,
- int key_nid, const char *pemname,
- key_to_paramstring_fn *p2s,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx,
- pem_password_cb *cb, void *cbarg)
+ int key_nid, const char *pemname,
+ key_to_paramstring_fn *p2s,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx,
+ pem_password_cb *cb, void *cbarg)
{
return PEM_ASN1_write_bio_ctx(k2d, (void *)ctx, pemname, out, key,
- ctx->cipher, NULL, 0, cb, cbarg) > 0;
+ ctx->cipher, NULL, 0, cb, cbarg)
+ > 0;
}
static int key_to_type_specific_pem_priv_bio(BIO *out, const void *key,
- int key_nid, const char *pemname,
- key_to_paramstring_fn *p2s,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ int key_nid, const char *pemname,
+ key_to_paramstring_fn *p2s,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
return key_to_type_specific_pem_bio_cb(out, key, key_nid, pemname,
- p2s, k2d, ctx,
- ossl_pw_pem_password, &ctx->pwdata);
+ p2s, k2d, ctx,
+ ossl_pw_pem_password, &ctx->pwdata);
}
static int key_to_type_specific_pem_pub_bio(BIO *out, const void *key,
- int key_nid, const char *pemname,
- key_to_paramstring_fn *p2s,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ int key_nid, const char *pemname,
+ key_to_paramstring_fn *p2s,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
return key_to_type_specific_pem_bio_cb(out, key, key_nid, pemname,
- p2s, k2d, ctx, NULL, NULL);
+ p2s, k2d, ctx, NULL, NULL);
}
#ifndef OPENSSL_NO_KEYPARAMS
static int key_to_type_specific_pem_param_bio(BIO *out, const void *key,
- int key_nid, const char *pemname,
- key_to_paramstring_fn *p2s,
- OSSL_i2d_of_void_ctx *k2d,
- KEY2ANY_CTX *ctx)
+ int key_nid, const char *pemname,
+ key_to_paramstring_fn *p2s,
+ OSSL_i2d_of_void_ctx *k2d,
+ KEY2ANY_CTX *ctx)
{
return key_to_type_specific_pem_bio_cb(out, key, key_nid, pemname,
- p2s, k2d, ctx, NULL, NULL);
+ p2s, k2d, ctx, NULL, NULL);
}
#endif
/* ---------------------------------------------------------------------- */
-#define k2d_NOCTX(n, f) \
- static int \
- n##_k2d(const void *key, unsigned char **pder, \
- ossl_unused void *ctx) \
- { \
- return f(key, pder); \
+#define k2d_NOCTX(n, f) \
+ static int \
+ n##_k2d(const void *key, unsigned char **pder, \
+ ossl_unused void *ctx) \
+ { \
+ return f(key, pder); \
}
/* ---------------------------------------------------------------------- */
#ifndef OPENSSL_NO_DH
static int prepare_dh_params(const void *dh, int nid, int save,
- void **pstr, int *pstrtype)
+ void **pstr, int *pstrtype)
{
ASN1_STRING *params = ASN1_STRING_new();
@@ -486,7 +478,7 @@ static int prepare_dh_params(const void *dh, int nid, int save,
}
static int dh_spki_pub_to_der(const void *dh, unsigned char **pder,
- ossl_unused void *ctx)
+ ossl_unused void *ctx)
{
const BIGNUM *bn = NULL;
ASN1_INTEGER *pub_key = NULL;
@@ -508,7 +500,7 @@ static int dh_spki_pub_to_der(const void *dh, unsigned char **pder,
}
static int dh_pki_priv_to_der(const void *dh, unsigned char **pder,
- ossl_unused void *ctx)
+ ossl_unused void *ctx)
{
const BIGNUM *bn = NULL;
ASN1_INTEGER *priv_key = NULL;
@@ -529,11 +521,11 @@ static int dh_pki_priv_to_der(const void *dh, unsigned char **pder,
return ret;
}
-# define dh_epki_priv_to_der dh_pki_priv_to_der
+#define dh_epki_priv_to_der dh_pki_priv_to_der
static int
dh_type_specific_params_to_der(const void *dh, unsigned char **pder,
- ossl_unused void *ctx)
+ ossl_unused void *ctx)
{
if (DH_test_flags(dh, DH_FLAG_TYPE_DHX))
return i2d_DHxparams(dh, pder);
@@ -544,28 +536,27 @@ dh_type_specific_params_to_der(const void *dh, unsigned char **pder,
* DH doesn't have i2d_DHPrivateKey or i2d_DHPublicKey, so we can't make
* corresponding functions here.
*/
-# define dh_type_specific_priv_to_der NULL
-# define dh_type_specific_pub_to_der NULL
+#define dh_type_specific_priv_to_der NULL
+#define dh_type_specific_pub_to_der NULL
static int dh_check_key_type(const void *dh, int expected_type)
{
- int type =
- DH_test_flags(dh, DH_FLAG_TYPE_DHX) ? EVP_PKEY_DHX : EVP_PKEY_DH;
+ int type = DH_test_flags(dh, DH_FLAG_TYPE_DHX) ? EVP_PKEY_DHX : EVP_PKEY_DH;
return type == expected_type;
}
-# define dh_evp_type EVP_PKEY_DH
-# define dhx_evp_type EVP_PKEY_DHX
-# define dh_pem_type "DH"
-# define dhx_pem_type "X9.42 DH"
+#define dh_evp_type EVP_PKEY_DH
+#define dhx_evp_type EVP_PKEY_DHX
+#define dh_pem_type "DH"
+#define dhx_pem_type "X9.42 DH"
#endif
/* ---------------------------------------------------------------------- */
#ifndef OPENSSL_NO_DSA
static int encode_dsa_params(const void *dsa, int nid,
- void **pstr, int *pstrtype)
+ void **pstr, int *pstrtype)
{
ASN1_STRING *params = ASN1_STRING_new();
@@ -588,7 +579,7 @@ static int encode_dsa_params(const void *dsa, int nid,
}
static int prepare_dsa_params(const void *dsa, int nid, int save,
- void **pstr, int *pstrtype)
+ void **pstr, int *pstrtype)
{
const BIGNUM *p = DSA_get0_p(dsa);
const BIGNUM *q = DSA_get0_q(dsa);
@@ -603,7 +594,7 @@ static int prepare_dsa_params(const void *dsa, int nid, int save,
}
static int dsa_spki_pub_to_der(const void *dsa, unsigned char **pder,
- ossl_unused void *ctx)
+ ossl_unused void *ctx)
{
const BIGNUM *bn = NULL;
ASN1_INTEGER *pub_key = NULL;
@@ -625,7 +616,7 @@ static int dsa_spki_pub_to_der(const void *dsa, unsigned char **pder,
}
static int dsa_pki_priv_to_der(const void *dsa, unsigned char **pder,
- ossl_unused void *ctx)
+ ossl_unused void *ctx)
{
const BIGNUM *bn = NULL;
ASN1_INTEGER *priv_key = NULL;
@@ -647,25 +638,25 @@ static int dsa_pki_priv_to_der(const void *dsa, unsigned char **pder,
}
k2d_NOCTX(dsa_prv, i2d_DSAPrivateKey)
-k2d_NOCTX(dsa_pub, i2d_DSAPublicKey)
-k2d_NOCTX(dsa_param, i2d_DSAparams)
+ k2d_NOCTX(dsa_pub, i2d_DSAPublicKey)
+ k2d_NOCTX(dsa_param, i2d_DSAparams)
-# define dsa_epki_priv_to_der dsa_pki_priv_to_der
+#define dsa_epki_priv_to_der dsa_pki_priv_to_der
-# define dsa_type_specific_priv_to_der dsa_prv_k2d
-# define dsa_type_specific_pub_to_der dsa_pub_k2d
-# define dsa_type_specific_params_to_der dsa_param_k2d
+#define dsa_type_specific_priv_to_der dsa_prv_k2d
+#define dsa_type_specific_pub_to_der dsa_pub_k2d
+#define dsa_type_specific_params_to_der dsa_param_k2d
-# define dsa_check_key_type NULL
-# define dsa_evp_type EVP_PKEY_DSA
-# define dsa_pem_type "DSA"
+#define dsa_check_key_type NULL
+#define dsa_evp_type EVP_PKEY_DSA
+#define dsa_pem_type "DSA"
#endif
/* ---------------------------------------------------------------------- */
#ifndef OPENSSL_NO_EC
-static int prepare_ec_explicit_params(const void *eckey,
- void **pstr, int *pstrtype)
+ static int prepare_ec_explicit_params(const void *eckey,
+ void **pstr, int *pstrtype)
{
ASN1_STRING *params = ASN1_STRING_new();
@@ -691,7 +682,7 @@ static int prepare_ec_explicit_params(const void *eckey,
* is a curve name (curve nid) to be found or not. See RFC 3279 for details.
*/
static int prepare_ec_params(const void *eckey, int nid, int save,
- void **pstr, int *pstrtype)
+ void **pstr, int *pstrtype)
{
int curve_nid;
const EC_GROUP *group = EC_KEY_get0_group(eckey);
@@ -725,7 +716,7 @@ static int prepare_ec_params(const void *eckey, int nid, int save,
}
static int ec_spki_pub_to_der(const void *eckey, unsigned char **pder,
- ossl_unused void *ctx)
+ ossl_unused void *ctx)
{
if (EC_KEY_get0_public_key(eckey) == NULL) {
ERR_raise(ERR_LIB_PROV, PROV_R_NOT_A_PUBLIC_KEY);
@@ -735,7 +726,7 @@ static int ec_spki_pub_to_der(const void *eckey, unsigned char **pder,
}
static int ec_pki_priv_to_der(const void *veckey, unsigned char **pder,
- ossl_unused void *ctx)
+ ossl_unused void *ctx)
{
EC_KEY *eckey = (EC_KEY *)veckey;
unsigned int old_flags;
@@ -756,19 +747,19 @@ static int ec_pki_priv_to_der(const void *veckey, unsigned char **pder,
}
k2d_NOCTX(ec_param, i2d_ECParameters)
-k2d_NOCTX(ec_prv, i2d_ECPrivateKey)
+ k2d_NOCTX(ec_prv, i2d_ECPrivateKey)
-# define ec_epki_priv_to_der ec_pki_priv_to_der
+#define ec_epki_priv_to_der ec_pki_priv_to_der
-# define ec_type_specific_params_to_der ec_param_k2d
+#define ec_type_specific_params_to_der ec_param_k2d
/* No ec_type_specific_pub_to_der, there simply is no such thing */
-# define ec_type_specific_priv_to_der ec_prv_k2d
+#define ec_type_specific_priv_to_der ec_prv_k2d
-# define ec_check_key_type NULL
-# define ec_evp_type EVP_PKEY_EC
-# define ec_pem_type "EC"
+#define ec_check_key_type NULL
+#define ec_evp_type EVP_PKEY_EC
+#define ec_pem_type "EC"
-# ifndef OPENSSL_NO_SM2
+#ifndef OPENSSL_NO_SM2
/*
* Albeit SM2 is a slightly different algorithm than ECDSA, the key type
* encoding (in all places where an AlgorithmIdentifier is produced, such
@@ -777,18 +768,18 @@ k2d_NOCTX(ec_prv, i2d_ECPrivateKey)
* This leaves the distinction of SM2 keys to the EC group (which is found
* in AlgorithmIdentified.params).
*/
-# define sm2_evp_type ec_evp_type
-# define sm2_pem_type "SM2"
-# endif
+#define sm2_evp_type ec_evp_type
+#define sm2_pem_type "SM2"
+#endif
#endif
/* ---------------------------------------------------------------------- */
#ifndef OPENSSL_NO_ECX
-# define prepare_ecx_params NULL
+#define prepare_ecx_params NULL
-static int ecx_spki_pub_to_der(const void *vecxkey, unsigned char **pder,
- ossl_unused void *ctx)
+ static int ecx_spki_pub_to_der(const void *vecxkey, unsigned char **pder,
+ ossl_unused void *ctx)
{
const ECX_KEY *ecxkey = vecxkey;
unsigned char *keyblob;
@@ -807,7 +798,7 @@ static int ecx_spki_pub_to_der(const void *vecxkey, unsigned char **pder,
}
static int ecx_pki_priv_to_der(const void *vecxkey, unsigned char **pder,
- ossl_unused void *ctx)
+ ossl_unused void *ctx)
{
const ECX_KEY *ecxkey = vecxkey;
ASN1_OCTET_STRING oct;
@@ -831,52 +822,52 @@ static int ecx_pki_priv_to_der(const void *vecxkey, unsigned char **pder,
return keybloblen;
}
-# define ecx_epki_priv_to_der ecx_pki_priv_to_der
+#define ecx_epki_priv_to_der ecx_pki_priv_to_der
/*
* ED25519, ED448, X25519 and X448 only has PKCS#8 / SubjectPublicKeyInfo
* representation, so we don't define ecx_type_specific_[priv,pub,params]_to_der.
*/
-# define ecx_check_key_type NULL
+#define ecx_check_key_type NULL
-# define ed25519_evp_type EVP_PKEY_ED25519
-# define ed448_evp_type EVP_PKEY_ED448
-# define x25519_evp_type EVP_PKEY_X25519
-# define x448_evp_type EVP_PKEY_X448
-# define ed25519_pem_type "ED25519"
-# define ed448_pem_type "ED448"
-# define x25519_pem_type "X25519"
-# define x448_pem_type "X448"
+#define ed25519_evp_type EVP_PKEY_ED25519
+#define ed448_evp_type EVP_PKEY_ED448
+#define x25519_evp_type EVP_PKEY_X25519
+#define x448_evp_type EVP_PKEY_X448
+#define ed25519_pem_type "ED25519"
+#define ed448_pem_type "ED448"
+#define x25519_pem_type "X25519"
+#define x448_pem_type "X448"
#endif
/* ---------------------------------------------------------------------- */
#ifndef OPENSSL_NO_ML_DSA
static int ml_dsa_spki_pub_to_der(const void *vkey, unsigned char **pder,
- ossl_unused void *ctx)
+ ossl_unused void *ctx)
{
return ossl_ml_dsa_i2d_pubkey(vkey, pder);
}
static int ml_dsa_pki_priv_to_der(const void *vkey, unsigned char **pder,
- void *vctx)
+ void *vctx)
{
KEY2ANY_CTX *ctx = vctx;
return ossl_ml_dsa_i2d_prvkey(vkey, pder, ctx->provctx);
}
-# define ml_dsa_epki_priv_to_der ml_dsa_pki_priv_to_der
-# define prepare_ml_dsa_params NULL
-# define ml_dsa_check_key_type NULL
+#define ml_dsa_epki_priv_to_der ml_dsa_pki_priv_to_der
+#define prepare_ml_dsa_params NULL
+#define ml_dsa_check_key_type NULL
-# define ml_dsa_44_evp_type EVP_PKEY_ML_DSA_44
-# define ml_dsa_44_pem_type "ML-DSA-44"
-# define ml_dsa_65_evp_type EVP_PKEY_ML_DSA_65
-# define ml_dsa_65_pem_type "ML-DSA-65"
-# define ml_dsa_87_evp_type EVP_PKEY_ML_DSA_87
-# define ml_dsa_87_pem_type "ML-DSA-87"
+#define ml_dsa_44_evp_type EVP_PKEY_ML_DSA_44
+#define ml_dsa_44_pem_type "ML-DSA-44"
+#define ml_dsa_65_evp_type EVP_PKEY_ML_DSA_65
+#define ml_dsa_65_pem_type "ML-DSA-65"
+#define ml_dsa_87_evp_type EVP_PKEY_ML_DSA_87
+#define ml_dsa_87_pem_type "ML-DSA-87"
#endif /* OPENSSL_NO_ML_DSA */
/* ---------------------------------------------------------------------- */
@@ -884,29 +875,29 @@ static int ml_dsa_pki_priv_to_der(const void *vkey, unsigned char **pder,
#ifndef OPENSSL_NO_ML_KEM
static int ml_kem_spki_pub_to_der(const void *vkey, unsigned char **pder,
- ossl_unused void *ctx)
+ ossl_unused void *ctx)
{
return ossl_ml_kem_i2d_pubkey(vkey, pder);
}
static int ml_kem_pki_priv_to_der(const void *vkey, unsigned char **pder,
- void *vctx)
+ void *vctx)
{
KEY2ANY_CTX *ctx = vctx;
return ossl_ml_kem_i2d_prvkey(vkey, pder, ctx->provctx);
}
-# define ml_kem_epki_priv_to_der ml_kem_pki_priv_to_der
-# define prepare_ml_kem_params NULL
-# define ml_kem_check_key_type NULL
+#define ml_kem_epki_priv_to_der ml_kem_pki_priv_to_der
+#define prepare_ml_kem_params NULL
+#define ml_kem_check_key_type NULL
-# define ml_kem_512_evp_type EVP_PKEY_ML_KEM_512
-# define ml_kem_512_pem_type "ML-KEM-512"
-# define ml_kem_768_evp_type EVP_PKEY_ML_KEM_768
-# define ml_kem_768_pem_type "ML-KEM-768"
-# define ml_kem_1024_evp_type EVP_PKEY_ML_KEM_1024
-# define ml_kem_1024_pem_type "ML-KEM-1024"
+#define ml_kem_512_evp_type EVP_PKEY_ML_KEM_512
+#define ml_kem_512_pem_type "ML-KEM-512"
+#define ml_kem_768_evp_type EVP_PKEY_ML_KEM_768
+#define ml_kem_768_pem_type "ML-KEM-768"
+#define ml_kem_1024_evp_type EVP_PKEY_ML_KEM_1024
+#define ml_kem_1024_pem_type "ML-KEM-1024"
#endif
/* ---------------------------------------------------------------------- */
@@ -918,7 +909,7 @@ static int ml_kem_pki_priv_to_der(const void *vkey, unsigned char **pder,
*/
static int prepare_rsa_params(const void *rsa, int nid, int save,
- void **pstr, int *pstrtype)
+ void **pstr, int *pstrtype)
{
const RSA_PSS_PARAMS_30 *pss = ossl_rsa_get0_pss_params_30((RSA *)rsa);
@@ -979,7 +970,7 @@ static int prepare_rsa_params(const void *rsa, int nid, int save,
*pstr = astr;
return 1;
- err:
+ err:
OPENSSL_free(str);
return 0;
}
@@ -990,20 +981,20 @@ static int prepare_rsa_params(const void *rsa, int nid, int save,
}
k2d_NOCTX(rsa_prv, i2d_RSAPrivateKey)
-k2d_NOCTX(rsa_pub, i2d_RSAPublicKey)
+ k2d_NOCTX(rsa_pub, i2d_RSAPublicKey)
/*
* RSA is extremely simple, as PKCS#1 is used for the PKCS#8 |privateKey|
* field as well as the SubjectPublicKeyInfo |subjectPublicKey| field.
*/
-#define rsa_pki_priv_to_der rsa_type_specific_priv_to_der
-#define rsa_epki_priv_to_der rsa_type_specific_priv_to_der
-#define rsa_spki_pub_to_der rsa_type_specific_pub_to_der
-#define rsa_type_specific_priv_to_der rsa_prv_k2d
-#define rsa_type_specific_pub_to_der rsa_pub_k2d
+#define rsa_pki_priv_to_der rsa_type_specific_priv_to_der
+#define rsa_epki_priv_to_der rsa_type_specific_priv_to_der
+#define rsa_spki_pub_to_der rsa_type_specific_pub_to_der
+#define rsa_type_specific_priv_to_der rsa_prv_k2d
+#define rsa_type_specific_pub_to_der rsa_pub_k2d
#define rsa_type_specific_params_to_der NULL
-static int rsa_check_key_type(const void *rsa, int expected_type)
+ static int rsa_check_key_type(const void *rsa, int expected_type)
{
switch (RSA_test_flags(rsa, RSA_FLAG_TYPE_MASK)) {
case RSA_FLAG_TYPE_RSA:
@@ -1016,18 +1007,18 @@ static int rsa_check_key_type(const void *rsa, int expected_type)
return EVP_PKEY_NONE;
}
-#define rsa_evp_type EVP_PKEY_RSA
-#define rsapss_evp_type EVP_PKEY_RSA_PSS
-#define rsa_pem_type "RSA"
-#define rsapss_pem_type "RSA-PSS"
+#define rsa_evp_type EVP_PKEY_RSA
+#define rsapss_evp_type EVP_PKEY_RSA_PSS
+#define rsa_pem_type "RSA"
+#define rsapss_pem_type "RSA-PSS"
/* ---------------------------------------------------------------------- */
#ifndef OPENSSL_NO_SLH_DSA
-# define prepare_slh_dsa_params NULL
+#define prepare_slh_dsa_params NULL
static int slh_dsa_spki_pub_to_der(const void *vkey, unsigned char **pder,
- ossl_unused void *ctx)
+ ossl_unused void *ctx)
{
const SLH_DSA_KEY *key = vkey;
uint8_t *key_blob;
@@ -1047,7 +1038,7 @@ static int slh_dsa_spki_pub_to_der(const void *vkey, unsigned char **pder,
}
static int slh_dsa_pki_priv_to_der(const void *vkey, unsigned char **pder,
- ossl_unused void *ctx)
+ ossl_unused void *ctx)
{
const SLH_DSA_KEY *key = vkey;
size_t len;
@@ -1059,52 +1050,52 @@ static int slh_dsa_pki_priv_to_der(const void *vkey, unsigned char **pder,
len = ossl_slh_dsa_key_get_priv_len(key);
if (pder != NULL
- && ((*pder = OPENSSL_memdup(ossl_slh_dsa_key_get_priv(key), len)) == NULL))
+ && ((*pder = OPENSSL_memdup(ossl_slh_dsa_key_get_priv(key), len)) == NULL))
return 0;
return len;
}
-# define slh_dsa_epki_priv_to_der slh_dsa_pki_priv_to_der
+#define slh_dsa_epki_priv_to_der slh_dsa_pki_priv_to_der
/* SLH_DSA only has PKCS#8 / SubjectPublicKeyInfo representations. */
-# define slh_dsa_check_key_type NULL
-# define slh_dsa_sha2_128s_evp_type EVP_PKEY_SLH_DSA_SHA2_128S
-# define slh_dsa_sha2_128f_evp_type EVP_PKEY_SLH_DSA_SHA2_128F
-# define slh_dsa_sha2_192s_evp_type EVP_PKEY_SLH_DSA_SHA2_192S
-# define slh_dsa_sha2_192f_evp_type EVP_PKEY_SLH_DSA_SHA2_192F
-# define slh_dsa_sha2_256s_evp_type EVP_PKEY_SLH_DSA_SHA2_256S
-# define slh_dsa_sha2_256f_evp_type EVP_PKEY_SLH_DSA_SHA2_256F
-# define slh_dsa_shake_128s_evp_type EVP_PKEY_SLH_DSA_SHAKE_128S
-# define slh_dsa_shake_128f_evp_type EVP_PKEY_SLH_DSA_SHAKE_128F
-# define slh_dsa_shake_192s_evp_type EVP_PKEY_SLH_DSA_SHAKE_192S
-# define slh_dsa_shake_192f_evp_type EVP_PKEY_SLH_DSA_SHAKE_192F
-# define slh_dsa_shake_256s_evp_type EVP_PKEY_SLH_DSA_SHAKE_256S
-# define slh_dsa_shake_256f_evp_type EVP_PKEY_SLH_DSA_SHAKE_256F
-# define slh_dsa_sha2_128s_input_type "SLH-DSA-SHA2-128s"
-# define slh_dsa_sha2_128f_input_type "SLH-DSA-SHA2-128f"
-# define slh_dsa_sha2_192s_input_type "SLH-DSA-SHA2-192s"
-# define slh_dsa_sha2_192f_input_type "SLH-DSA-SHA2-192f"
-# define slh_dsa_sha2_256s_input_type "SLH-DSA-SHA2-256s"
-# define slh_dsa_sha2_256f_input_type "SLH-DSA-SHA2-256f"
-# define slh_dsa_shake_128s_input_type "SLH-DSA-SHAKE-128s"
-# define slh_dsa_shake_128f_input_type "SLH-DSA-SHAKE-128f"
-# define slh_dsa_shake_192s_input_type "SLH-DSA-SHAKE-192s"
-# define slh_dsa_shake_192f_input_type "SLH-DSA-SHAKE-192f"
-# define slh_dsa_shake_256s_input_type "SLH-DSA-SHAKE-256s"
-# define slh_dsa_shake_256f_input_type "SLH-DSA-SHAKE-256f"
-# define slh_dsa_sha2_128s_pem_type "SLH-DSA-SHA2-128s"
-# define slh_dsa_sha2_128f_pem_type "SLH-DSA-SHA2-128f"
-# define slh_dsa_sha2_192s_pem_type "SLH-DSA-SHA2-192s"
-# define slh_dsa_sha2_192f_pem_type "SLH-DSA-SHA2-192f"
-# define slh_dsa_sha2_256s_pem_type "SLH-DSA-SHA2-256s"
-# define slh_dsa_sha2_256f_pem_type "SLH-DSA-SHA2-256f"
-# define slh_dsa_shake_128s_pem_type "SLH-DSA-SHAKE-128s"
-# define slh_dsa_shake_128f_pem_type "SLH-DSA-SHAKE-128f"
-# define slh_dsa_shake_192s_pem_type "SLH-DSA-SHAKE-192s"
-# define slh_dsa_shake_192f_pem_type "SLH-DSA-SHAKE-192f"
-# define slh_dsa_shake_256s_pem_type "SLH-DSA-SHAKE-256s"
-# define slh_dsa_shake_256f_pem_type "SLH-DSA-SHAKE-256f"
+#define slh_dsa_check_key_type NULL
+#define slh_dsa_sha2_128s_evp_type EVP_PKEY_SLH_DSA_SHA2_128S
+#define slh_dsa_sha2_128f_evp_type EVP_PKEY_SLH_DSA_SHA2_128F
+#define slh_dsa_sha2_192s_evp_type EVP_PKEY_SLH_DSA_SHA2_192S
+#define slh_dsa_sha2_192f_evp_type EVP_PKEY_SLH_DSA_SHA2_192F
+#define slh_dsa_sha2_256s_evp_type EVP_PKEY_SLH_DSA_SHA2_256S
+#define slh_dsa_sha2_256f_evp_type EVP_PKEY_SLH_DSA_SHA2_256F
+#define slh_dsa_shake_128s_evp_type EVP_PKEY_SLH_DSA_SHAKE_128S
+#define slh_dsa_shake_128f_evp_type EVP_PKEY_SLH_DSA_SHAKE_128F
+#define slh_dsa_shake_192s_evp_type EVP_PKEY_SLH_DSA_SHAKE_192S
+#define slh_dsa_shake_192f_evp_type EVP_PKEY_SLH_DSA_SHAKE_192F
+#define slh_dsa_shake_256s_evp_type EVP_PKEY_SLH_DSA_SHAKE_256S
+#define slh_dsa_shake_256f_evp_type EVP_PKEY_SLH_DSA_SHAKE_256F
+#define slh_dsa_sha2_128s_input_type "SLH-DSA-SHA2-128s"
+#define slh_dsa_sha2_128f_input_type "SLH-DSA-SHA2-128f"
+#define slh_dsa_sha2_192s_input_type "SLH-DSA-SHA2-192s"
+#define slh_dsa_sha2_192f_input_type "SLH-DSA-SHA2-192f"
+#define slh_dsa_sha2_256s_input_type "SLH-DSA-SHA2-256s"
+#define slh_dsa_sha2_256f_input_type "SLH-DSA-SHA2-256f"
+#define slh_dsa_shake_128s_input_type "SLH-DSA-SHAKE-128s"
+#define slh_dsa_shake_128f_input_type "SLH-DSA-SHAKE-128f"
+#define slh_dsa_shake_192s_input_type "SLH-DSA-SHAKE-192s"
+#define slh_dsa_shake_192f_input_type "SLH-DSA-SHAKE-192f"
+#define slh_dsa_shake_256s_input_type "SLH-DSA-SHAKE-256s"
+#define slh_dsa_shake_256f_input_type "SLH-DSA-SHAKE-256f"
+#define slh_dsa_sha2_128s_pem_type "SLH-DSA-SHA2-128s"
+#define slh_dsa_sha2_128f_pem_type "SLH-DSA-SHA2-128f"
+#define slh_dsa_sha2_192s_pem_type "SLH-DSA-SHA2-192s"
+#define slh_dsa_sha2_192f_pem_type "SLH-DSA-SHA2-192f"
+#define slh_dsa_sha2_256s_pem_type "SLH-DSA-SHA2-256s"
+#define slh_dsa_sha2_256f_pem_type "SLH-DSA-SHA2-256f"
+#define slh_dsa_shake_128s_pem_type "SLH-DSA-SHAKE-128s"
+#define slh_dsa_shake_128f_pem_type "SLH-DSA-SHAKE-128f"
+#define slh_dsa_shake_192s_pem_type "SLH-DSA-SHAKE-192s"
+#define slh_dsa_shake_192f_pem_type "SLH-DSA-SHAKE-192f"
+#define slh_dsa_shake_256s_pem_type "SLH-DSA-SHAKE-256s"
+#define slh_dsa_shake_256f_pem_type "SLH-DSA-SHAKE-256f"
#endif /* OPENSSL_NO_SLH_DSA */
/* ---------------------------------------------------------------------- */
@@ -1148,12 +1139,9 @@ static int key2any_set_ctx_params(void *vctx, const OSSL_PARAM params[])
{
KEY2ANY_CTX *ctx = vctx;
OSSL_LIB_CTX *libctx = ossl_prov_ctx_get0_libctx(ctx->provctx);
- const OSSL_PARAM *cipherp =
- OSSL_PARAM_locate_const(params, OSSL_ENCODER_PARAM_CIPHER);
- const OSSL_PARAM *propsp =
- OSSL_PARAM_locate_const(params, OSSL_ENCODER_PARAM_PROPERTIES);
- const OSSL_PARAM *save_paramsp =
- OSSL_PARAM_locate_const(params, OSSL_ENCODER_PARAM_SAVE_PARAMETERS);
+ const OSSL_PARAM *cipherp = OSSL_PARAM_locate_const(params, OSSL_ENCODER_PARAM_CIPHER);
+ const OSSL_PARAM *propsp = OSSL_PARAM_locate_const(params, OSSL_ENCODER_PARAM_PROPERTIES);
+ const OSSL_PARAM *save_paramsp = OSSL_PARAM_locate_const(params, OSSL_ENCODER_PARAM_SAVE_PARAMETERS);
if (cipherp != NULL) {
const char *ciphername = NULL;
@@ -1168,8 +1156,7 @@ static int key2any_set_ctx_params(void *vctx, const OSSL_PARAM params[])
ctx->cipher = NULL;
ctx->cipher_intent = ciphername != NULL;
if (ciphername != NULL
- && ((ctx->cipher =
- EVP_CIPHER_fetch(libctx, ciphername, props)) == NULL))
+ && ((ctx->cipher = EVP_CIPHER_fetch(libctx, ciphername, props)) == NULL))
return 0;
}
@@ -1214,26 +1201,25 @@ static int key2any_check_selection(int selection, int selection_mask)
}
static int key2any_encode(KEY2ANY_CTX *ctx, OSSL_CORE_BIO *cout,
- const void *key, int type, const char *pemname,
- check_key_type_fn *checker,
- key_to_der_fn *writer,
- OSSL_PASSPHRASE_CALLBACK *pwcb, void *pwcbarg,
- key_to_paramstring_fn *key2paramstring,
- OSSL_i2d_of_void_ctx *key2der)
+ const void *key, int type, const char *pemname,
+ check_key_type_fn *checker,
+ key_to_der_fn *writer,
+ OSSL_PASSPHRASE_CALLBACK *pwcb, void *pwcbarg,
+ key_to_paramstring_fn *key2paramstring,
+ OSSL_i2d_of_void_ctx *key2der)
{
int ret = 0;
if (key == NULL) {
ERR_raise(ERR_LIB_PROV, ERR_R_PASSED_NULL_PARAMETER);
} else if (writer != NULL
- && (checker == NULL || checker(key, type))) {
+ && (checker == NULL || checker(key, type))) {
BIO *out = ossl_bio_new_from_core_bio(ctx->provctx, cout);
if (out != NULL
&& (pwcb == NULL
|| ossl_pw_set_ossl_passphrase_cb(&ctx->pwdata, pwcb, pwcbarg)))
- ret =
- writer(out, key, type, pemname, key2paramstring, key2der, ctx);
+ ret = writer(out, key, type, pemname, key2paramstring, key2der, ctx);
BIO_free(out);
} else {
@@ -1243,34 +1229,34 @@ static int key2any_encode(KEY2ANY_CTX *ctx, OSSL_CORE_BIO *cout,
}
#define DO_PRIVATE_KEY_selection_mask OSSL_KEYMGMT_SELECT_PRIVATE_KEY
-#define DO_PRIVATE_KEY(impl, type, kind, output) \
- if ((selection & DO_PRIVATE_KEY_selection_mask) != 0) \
- return key2any_encode(ctx, cout, key, impl##_evp_type, \
- impl##_pem_type " PRIVATE KEY", \
- type##_check_key_type, \
- key_to_##kind##_##output##_priv_bio, \
- cb, cbarg, prepare_##type##_params, \
- type##_##kind##_priv_to_der);
+#define DO_PRIVATE_KEY(impl, type, kind, output) \
+ if ((selection & DO_PRIVATE_KEY_selection_mask) != 0) \
+ return key2any_encode(ctx, cout, key, impl##_evp_type, \
+ impl##_pem_type " PRIVATE KEY", \
+ type##_check_key_type, \
+ key_to_##kind##_##output##_priv_bio, \
+ cb, cbarg, prepare_##type##_params, \
+ type##_##kind##_priv_to_der);
#define DO_PUBLIC_KEY_selection_mask OSSL_KEYMGMT_SELECT_PUBLIC_KEY
-#define DO_PUBLIC_KEY(impl, type, kind, output) \
- if ((selection & DO_PUBLIC_KEY_selection_mask) != 0) \
- return key2any_encode(ctx, cout, key, impl##_evp_type, \
- impl##_pem_type " PUBLIC KEY", \
- type##_check_key_type, \
- key_to_##kind##_##output##_pub_bio, \
- cb, cbarg, prepare_##type##_params, \
- type##_##kind##_pub_to_der);
+#define DO_PUBLIC_KEY(impl, type, kind, output) \
+ if ((selection & DO_PUBLIC_KEY_selection_mask) != 0) \
+ return key2any_encode(ctx, cout, key, impl##_evp_type, \
+ impl##_pem_type " PUBLIC KEY", \
+ type##_check_key_type, \
+ key_to_##kind##_##output##_pub_bio, \
+ cb, cbarg, prepare_##type##_params, \
+ type##_##kind##_pub_to_der);
#define DO_PARAMETERS_selection_mask OSSL_KEYMGMT_SELECT_ALL_PARAMETERS
-#define DO_PARAMETERS(impl, type, kind, output) \
- if ((selection & DO_PARAMETERS_selection_mask) != 0) \
- return key2any_encode(ctx, cout, key, impl##_evp_type, \
- impl##_pem_type " PARAMETERS", \
- type##_check_key_type, \
- key_to_##kind##_##output##_param_bio, \
- NULL, NULL, NULL, \
- type##_##kind##_params_to_der);
+#define DO_PARAMETERS(impl, type, kind, output) \
+ if ((selection & DO_PARAMETERS_selection_mask) != 0) \
+ return key2any_encode(ctx, cout, key, impl##_evp_type, \
+ impl##_pem_type " PARAMETERS", \
+ type##_check_key_type, \
+ key_to_##kind##_##output##_param_bio, \
+ NULL, NULL, NULL, \
+ type##_##kind##_params_to_der);
/*-
* Implement the kinds of output structure that can be produced. They are
@@ -1306,16 +1292,16 @@ static int key2any_encode(KEY2ANY_CTX *ctx, OSSL_CORE_BIO *cout,
* passphrase callback has been passed to them.
*/
#define DO_PrivateKeyInfo_selection_mask DO_PRIVATE_KEY_selection_mask
-#define DO_PrivateKeyInfo(impl, type, output) \
+#define DO_PrivateKeyInfo(impl, type, output) \
DO_PRIVATE_KEY(impl, type, pki, output)
#define DO_EncryptedPrivateKeyInfo_selection_mask DO_PRIVATE_KEY_selection_mask
-#define DO_EncryptedPrivateKeyInfo(impl, type, output) \
+#define DO_EncryptedPrivateKeyInfo(impl, type, output) \
DO_PRIVATE_KEY(impl, type, epki, output)
/* SubjectPublicKeyInfo is a structure for public keys only */
#define DO_SubjectPublicKeyInfo_selection_mask DO_PUBLIC_KEY_selection_mask
-#define DO_SubjectPublicKeyInfo(impl, type, output) \
+#define DO_SubjectPublicKeyInfo(impl, type, output) \
DO_PUBLIC_KEY(impl, type, spki, output)
/*
@@ -1334,23 +1320,23 @@ static int key2any_encode(KEY2ANY_CTX *ctx, OSSL_CORE_BIO *cout,
* except public key
*/
#define DO_type_specific_params_selection_mask DO_PARAMETERS_selection_mask
-#define DO_type_specific_params(impl, type, output) \
+#define DO_type_specific_params(impl, type, output) \
DO_PARAMETERS(impl, type, type_specific, output)
-#define DO_type_specific_keypair_selection_mask \
- ( DO_PRIVATE_KEY_selection_mask | DO_PUBLIC_KEY_selection_mask )
-#define DO_type_specific_keypair(impl, type, output) \
- DO_PRIVATE_KEY(impl, type, type_specific, output) \
+#define DO_type_specific_keypair_selection_mask \
+ (DO_PRIVATE_KEY_selection_mask | DO_PUBLIC_KEY_selection_mask)
+#define DO_type_specific_keypair(impl, type, output) \
+ DO_PRIVATE_KEY(impl, type, type_specific, output) \
DO_PUBLIC_KEY(impl, type, type_specific, output)
-#define DO_type_specific_selection_mask \
- ( DO_type_specific_keypair_selection_mask \
- | DO_type_specific_params_selection_mask )
-#define DO_type_specific(impl, type, output) \
- DO_type_specific_keypair(impl, type, output) \
- DO_type_specific_params(impl, type, output)
+#define DO_type_specific_selection_mask \
+ (DO_type_specific_keypair_selection_mask \
+ | DO_type_specific_params_selection_mask)
+#define DO_type_specific(impl, type, output) \
+ DO_type_specific_keypair(impl, type, output) \
+ DO_type_specific_params(impl, type, output)
#define DO_type_specific_no_pub_selection_mask \
- ( DO_PRIVATE_KEY_selection_mask | DO_PARAMETERS_selection_mask)
-#define DO_type_specific_no_pub(impl, type, output) \
- DO_PRIVATE_KEY(impl, type, type_specific, output) \
+ (DO_PRIVATE_KEY_selection_mask | DO_PARAMETERS_selection_mask)
+#define DO_type_specific_no_pub(impl, type, output) \
+ DO_PRIVATE_KEY(impl, type, type_specific, output) \
DO_type_specific_params(impl, type, output)
/*
@@ -1409,71 +1395,72 @@ static int key2any_encode(KEY2ANY_CTX *ctx, OSSL_CORE_BIO *cout,
*
* ossl_##impl##_to_##kind##_##output##_encoder_functions
*/
-#define MAKE_ENCODER(impl, type, kind, output) \
- static OSSL_FUNC_encoder_import_object_fn \
- impl##_to_##kind##_##output##_import_object; \
- static OSSL_FUNC_encoder_free_object_fn \
- impl##_to_##kind##_##output##_free_object; \
- static OSSL_FUNC_encoder_encode_fn \
- impl##_to_##kind##_##output##_encode; \
- \
- static void * \
- impl##_to_##kind##_##output##_import_object(void *vctx, int selection, \
- const OSSL_PARAM params[]) \
- { \
- KEY2ANY_CTX *ctx = vctx; \
- \
- return ossl_prov_import_key(ossl_##impl##_keymgmt_functions, \
- ctx->provctx, selection, params); \
- } \
- static void impl##_to_##kind##_##output##_free_object(void *key) \
- { \
- ossl_prov_free_key(ossl_##impl##_keymgmt_functions, key); \
- } \
- static int impl##_to_##kind##_##output##_does_selection(void *ctx, \
- int selection) \
- { \
- return key2any_check_selection(selection, \
- DO_##kind##_selection_mask); \
- } \
- static int \
- impl##_to_##kind##_##output##_encode(void *ctx, OSSL_CORE_BIO *cout, \
- const void *key, \
- const OSSL_PARAM key_abstract[], \
- int selection, \
- OSSL_PASSPHRASE_CALLBACK *cb, \
- void *cbarg) \
- { \
- /* We don't deal with abstract objects */ \
- if (key_abstract != NULL) { \
- ERR_raise(ERR_LIB_PROV, ERR_R_PASSED_INVALID_ARGUMENT); \
- return 0; \
- } \
- DO_##kind(impl, type, output) \
- \
- ERR_raise(ERR_LIB_PROV, ERR_R_PASSED_INVALID_ARGUMENT); \
- return 0; \
- } \
- const OSSL_DISPATCH \
- ossl_##impl##_to_##kind##_##output##_encoder_functions[] = { \
- { OSSL_FUNC_ENCODER_NEWCTX, \
- (void (*)(void))key2any_newctx }, \
- { OSSL_FUNC_ENCODER_FREECTX, \
- (void (*)(void))key2any_freectx }, \
- { OSSL_FUNC_ENCODER_SETTABLE_CTX_PARAMS, \
- (void (*)(void))key2any_settable_ctx_params }, \
- { OSSL_FUNC_ENCODER_SET_CTX_PARAMS, \
- (void (*)(void))key2any_set_ctx_params }, \
- { OSSL_FUNC_ENCODER_DOES_SELECTION, \
- (void (*)(void))impl##_to_##kind##_##output##_does_selection }, \
- { OSSL_FUNC_ENCODER_IMPORT_OBJECT, \
- (void (*)(void))impl##_to_##kind##_##output##_import_object }, \
- { OSSL_FUNC_ENCODER_FREE_OBJECT, \
- (void (*)(void))impl##_to_##kind##_##output##_free_object }, \
- { OSSL_FUNC_ENCODER_ENCODE, \
- (void (*)(void))impl##_to_##kind##_##output##_encode }, \
- OSSL_DISPATCH_END \
- }
+#define MAKE_ENCODER(impl, type, kind, output) \
+ static OSSL_FUNC_encoder_import_object_fn \
+ impl##_to_##kind##_##output##_import_object; \
+ static OSSL_FUNC_encoder_free_object_fn \
+ impl##_to_##kind##_##output##_free_object; \
+ static OSSL_FUNC_encoder_encode_fn \
+ impl##_to_##kind##_##output##_encode; \
+ \
+ static void * \
+ impl##_to_##kind##_##output##_import_object(void *vctx, int selection, \
+ const OSSL_PARAM params[]) \
+ { \
+ KEY2ANY_CTX *ctx = vctx; \
+ \
+ return ossl_prov_import_key(ossl_##impl##_keymgmt_functions, \
+ ctx->provctx, selection, params); \
+ } \
+ static void impl##_to_##kind##_##output##_free_object(void *key) \
+ { \
+ ossl_prov_free_key(ossl_##impl##_keymgmt_functions, key); \
+ } \
+ static int impl##_to_##kind##_##output##_does_selection(void *ctx, \
+ int selection) \
+ { \
+ return key2any_check_selection(selection, \
+ DO_##kind##_selection_mask); \
+ } \
+ static int \
+ impl##_to_##kind##_##output##_encode(void *ctx, OSSL_CORE_BIO *cout, \
+ const void *key, \
+ const OSSL_PARAM key_abstract[], \
+ int selection, \
+ OSSL_PASSPHRASE_CALLBACK *cb, \
+ void *cbarg) \
+ { \
+ /* We don't deal with abstract objects */ \
+ if (key_abstract != NULL) { \
+ ERR_raise(ERR_LIB_PROV, ERR_R_PASSED_INVALID_ARGUMENT); \
+ return 0; \
+ } \
+ DO_##kind(impl, type, output) \
+ \
+ ERR_raise(ERR_LIB_PROV, ERR_R_PASSED_INVALID_ARGUMENT); \
+ return 0; \
+ } \
+ const OSSL_DISPATCH \
+ ossl_##impl##_to_##kind##_##output##_encoder_functions[] \
+ = { \
+ { OSSL_FUNC_ENCODER_NEWCTX, \
+ (void (*)(void))key2any_newctx }, \
+ { OSSL_FUNC_ENCODER_FREECTX, \
+ (void (*)(void))key2any_freectx }, \
+ { OSSL_FUNC_ENCODER_SETTABLE_CTX_PARAMS, \
+ (void (*)(void))key2any_settable_ctx_params }, \
+ { OSSL_FUNC_ENCODER_SET_CTX_PARAMS, \
+ (void (*)(void))key2any_set_ctx_params }, \
+ { OSSL_FUNC_ENCODER_DOES_SELECTION, \
+ (void (*)(void))impl##_to_##kind##_##output##_does_selection }, \
+ { OSSL_FUNC_ENCODER_IMPORT_OBJECT, \
+ (void (*)(void))impl##_to_##kind##_##output##_import_object }, \
+ { OSSL_FUNC_ENCODER_FREE_OBJECT, \
+ (void (*)(void))impl##_to_##kind##_##output##_free_object }, \
+ { OSSL_FUNC_ENCODER_ENCODE, \
+ (void (*)(void))impl##_to_##kind##_##output##_encode }, \
+ OSSL_DISPATCH_END \
+ }
/*
* Replacements for i2d_{TYPE}PrivateKey, i2d_{TYPE}PublicKey,
@@ -1489,9 +1476,9 @@ MAKE_ENCODER(dsa, dsa, type_specific, der);
#endif
#ifndef OPENSSL_NO_EC
MAKE_ENCODER(ec, ec, type_specific_no_pub, der);
-# ifndef OPENSSL_NO_SM2
+#ifndef OPENSSL_NO_SM2
MAKE_ENCODER(sm2, ec, type_specific_no_pub, der);
-# endif
+#endif
#endif
/*
@@ -1508,9 +1495,9 @@ MAKE_ENCODER(dsa, dsa, type_specific, pem);
#endif
#ifndef OPENSSL_NO_EC
MAKE_ENCODER(ec, ec, type_specific_no_pub, pem);
-# ifndef OPENSSL_NO_SM2
+#ifndef OPENSSL_NO_SM2
MAKE_ENCODER(sm2, ec, type_specific_no_pub, pem);
-# endif
+#endif
#endif
/*
@@ -1562,15 +1549,15 @@ MAKE_ENCODER(ec, ec, PrivateKeyInfo, der);
MAKE_ENCODER(ec, ec, PrivateKeyInfo, pem);
MAKE_ENCODER(ec, ec, SubjectPublicKeyInfo, der);
MAKE_ENCODER(ec, ec, SubjectPublicKeyInfo, pem);
-# ifndef OPENSSL_NO_SM2
+#ifndef OPENSSL_NO_SM2
MAKE_ENCODER(sm2, ec, EncryptedPrivateKeyInfo, der);
MAKE_ENCODER(sm2, ec, EncryptedPrivateKeyInfo, pem);
MAKE_ENCODER(sm2, ec, PrivateKeyInfo, der);
MAKE_ENCODER(sm2, ec, PrivateKeyInfo, pem);
MAKE_ENCODER(sm2, ec, SubjectPublicKeyInfo, der);
MAKE_ENCODER(sm2, ec, SubjectPublicKeyInfo, pem);
-# endif
-# ifndef OPENSSL_NO_ECX
+#endif
+#ifndef OPENSSL_NO_ECX
MAKE_ENCODER(ed25519, ecx, EncryptedPrivateKeyInfo, der);
MAKE_ENCODER(ed25519, ecx, EncryptedPrivateKeyInfo, pem);
MAKE_ENCODER(ed25519, ecx, PrivateKeyInfo, der);
@@ -1595,7 +1582,7 @@ MAKE_ENCODER(x448, ecx, PrivateKeyInfo, der);
MAKE_ENCODER(x448, ecx, PrivateKeyInfo, pem);
MAKE_ENCODER(x448, ecx, SubjectPublicKeyInfo, der);
MAKE_ENCODER(x448, ecx, SubjectPublicKeyInfo, pem);
-# endif
+#endif
#endif
#ifndef OPENSSL_NO_SLH_DSA
MAKE_ENCODER(slh_dsa_sha2_128s, slh_dsa, EncryptedPrivateKeyInfo, der);
@@ -1718,10 +1705,10 @@ MAKE_ENCODER(dsa, dsa, DSA, pem);
#ifndef OPENSSL_NO_EC
MAKE_ENCODER(ec, ec, EC, der);
MAKE_ENCODER(ec, ec, EC, pem);
-# ifndef OPENSSL_NO_SM2
+#ifndef OPENSSL_NO_SM2
MAKE_ENCODER(sm2, ec, SM2, der);
MAKE_ENCODER(sm2, ec, SM2, pem);
-# endif
+#endif
#endif
/* Convenience structure names */