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/minip12.h | |
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/minip12.h')
-rw-r--r-- | sm/minip12.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sm/minip12.h b/sm/minip12.h index 654cab0e6..00569cd86 100644 --- a/sm/minip12.h +++ b/sm/minip12.h @@ -29,6 +29,7 @@ gcry_mpi_t *p12_parse (const unsigned char *buffer, size_t length, const char *pw, void (*certcb)(void*, const unsigned char*, size_t), void *certcbarg, int *r_badpass, char **r_curve); +void p12_parse_free_kparms (gcry_mpi_t *kparms); unsigned char *p12_build (gcry_mpi_t *kparms, const void *cert, size_t certlen, |