Sample code for 30+ languages & platforms
React Native

Gather Smartcard Debug Information for Chilkat

See more ScMinidriver Examples

This example demonstrates how to gather information to send to support@chilkatsoft.com about your smartcard.

Chilkat React Native Downloads

React Native
import { JsonObject, ScMinidriver } from '@chilkat/react-native'

function chilkatExample() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  // First, Chilkat recommends downloading the MGTEK Smartcard Minidriver Tool to get information 
  // about your smartcard. 

  // The tool can be downloaded from https://www.mgtek.com/smartcard

  // --------------------------------------------------------------------------------------------------------
  // 1. Select the smartcard as shown below and send Chilkat a screenshot of the basic smartcard information.
  // --------------------------------------------------------------------------------------------------------
  // 
  // (image:https://example-code.com/images/mgtek_screenshot.jpg/endImage)
  // 
  // --------------------------------------------------------------------------------------------------------
  // 2. Select the cmapfile (if present) as shown below and send Chilkat a screenshot of the CSP container map
  // --------------------------------------------------------------------------------------------------------
  // 
  // (image:https://example-code.com/images/cmapfile_screenshot.jpg/endImage)
  // 

  // ---------------------------------------------------------
  // Chilkat provides functions to get information about the smartcard, and what it contains.
  // Send Chilkat the output of the following source code:

  const scmd = new ScMinidriver();

  // Reader names (smart card readers or USB tokens) can be discovered
  // via PCSC List Readers or PCSC Find Smart Cards
  const readerName = 'Alcor Micro USB Smart Card Reader 0';
  try {
    scmd.acquireContext(readerName);
  } catch {
    console.log(scmd.lastErrorText);
    return;
  }

  const json = new JsonObject();
  json.emitCompact = false;

  // ------------------------------------------------------
  // 3. Send Chilkat the JSON returned by GetCardProperties
  // ------------------------------------------------------
  try {
    scmd.getCardProperties(json);
  } catch {
    console.log(scmd.lastErrorText);
    return;
  }

  console.log(json.emit());

  // ------------------------------------------------------
  // 4. Send Chilkat the JSON returned by GetCspContainerMap
  // ------------------------------------------------------
  json.clear();
  try {
    scmd.getCspContainerMap(json);
  } catch {
    console.log(scmd.lastErrorText);
    return;
  }

  console.log(json.emit());
}