mirror of
https://github.com/openssl/openssl.git
synced 2024-12-15 06:01:37 +08:00
To verify MAC, we need a MAC
Fixes #26106 Reviewed-by: Paul Dale <ppzgs1@gmail.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/26140)
This commit is contained in:
parent
fe89f308ae
commit
8ad98cce41
@ -829,6 +829,12 @@ int pkcs12_main(int argc, char **argv)
|
||||
const ASN1_OBJECT *macobj;
|
||||
|
||||
PKCS12_get0_mac(NULL, &macalgid, NULL, NULL, p12);
|
||||
|
||||
if (macalgid == NULL) {
|
||||
BIO_printf(bio_err, "Warning: MAC is absent!\n");
|
||||
goto dump;
|
||||
}
|
||||
|
||||
X509_ALGOR_get0(&macobj, NULL, NULL, macalgid);
|
||||
|
||||
if (OBJ_obj2nid(macobj) != NID_pbmac1) {
|
||||
|
@ -56,7 +56,7 @@ $ENV{OPENSSL_WIN32_UTF8}=1;
|
||||
|
||||
my $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0);
|
||||
|
||||
plan tests => $no_fips ? 46 : 52;
|
||||
plan tests => $no_fips ? 47 : 53;
|
||||
|
||||
# Test different PKCS#12 formats
|
||||
ok(run(test(["pkcs12_format_test"])), "test pkcs12 formats");
|
||||
@ -288,6 +288,13 @@ with({ exit_checker => sub { return shift == 1; } },
|
||||
"test bad pkcs12 file 3 (info)");
|
||||
});
|
||||
|
||||
# Test that mac verification doesn't fail when mac is absent in the file
|
||||
{
|
||||
my $nomac = srctop_file("test", "recipes", "80-test_pkcs12_data", "nomac_parse.p12");
|
||||
ok(run(app(["openssl", "pkcs12", "-in", $nomac, "-passin", "pass:testpassword"])),
|
||||
"test pkcs12 file without MAC");
|
||||
}
|
||||
|
||||
# Test with Oracle Trusted Key Usage specified in openssl.cnf
|
||||
{
|
||||
ok(run(app(["openssl", "pkcs12", "-export", "-out", $outfile7,
|
||||
|
BIN
test/recipes/80-test_pkcs12_data/nomac_parse.p12
Normal file
BIN
test/recipes/80-test_pkcs12_data/nomac_parse.p12
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user