Add support for standard USB Smartcard Readers (#765)

* add PCSC interface (pcsc.c and pcsc.h)
* new command 'sc select' to choose an USB Smartcard Reader
* updated CI/.travis.yml accordingly
* remove TCK CRC check in i2c.c It is done in PrintATR() anyway
* Fix TCK CRC check in PrintATR()
* Add PCSC reader support to 'sc info'
This commit is contained in:
pwpiwi 2019-01-28 21:54:34 +01:00 committed by GitHub
commit a9104f7e31
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 382 additions and 93 deletions

22
client/pcsc.h Normal file
View file

@ -0,0 +1,22 @@
//-----------------------------------------------------------------------------
// Copyright (C) 2019 piwi
//
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
// at your option, any later version. See the LICENSE.txt file for the text of
// the license.
//-----------------------------------------------------------------------------
// PCSC functions to use alternative Smartcard Readers
//-----------------------------------------------------------------------------
#ifndef PCSC_H__
#define PCSC_H__
#include <stdbool.h>
#include "smartcard.h"
char *getAlternativeSmartcardReader(void);
bool pcscCheckForCardReaders(void);
bool pcscSelectAlternativeCardReader(const char *readername);
bool pcscGetATR(smart_card_atr_t *card);
#endif