version 1.45, 2018/02/07 04:25:19 |
version 1.46, 2018/02/07 05:47:55 |
|
|
} |
} |
ret = PKCS12_parse(p12, pass, pkey, cert, ca); |
ret = PKCS12_parse(p12, pass, pkey, cert, ca); |
|
|
die: |
die: |
PKCS12_free(p12); |
PKCS12_free(p12); |
return ret; |
return ret; |
} |
} |
|
|
goto end; |
goto end; |
} |
} |
|
|
end: |
end: |
if (x == NULL) { |
if (x == NULL) { |
BIO_printf(err, "unable to load certificate\n"); |
BIO_printf(err, "unable to load certificate\n"); |
ERR_print_errors(err); |
ERR_print_errors(err); |
|
|
BIO_printf(err, "bad input format specified for key file\n"); |
BIO_printf(err, "bad input format specified for key file\n"); |
goto end; |
goto end; |
} |
} |
end: |
end: |
BIO_free(key); |
BIO_free(key); |
if (pkey == NULL) { |
if (pkey == NULL) { |
BIO_printf(err, "unable to load %s\n", key_descrip); |
BIO_printf(err, "unable to load %s\n", key_descrip); |
|
|
goto end; |
goto end; |
} |
} |
|
|
end: |
end: |
BIO_free(key); |
BIO_free(key); |
if (pkey == NULL) |
if (pkey == NULL) |
BIO_printf(err, "unable to load %s\n", key_descrip); |
BIO_printf(err, "unable to load %s\n", key_descrip); |
|
|
EVP_PKEY_set1_RSA(pkey, rsa); |
EVP_PKEY_set1_RSA(pkey, rsa); |
return pkey; |
return pkey; |
|
|
error: |
error: |
BUF_MEM_free(buf); |
BUF_MEM_free(buf); |
EVP_PKEY_free(pkey); |
EVP_PKEY_free(pkey); |
return NULL; |
return NULL; |
|
|
if (pcrls && sk_X509_CRL_num(*pcrls) > 0) |
if (pcrls && sk_X509_CRL_num(*pcrls) > 0) |
rv = 1; |
rv = 1; |
|
|
end: |
end: |
sk_X509_INFO_pop_free(xis, X509_INFO_free); |
sk_X509_INFO_pop_free(xis, X509_INFO_free); |
|
|
if (rv == 0) { |
if (rv == 0) { |
|
|
|
|
ret = 1; |
ret = 1; |
|
|
end: |
end: |
sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free); |
sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free); |
|
|
return ret; |
return ret; |
|
|
ERR_clear_error(); |
ERR_clear_error(); |
return store; |
return store; |
|
|
end: |
end: |
X509_STORE_free(store); |
X509_STORE_free(store); |
return NULL; |
return NULL; |
} |
} |
|
|
ai = NULL; |
ai = NULL; |
} |
} |
|
|
err: |
err: |
BIO_free(in); |
BIO_free(in); |
ASN1_INTEGER_free(ai); |
ASN1_INTEGER_free(ai); |
return (ret); |
return (ret); |
|
|
ai = NULL; |
ai = NULL; |
} |
} |
|
|
err: |
err: |
BIO_free_all(out); |
BIO_free_all(out); |
ASN1_INTEGER_free(ai); |
ASN1_INTEGER_free(ai); |
return (ret); |
return (ret); |
|
|
} |
} |
return 1; |
return 1; |
|
|
err: |
err: |
return 0; |
return 0; |
} |
} |
|
|
|
|
|
|
ret = 1; |
ret = 1; |
|
|
error: |
error: |
BN_free(btmp); |
BN_free(btmp); |
|
|
return ret; |
return ret; |
|
|
} |
} |
} |
} |
|
|
err: |
err: |
NCONF_free(dbattr_conf); |
NCONF_free(dbattr_conf); |
TXT_DB_free(tmpdb); |
TXT_DB_free(tmpdb); |
BIO_free_all(in); |
BIO_free_all(in); |
|
|
|
|
return 1; |
return 1; |
|
|
err: |
err: |
return 0; |
return 0; |
} |
} |
|
|
|
|
} |
} |
return 1; |
return 1; |
|
|
err: |
err: |
return 0; |
return 0; |
} |
} |
|
|
|
|
} |
} |
goto done; |
goto done; |
|
|
error: |
error: |
X509_NAME_free(name); |
X509_NAME_free(name); |
name = NULL; |
name = NULL; |
|
|
done: |
done: |
free(ne_values); |
free(ne_values); |
free(ne_types); |
free(ne_types); |
free(mval); |
free(mval); |
|
|
if (at_time) |
if (at_time) |
X509_VERIFY_PARAM_set_time(*pm, at_time); |
X509_VERIFY_PARAM_set_time(*pm, at_time); |
|
|
end: |
end: |
(*pargs)++; |
(*pargs)++; |
|
|
if (pargc) |
if (pargc) |
|
|
} |
} |
} |
} |
|
|
done: |
done: |
if (argsused != NULL) |
if (argsused != NULL) |
*argsused = i; |
*argsused = i; |
|
|
return (0); |
return (0); |
|
|
toomany: |
toomany: |
fprintf(stderr, "too many arguments\n"); |
fprintf(stderr, "too many arguments\n"); |
return (1); |
return (1); |
|
|
unknown: |
unknown: |
fprintf(stderr, "unknown option '%s'\n", arg); |
fprintf(stderr, "unknown option '%s'\n", arg); |
return (1); |
return (1); |
} |
} |