| 529 | } |
| 530 | |
| 531 | static md_pkey_spec_t *pkey_spec_clone(apr_pool_t *p, md_pkey_spec_t *spec) |
| 532 | { |
| 533 | md_pkey_spec_t *nspec; |
| 534 | |
| 535 | nspec = apr_pcalloc(p, sizeof(*nspec)); |
| 536 | nspec->type = spec->type; |
| 537 | switch (spec->type) { |
| 538 | case MD_PKEY_TYPE_DEFAULT: |
| 539 | break; |
| 540 | case MD_PKEY_TYPE_RSA: |
| 541 | nspec->params.rsa.bits = spec->params.rsa.bits; |
| 542 | break; |
| 543 | case MD_PKEY_TYPE_EC: |
| 544 | nspec->params.ec.curve = apr_pstrdup(p, spec->params.ec.curve); |
| 545 | break; |
| 546 | } |
| 547 | return nspec; |
| 548 | } |
| 549 | |
| 550 | const char *md_pkey_spec_name(const md_pkey_spec_t *spec) |
| 551 | { |
no outgoing calls
no test coverage detected