| 965 | } |
| 966 | |
| 967 | apr_status_t md_pkey_gen(md_pkey_t **ppkey, apr_pool_t *p, md_pkey_spec_t *spec) |
| 968 | { |
| 969 | md_pkey_type_t ptype = spec? spec->type : MD_PKEY_TYPE_DEFAULT; |
| 970 | switch (ptype) { |
| 971 | case MD_PKEY_TYPE_DEFAULT: |
| 972 | return gen_rsa(ppkey, p, MD_PKEY_RSA_BITS_DEF); |
| 973 | case MD_PKEY_TYPE_RSA: |
| 974 | return gen_rsa(ppkey, p, spec->params.rsa.bits); |
| 975 | case MD_PKEY_TYPE_EC: |
| 976 | return gen_ec(ppkey, p, spec->params.ec.curve); |
| 977 | default: |
| 978 | return APR_ENOTIMPL; |
| 979 | } |
| 980 | } |
| 981 | |
| 982 | #if OPENSSL_VERSION_NUMBER < 0x10100000L \ |
| 983 | || (defined(LIBRESSL_VERSION_NUMBER) \ |
no test coverage detected