X-Git-Url: http://www.average.org/gitweb/?p=pam_pcsc_cr.git;a=blobdiff_plain;f=test_chalresp.c;fp=test_chalresp.c;h=43991d1e5ce18b7f5c0a5ace2bc97c885116531d;hp=0000000000000000000000000000000000000000;hb=55045da5118553f462a83ff65540ae026c44bdb0;hpb=92242efeec6fd187fbbe4701c0dc33975c137d2e diff --git a/test_chalresp.c b/test_chalresp.c new file mode 100644 index 0000000..43991d1 --- /dev/null +++ b/test_chalresp.c @@ -0,0 +1,47 @@ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif +#include +#include +#include +#include +#include "pcsc_cr.h" + +unsigned char chal[] = { +0x0f,0x65,0xd1,0x3a,0xfe,0xcb,0xc4,0xb9,0x52,0xb1,0x60,0xcf,0xe8,0x55,0x6a,0xdd,0xfb,0xef,0xf6,0x55,0x83,0x4c,0x8d,0xea,0x38,0xea,0x3b,0x26,0xf7,0x0a,0xe8,0x0d,0x31,0x38,0xee,0x16,0x5d,0xab,0x8b,0x7f,0xf0,0x1b,0xe3,0xbe,0xd8,0x4b,0x6e,0x44,0x42,0x8d,0x0f,0xc1,0x3b,0x23,0xea,0xfe,0xc0,0x68,0xc1,0x0f,0x60,0x6c,0xf4}; + +static void usage(const char const *cmd) +{ + fprintf(stderr, "usage: %s [-o backend:name=value] ...\n", cmd); +} + +int main(int argc, char *argv[]) +{ + unsigned char rbuf[20]; + int rsize = sizeof(rbuf); + int i; + long rc; + int c; + + while ((c = getopt(argc, argv, "ho:")) != -1) switch (c) { + case 'h': + usage(argv[0]); + exit(0); + case 'o': + if (pcsc_option(optarg)) { + fprintf(stderr, "Option \"%s\" bad\n", optarg); + exit(1); + } + break; + default: + usage(argv[0]); + exit(1); + } + + memset(rbuf, 0xFE, sizeof(rbuf)); + rc = pcsc_cr(chal, sizeof(chal), rbuf, &rsize); + printf("rc=%ld (%s) rsize=%d:", rc, pcsc_errstr(rc), rsize); + for (i = 0; i < rsize; i++) printf(" %02x", rbuf[i]); + printf("\n"); + return rc; +}