Sample code for 30+ languages & platforms
Lua

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 Lua Downloads

Lua
local chilkat = require("chilkat")

-- 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
--
-- --------------------------------------------------------------------------------------------------------
-- 2. Select the cmapfile (if present) as shown below and send Chilkat a screenshot of the CSP container map
-- --------------------------------------------------------------------------------------------------------
--
-- image
--

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

local scmd = chilkat.ScMinidriver.new()

-- Reader names (smart card readers or USB tokens) can be discovered
-- via PCSC List Readers or PCSC Find Smart Cards
local readerName = "Alcor Micro USB Smart Card Reader 0"
local success = scmd:acquire_context(readerName)
if not success then
    print(scmd.last_error_text)
    return
end

local json = chilkat.JsonObject.new()
json.emit_compact = false

-- ------------------------------------------------------
-- 3. Send Chilkat the JSON returned by GetCardProperties
-- ------------------------------------------------------
success = scmd:get_card_properties(json)
if not success then
    print(scmd.last_error_text)
    return
end

print(json:emit())

-- ------------------------------------------------------
-- 4. Send Chilkat the JSON returned by GetCspContainerMap
-- ------------------------------------------------------
json:clear()
success = scmd:get_csp_container_map(json)
if not success then
    print(scmd.last_error_text)
    return
end

print(json:emit())