(try_decrypt): pass down AlgorithmIdentifier that key uses to do sigatures
so there is no need to hardcode RSA into this function. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19299 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -129,6 +129,7 @@ parse_certificate(hx509_context context, const char *fn,
|
|||||||
static int
|
static int
|
||||||
try_decrypt(hx509_context context,
|
try_decrypt(hx509_context context,
|
||||||
struct hx509_collector *collector,
|
struct hx509_collector *collector,
|
||||||
|
const AlgorithmIdentifier *alg,
|
||||||
const EVP_CIPHER *c,
|
const EVP_CIPHER *c,
|
||||||
const void *ivdata,
|
const void *ivdata,
|
||||||
const void *password,
|
const void *password,
|
||||||
@@ -177,7 +178,7 @@ try_decrypt(hx509_context context,
|
|||||||
|
|
||||||
ret = _hx509_collector_private_key_add(context,
|
ret = _hx509_collector_private_key_add(context,
|
||||||
collector,
|
collector,
|
||||||
hx509_signature_rsa(),
|
alg,
|
||||||
NULL,
|
NULL,
|
||||||
&clear,
|
&clear,
|
||||||
NULL);
|
NULL);
|
||||||
@@ -286,8 +287,8 @@ parse_rsa_private_key(hx509_context context, const char *fn,
|
|||||||
password = pw->val[i];
|
password = pw->val[i];
|
||||||
passwordlen = strlen(password);
|
passwordlen = strlen(password);
|
||||||
|
|
||||||
ret = try_decrypt(context, c, cipher,
|
ret = try_decrypt(context, c, hx509_signature_rsa(),
|
||||||
ivdata, password, passwordlen,
|
cipher, ivdata, password, passwordlen,
|
||||||
data, len);
|
data, len);
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
decrypted = 1;
|
decrypted = 1;
|
||||||
@@ -308,8 +309,8 @@ parse_rsa_private_key(hx509_context context, const char *fn,
|
|||||||
|
|
||||||
ret = hx509_lock_prompt(lock, &prompt);
|
ret = hx509_lock_prompt(lock, &prompt);
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
ret = try_decrypt(context, c, cipher,
|
ret = try_decrypt(context, c, hx509_signature_rsa(),
|
||||||
ivdata, password, strlen(password),
|
cipher, ivdata, password, strlen(password),
|
||||||
data, len);
|
data, len);
|
||||||
/* XXX add password to lock password collection ? */
|
/* XXX add password to lock password collection ? */
|
||||||
memset(password, 0, sizeof(password));
|
memset(password, 0, sizeof(password));
|
||||||
|
Reference in New Issue
Block a user