SCardSniffer2 spies the exchanges between a PC/SC application and a smart card

5 years ago, SpringCard introduced SCardSniffer, a tool that spies the exchanges between Windows applications and the PC/SC subsystem. SCardSniffer works by introducing a hook over winscard.dll.

Although this method is still perfectly working in most cases, it comes with some technical complexity (1. the sniffer and the sniffed application must both run on the same subsystem, either Win32 or Win64, hence 2 versions of the sniffer and 2. the injection of the hook is likely to be disabled on security-enforced computers and 3. it may also triggers some antivirus/malware detection tools, which leads to an unnecessary stress).

SCardSniffer2 is a new tool that offers basically the same function, but with a much simpler architecture.

SCardSniffer2 installs a new virtual smart card reader and acts as a relay between this virtual reader and the real reader, where the real card is.

The application to be spied must be reconfigured to connect to the virtual reader (instead of the real reader); SCardSniffer2 is then able to record all the APDUs exhanged between the application and the card.

Read More

Using NXP RFIDDiscover with SpringCard PC/SC Couplers

RFIDDiscover (formerly MifareDiscover) is a GUI software provided by NXP to help the developers explore the features of their contactless cards (Mifare, Desfire, NTAG and ICode) and learn how-to use them from a real application.

This software is available to customers under NDA with NXP, through the DocStore document delivery platform (ref. SW1866).

This article shows how-to get started with this RFIDDiscover, in the aim of using it together with SpringCard devices. This is the preferred method to learn how those cards work, before starting the development of any software that would use them for data storage and/or secure transactions.

Read More

Using NXP Card Test Framework with SpringCard PC/SC Couplers

Card Test Framework is a GUI software provided by NXP to help the developers explore the features of their contactless cards (Mifare, Desfire, NTAG and ICode) and learn how-to use them from a real application.

This software is available to customers under NDA (non-disclosure agreement) with NXP, through the DocStore document delivery platform (ref. SW5434).

This article shows how-to get started with this Card Test Framework, in the aim of using it together with SpringCard devices.

Read More

Using NXP TapLinx SDK with SpringCard PC/SC couplers

NXP TapLinx SDK (formerly Mifare SDK) is an high-level sofware library provided by NXP to work with their Mifare, Desfire, NTAG and ICode products.

Written in Java, the TapLinx library has been initially developed for Android, running over Android's NfcAdapter object to communicate with the contactless cards or NFC tags through the tablet's or smartphone's integrated NFC interface.

Recently, the library has been ported to the standard JDK, making it usable in any Java desktop applications thanks to the JRE available on Windows, macOs, Linux, and more. In desktop applications, the TapLinx library relies on the system's PC/SC stack (javax.smartcardio API in Java) to access the contactless cards or NFC tags through a standard-compliant PC/SC coupler.

This makes TapLinx an interesting solution for developers of desktop applications that have to process NXP cards or tags. This article shows how-to get started with this SDK, in the aim of using it together with SpringCard devices.

Read More

Getting started with SpringCard Companion

SpringCard Companion is the new all-in-one solution to manage, configure and update the latest generation of SpringCard "SpringCore" devices (Puck, SpringPark, etc). SpringCard Companion is an hybrid application that combines a clean, efficient and always up-to-date web front-end with a tiny local software, the Companion Service, that is the gateway between the cloud and the devices connected to your computer or local network.

As such, the Companion Service is also the base component to connect any application built for the web with the 'physical world' of PC/SC couplers and Smart Readers, using only simple WebSocket and REST API calls.

Before you start using SpringCard Companion Web application (available at companion.springcard.com) you should install the Companion Service on a Windows computer.

Read More

PCSCCheck, the all-in-one tool to validate and tune your PC/SC installation

An analysis of the questions that are the most frequently asked to our technical support shows that many issues and concerns are due to the settings or the behaviour of Windows operating system itself.

This is particularly the case in security-enforced corporate environments, where strict administrative policies may prevent the user to install the right driver, or even prevent the applications to access local smart card readers.

The fact that Windows raises a couple of notifications ("Setting up a device", then "The smart card requires drivers that are not present on this system") every time a card is inserted in a PC/SC reader for the first time is also the source of many questions, that this article will address.

Read More

PC/SC on Linux and Mac OS X with Mono

One the goals of the Mono project is to make Microsoft .NET applications runnable on Unix systems. Using Mono, it is therefore now possible to maintain a single C#/.NET code base, that runs on Linux, Mac OS X and Windows.

In this context, SpringCard's PC/SC SDK (https://www.springcard.com/en/download/find/file/pcsc-sdk) has been updated, so that it now enables developers to write PC/SC applications in C#/.NET, that can execute on Windows, as well as on Linux and Mac OS X platforms.

