Additional EC routines _sc_card_add_ec_alg and sc_card_find_ec_alg

git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4903 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
dengert 2010-11-30 19:30:03 +00:00
parent c34caeb662
commit e2bd16ecd0
1 changed files with 31 additions and 0 deletions

View File

@ -706,6 +706,37 @@ int _sc_card_add_algorithm(sc_card_t *card, const sc_algorithm_info_t *info)
return SC_SUCCESS;
}
int _sc_card_add_ec_alg(sc_card_t *card, unsigned int key_length,
unsigned long flags, unsigned long ext_flags)
{
sc_algorithm_info_t info;
memset(&info, 0, sizeof(info));
info.algorithm = SC_ALGORITHM_EC;
info.key_length = key_length;
info.flags = flags;
info.u._ec.ext_flags = ext_flags;
return _sc_card_add_algorithm(card, &info);
}
sc_algorithm_info_t * sc_card_find_ec_alg(sc_card_t *card,
unsigned int key_length)
{
int i;
for (i = 0; i < card->algorithm_count; i++) {
sc_algorithm_info_t *info = &card->algorithms[i];
if (info->algorithm != SC_ALGORITHM_EC)
continue;
if (info->key_length != key_length)
continue;
return info;
}
return NULL;
}
int _sc_card_add_rsa_alg(sc_card_t *card, unsigned int key_length,
unsigned long flags, unsigned long exponent)
{