Latest update.

This commit is contained in:
2020-02-11 23:20:44 +09:00
parent 047a30700b
commit 9dfeec3942
639 changed files with 14024 additions and 31198 deletions
@@ -112,18 +112,22 @@ static int dh_priv_set_ctx_params(void *vctx, const OSSL_PARAM params[])
/* Private key : DER */
static int dh_priv_der_data(void *vctx, const OSSL_PARAM params[], BIO *out,
OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg)
OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg)
{
struct dh_priv_ctx_st *ctx = vctx;
OSSL_OP_keymgmt_importkey_fn *dh_importkey =
ossl_prov_get_dh_importkey();
OSSL_OP_keymgmt_new_fn *dh_new = ossl_prov_get_keymgmt_dh_new();
OSSL_OP_keymgmt_free_fn *dh_free = ossl_prov_get_keymgmt_dh_free();
OSSL_OP_keymgmt_import_fn *dh_import = ossl_prov_get_keymgmt_dh_import();
int ok = 0;
if (dh_importkey != NULL) {
DH *dh = dh_importkey(ctx->provctx, params);
if (dh_import != NULL) {
DH *dh;
ok = dh_priv_der(ctx, dh, out, cb, cbarg);
DH_free(dh);
if ((dh = dh_new(ctx->provctx)) != NULL
&& dh_import(dh, OSSL_KEYMGMT_SELECT_KEYPAIR, params)
&& dh_priv_der(ctx, dh, out, cb, cbarg))
ok = 1;
dh_free(dh);
}
return ok;
}
@@ -147,24 +151,28 @@ static int dh_priv_der(void *vctx, void *dh, BIO *out,
/* Private key : PEM */
static int dh_pem_priv_data(void *vctx, const OSSL_PARAM params[], BIO *out,
OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg)
OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg)
{
struct dh_priv_ctx_st *ctx = vctx;
OSSL_OP_keymgmt_importkey_fn *dh_importkey =
ossl_prov_get_dh_importkey();
OSSL_OP_keymgmt_new_fn *dh_new = ossl_prov_get_keymgmt_dh_new();
OSSL_OP_keymgmt_free_fn *dh_free = ossl_prov_get_keymgmt_dh_free();
OSSL_OP_keymgmt_import_fn *dh_import = ossl_prov_get_keymgmt_dh_import();
int ok = 0;
if (dh_importkey != NULL) {
DH *dh = dh_importkey(ctx, params);
if (dh_import != NULL) {
DH *dh;
ok = dh_pem_priv(ctx->provctx, dh, out, cb, cbarg);
DH_free(dh);
if ((dh = dh_new(ctx->provctx)) != NULL
&& dh_import(dh, OSSL_KEYMGMT_SELECT_KEYPAIR, params)
&& dh_pem_priv(ctx->provctx, dh, out, cb, cbarg))
ok = 1;
dh_free(dh);
}
return ok;
}
static int dh_pem_priv(void *vctx, void *dh, BIO *out,
OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg)
OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg)
{
struct dh_priv_ctx_st *ctx = vctx;
int ret;
@@ -192,25 +200,29 @@ static void dh_print_freectx(void *ctx)
{
}
static int dh_priv_print_data(void *provctx, const OSSL_PARAM params[],
BIO *out,
OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg)
static int dh_priv_print_data(void *vctx, const OSSL_PARAM params[], BIO *out,
OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg)
{
OSSL_OP_keymgmt_importkey_fn *dh_importkey =
ossl_prov_get_dh_importkey();
struct dh_priv_ctx_st *ctx = vctx;
OSSL_OP_keymgmt_new_fn *dh_new = ossl_prov_get_keymgmt_dh_new();
OSSL_OP_keymgmt_free_fn *dh_free = ossl_prov_get_keymgmt_dh_free();
OSSL_OP_keymgmt_import_fn *dh_import = ossl_prov_get_keymgmt_dh_import();
int ok = 0;
if (dh_importkey != NULL) {
DH *dh = dh_importkey(provctx, params); /* ctx == provctx */
if (dh_import != NULL) {
DH *dh;
ok = dh_priv_print(provctx, dh, out, cb, cbarg);
DH_free(dh);
if ((dh = dh_new(ctx->provctx)) != NULL
&& dh_import(dh, OSSL_KEYMGMT_SELECT_KEYPAIR, params)
&& dh_priv_print(ctx, dh, out, cb, cbarg))
ok = 1;
dh_free(dh);
}
return ok;
}
static int dh_priv_print(void *ctx, void *dh, BIO *out,
OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg)
OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg)
{
return ossl_prov_print_dh(out, dh, dh_print_priv);
}