Read More

SCardSniffer spies the exchanges between a PC/SC application and PC/SC middleware

SCardSniffer is a new tool used to spy the exchanges between Windows applications and the smart cards or NFC tags that are accessed through a PC/SC reader (or coupler).

SCardSniffer
SCardSniffer main window

On a Windows computer, all card-aware applications communicate with smart cards or NFC tags through the system's PC/SC library, winscard.dll.

Read More

SpringCard PC/SC solution for Android has been released

SpringCard R&D team is proud to release a simple software solution to add support for SpringCard USB PC/SC Couplers to Android tablets (or smartphone).

nexus9-with-springcard-pcsc-reader

A Nexus 9 Android tablet, with a SpringCard Prox'N'Roll PC/SC reader on the USB port, and a Desfire contactless smartcard

The software is made of two parts:

googleplaystore

The SpringCard USB PC/SC Service's page on Google Play store

This software suite is compliant with all SpringCard USB PC/SC Couplers, for instance SpringCard Prox'N'Roll PC/SC, Prox'N'Roll HSP PC/SC, TwistyWriter HSP, CrazyWriter HSP, CSB HSP... Note that the current version of the Service and Library allows to work only with the Coupler's contactless slot. Don't hesitate to contact us if you have an interest into addressing the smartcard / SAM slots of the Couplers.

To communicate with a USB PC/SC Coupler -which is basically a USB device, the Android tablet (or smartphone) must provide a USB Host stack. This should be the case of all tablets running Android 3.1 and higher. We recommend Nexus 7 and Nexus 9 tablets, running Android 5.0 or 5.1, which are the reference platforms we use to develop and test the solution. An adapter cable is required to connect the Coupler if your tablet doesn't provide a full-size USB host connector.

usb-adapter-for-tablets-proxnroll

The USB adapter to use a SpringCard USB PC/SC smartcard reader with a tablet featuring only an USB on-the-go (OTG) mini type B female port

Tip: if you're not sure whether your tablet supports USB Host or not, just install the Service and the Demo application from Google Play, and check that your SpringCard Coupler is correctly activated by your tablet's system. Remember that the Coupler will be powered by the tablet's battery. Some tablets could be powered (by their mains adapter) even when an USB device is present, but most don't; choose your tablet accordingly if you're designing a kiosk or public-use system that should be mains-powered 24/7).

Icon of the SpringCard PC/SC Service for Android

Icon of the SpringCard PC/SC Service for Android

To develop your own application using a SpringCard Coupler from Android, download the library (and the sample Demo application) from GitHub, and follow the Quick Start Guide (ref. SpringCard PMD15240) which is included in the GitHub project, or available directly here.

github

The SpringCard SDK for PC/SC on Android is an open-source project hosted on GitHub

We welcome your feedback!

 

scpcsc_feed completes MultiConf

scpcsc_feed is a command-line utility for Windows which is a companion-tool for MultiConf in case you need to configure numerous SpringCard PC/SC couplers in batch mode, or change the settings quickly without a needing a full-featured GUI.

scpcsc_feed is available at https://files.springcard.com/pub/scpcsc_cfg.zip. Just unzip the archive in the folder you want, and open a command prompt (cmd.exe) in this folder to use the tool from the command line.

Connect a SpringCard PC/SC coupler to your computer, and invoke scpsc_feed without any parameter to see the integrated help:

C:\springcard>scpcsc_feed
SpringCard -- scpcsc_feed
-------------------------
Read/write data in the non-volatile memory of a SpringCard PC/SC Reader

Build : Apr 15 2015
Copyright (c) 2010-2013 Pro Active SAS, France
Go to www.springcard.com for information and updates.

Connected through PC/SC.
Connected, device : SpringCard Prox'N'Roll HSP 2.00 [1]
Firmware features : 0073232F

Usage: scpcsc_feed -d            dump configuration registers
scpcsc_feed -r XX         show value of register XX
scpcsc_feed -s XX=YYYY... write register XX with value YYYY...
scpcsc_feed -e            erase all configuration registers
scpcsc_feed -sf FILE      write register(s) from config FILE
scpcsc_feed -t XX=YYYY... set temporarily register XX with value YYYY...
scpcsc_feed -tf FILE      set temporarily register(s) from config FILE

C:\springcard>

A few interesting commands

Read-back the current configuration

scpcsc_feed -d

Restore the factory configuration (blank all registers)

scpcsc_feed -e

Apply the configuration from a MultiConf project

scpcsc_feed -sf [file.multiconf]