diff options
author | Werner Koch <[email protected]> | 2024-01-15 08:55:55 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2024-01-15 08:56:07 +0000 |
commit | 0cb622d632f732c24a5d312baf2c6e453775eb10 (patch) | |
tree | a14ab9a8f804a37eb3875f13f8c432717a271b28 /sm/t-minip12.c | |
parent | gpgsm: Improve the status line for --verify errors. (diff) | |
download | gnupg-0cb622d632f732c24a5d312baf2c6e453775eb10.tar.gz gnupg-0cb622d632f732c24a5d312baf2c6e453775eb10.zip |
gpgsm: Allow parsing of PKCS#12 files with two private keys.
* sm/minip12.c (struct p12_parse_ctx_s): Add privatekey2.
(parse_shrouded_key_bag): Handle a second private key.
(p12_parse_free_kparms): New.
* sm/import.c (parse_p12): Factor some code out to ...
(p12_to_skey): this.
(parse_p12): Use p12_parse_free_kparms.
--
Take care: We allow parsing of a second private key but we are not yet
able to import the second private key.
The whole things is required to at least import the certificates of
current pkcs#12 files as created by the German Elster tax system. No
test data, sorry.
Diffstat (limited to 'sm/t-minip12.c')
-rw-r--r-- | sm/t-minip12.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/sm/t-minip12.c b/sm/t-minip12.c index bf3177ea0..75c1545d6 100644 --- a/sm/t-minip12.c +++ b/sm/t-minip12.c @@ -580,13 +580,7 @@ run_one_test (const char *name, const char *desc, const char *pass, ret = 0; } - if (result) - { - int i; - for (i=0; result[i]; i++) - gcry_mpi_release (result[i]); - gcry_free (result); - } + p12_parse_free_kparms (result); xfree (certstr); xfree (resulthash); xfree (curve); |