Smart Card API (Professional) Overview

SmartCardAPI works with any PC/SC compliant smart card reader. Contact cards and contactless cards are supported. Managed code handles all Windows native PC/SC Workgroup API (WinSCard) calls. Sample code for popular cards such as Mifare, iCLASS makes card integration a breeze.

.NET Smart Card Framework SDK for C#, VB.NET, Visual Studio

CardWerk SmartCard API (Professional) implements the powerful Smart Card API Framework. CT-API for German health insurance card as well as vendor proprietary. native APIs such as scardsyn amd mcard are also supported.

It supports smart cards and storage cards cards such as

  • any CPU card
  • U.S. Gov. CAC and PIV cards
  • Geldkarte
  • eCard
  • HID Prox, iCLASS card
  • NXP Mifare Classic, Ultralight, DESFire EV1
  • NXP NTAG
  • Texas Instrument's Tag-IT
  • Atmel CryptoMemory
  • Memory cards (SLE4442, AT24Cxx, I2C, 2/3 wire ...)
  • JavaCard
  • MULTOS cards
  • .... and any other card you can access with your PC/SC compliant card reader

Note that memory cards on older card readers may require a vendor proprietary reader API. Sometimes this is exposed through CT-API. We provide some adapters for those proprietary APIs. However, the industry is moving away from this approach. We therefore don't recommend this approach unless you have a madatory requirement for it.

Also note, that synchronous cards (storage cards, memory cards) on HID OMNIKEY readers such as OMNIKEY 3021 and OMNIKEY 3121 are supported via CardWerk.SmartCardAPI.MemoryCard.dll module on top of our SmartCardAPI PC/SC adapter.

The only relevant SmartCardAPI adapter for new implementations is the PC/SC (Winscard) adapter. It provides card and reader tracking events - a feature that is not available on PC/SC level.

SmartCardAPI(professional) is a powerful yet easy-to-use .NET smart card framework that can easily be adapted to any reader/card system.

The CardWerk SmartCard API (Professional) Development Kit may be used free of charge for evaluation purposes, for purely private use, and for non-commercial educational use. A license must be purchased only for commercial use or for redistribution of the runtime files.

The following figure provides an overview of the general architecture of the Subsembly SmartCard API (Professional) Framework:

Key Features

  • Supports all PC/SC and CT-API compliant smart card readers.
  • Supports all .NET programming languages including Visual Basic.NET (VB.NET),Visual C#, Visual J#, and Managed C++.
  • Supports simultaneous, multi-threaded access to multiple card readers.
  • Secure PIN entry support on card readers with PIN pad according to PC/SC 2.0.1 part 10 and CT-API.
  • built against .NET 4.x
  • Includes development kit with sample source code and extensive documentation.
  • Includes high-level classes and low-level PC/SC, CT-API, and MCARD API based classes.
  • CT-API support (for German health insurance card).
  • Memory card access through proprietary APIs (SCM's MCARD API, OMNIKEY SCARDSYN API) or pseudo APDUs
  • Purchase of a commercial license grants Royalty Free redistribution of the runtime files.
  • Protect your investment: The complete source code of our smartcard.dll core product is available for purchase, too.
  • Backward compatible with Subsembly smart card API name space
  • Risk Free: We provide fully functional evaluation versions absolutely free ofcharge.

The CardWerk SmartCard API (Professional) was derived from the OpenCard Framework a framework once popular in the JavaCard world. Compared to the OpenCard Framework, the programming interfaces have been completely revised and are much cleaner and easier to use. In addition to the PC/SC Workgroup API, the CardWerk SmartCard API (Professional) also supports the CT-API, which is very common in Germany. For maximum security a secure PIN entry on card readers with incorporated PIN pad is supported.

The CardWerk SmartCard API (Professional) software development kit (SDK) includes extensive documentation in MSDN help format and many sample applications with reusable source code that gets you started quickly. All documentation is in English.

The CardWerk SmartCard API (Professional) can be used from all .NET programming languages such as Visual Basic.NET (VB.NET), C#, J#, and Managed C++.

We are constanly improving SmartCard API and would be happy to accommodate your requirements to support additional cards and third-party PC/SC-based smart card reader APIs. Contact us for HID iCLASS contactless card, HID PROX card support on OMNIKEY card readers as well as US Government CAC or PIV card integration.

Buying a software license of the CardWerk SmartCard API (Professional) edition entitles you to use SmartCardAPI without trial-mode restrictions. A software license is not restricted to just one site - you can redistribute CardWerk SmartCard API (Professional) assembly to multiple locations without paying any additional royalties.