1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

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.
This commit is contained in:
Werner Koch 2024-01-15 09:55:55 +01:00
parent 092154e17e
commit 0cb622d632
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
4 changed files with 133 additions and 91 deletions

View file

@ -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);