diff options
author | Werner Koch <[email protected]> | 2025-01-29 15:32:03 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2025-01-29 15:32:03 +0000 |
commit | 89055f24f4d3d645e1ac79b64421849e08a1c2a2 (patch) | |
tree | 426c1e802fd5392b5687ac4118db966d0b28b80d /sm/certreqgen.c | |
parent | agent: Fix ssh-agent's request_identities for skipped keys. (diff) | |
download | gnupg-89055f24f4d3d645e1ac79b64421849e08a1c2a2.tar.gz gnupg-89055f24f4d3d645e1ac79b64421849e08a1c2a2.zip |
gpgsm: Allow CSR generation with an unprotected key.
* sm/call-agent.c (gpgsm_agent_genkey): Add arg no_protection.
* sm/certreqgen.c (struct reqgen_ctrl_s): Add field no_protection.
(read_parameters): Add keyword "%no-protection".
(proc_parameters): Pass no_protection to gpgsm_agent_genkey.
Diffstat (limited to 'sm/certreqgen.c')
-rw-r--r-- | sm/certreqgen.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sm/certreqgen.c b/sm/certreqgen.c index eb084f594..ec55b2e0e 100644 --- a/sm/certreqgen.c +++ b/sm/certreqgen.c @@ -111,6 +111,7 @@ struct reqgen_ctrl_s { int lnr; int dryrun; + int no_protection; }; @@ -302,6 +303,8 @@ read_parameters (ctrl_t ctrl, estream_t fp, estream_t out_fp) log_info ("%s\n", value); else if (!ascii_strcasecmp (keyword, "%dry-run")) outctrl.dryrun = 1; + else if (!ascii_strcasecmp (keyword, "%no-protection")) + outctrl.no_protection = 1; else if (!ascii_strcasecmp( keyword, "%commit")) { rc = proc_parameters (ctrl, para, out_fp, &outctrl); @@ -760,7 +763,7 @@ proc_parameters (ctrl_t ctrl, struct para_data_s *para, xfree (cardkeyid); return gpg_error (GPG_ERR_INV_PARAMETER); } - rc = gpgsm_agent_genkey (ctrl, keyparms, &public); + rc = gpgsm_agent_genkey (ctrl, outctrl->no_protection, keyparms, &public); if (rc) { r = get_parameter (para, pKEYTYPE, 0); |