aboutsummaryrefslogtreecommitdiffstats
path: root/sm/minip12.h
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2024-01-15 08:55:55 +0000
committerWerner Koch <[email protected]>2024-01-15 08:56:07 +0000
commit0cb622d632f732c24a5d312baf2c6e453775eb10 (patch)
treea14ab9a8f804a37eb3875f13f8c432717a271b28 /sm/minip12.h
parentgpgsm: Improve the status line for --verify errors. (diff)
downloadgnupg-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.h1
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,