USIM Card API is an advanced middleware library written in C, which connects low-level smartcard drivers with client applications (e.g. UE stacks, USIM customization frontends) and coordinates communication between them.

USIM Card API provides an extra level of abstraction for developers, thanks to which they can significantly shorten implementation of USIM-related features, especially in the embedded environments. Any smart card reader driver can be adapted to work with the USIM Card API.

Main products features:

  • Accessing data on USIM is abstracted into a filesystem, where files can be read and written.
  • Easy access to USIM’s cryptography module for user verification and network authentication.
  • Running and interacting with applications stored on the USIM can be programabble.

A typical setup includes a smart card reader with a USIM card, USIM Card API library plus APIs and a frontend to demo with. The demo implementation is using libPCSClite and was tested on Ubuntu 14.04.

Block diagram

Figure 1: USIM Card API Architecture


USIM Card API is delivered as a library compiled for desired target and a set of headers describing C API.

Technical specification summary

  • USIM Card API conforms to:
    • ISO/IEC 7816-4
    • ETSI TS 102 221
    • ETSI TS 131 101
    • ETSI TS 131 102
  • Direct support for libPCSClite


Application Benefit Who can benefit?
Building connection between stack and hardware Shortens Stack verification UE producers
USIM customization Shortens Setup time Network operators

USIM Card API BoxAsk for price