- Moved p15 print_card function here

- print preferred_language, if given
- don't print pin path if there is none
- print tries_left if present


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1586 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
okir 2003-10-31 12:29:12 +00:00
parent fd1272c767
commit cb5e179042
1 changed files with 39 additions and 5 deletions

View File

@ -9,10 +9,40 @@
#endif
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <opensc/opensc.h>
#include <opensc/pkcs15.h>
#include "sc-test.h"
void sc_test_print_card(const sc_pkcs15_card_t *card)
{
const char *flags[] = {
"Read-only",
"Login required",
"PRN generation",
"EID compliant"
};
int i, count = 0;
assert(card != NULL);
printf("PKCS#15 Card [%s]:\n", card->label);
printf("\tVersion : %d\n", card->version);
printf("\tSerial number : %s\n", card->serial_number);
printf("\tManufacturer ID: %s\n", card->manufacturer_id);
if (card->preferred_language)
printf("\tLanguage : %s\n", card->preferred_language);
printf("\tFlags : ");
for (i = 0; i < 4; i++) {
if ((card->flags >> i) & 1) {
if (count)
printf(", ");
printf("%s", flags[i]);
count++;
}
}
printf("\n");
}
static void print_pin(const struct sc_pkcs15_object *obj)
{
const char *pin_flags[] =
@ -56,12 +86,16 @@ static void print_pin(const struct sc_pkcs15_object *obj)
default:
printf("[encoding %d]\n", pin->type);
}
printf("\tPath : ");
for (i = 0; i < pin->path.len; i++) {
printf("%02X", pin->path.value[i]);
p += 2;
if (pin->path.len) {
printf("\tPath : ");
for (i = 0; i < pin->path.len; i++) {
printf("%02X", pin->path.value[i]);
p += 2;
}
printf("\n");
}
printf("\n");
if (pin->tries_left >= 0)
printf("\tTries left : %d\n", pin->tries_left);
}
static void print_prkey(const struct sc_pkcs15_object *obj)