-
大小: 60KB文件类型: .zip金币: 1下载: 0 次发布日期: 2021-05-14
- 语言: C#
- 标签: PC/SC WinSmart.DLL 感应卡
资源简介
PC/SC 微软智能卡C#开发框架库 ,应用该框架库可让您开发PC/SC更加容易使用,避免了 WinSmart.DLL 的复杂调用过程。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Text;
using GemCard;
namespace DemoSCFmwk
{
class Program
{
static APDUCommand
apduVerifyCHV = new APDUCommand(0xA0 0x20 0 1 null 0)
apduSelectFile = new APDUCommand(0xA0 0xA4 0 0 null 0)
apduReadRecord = new APDUCommand(0xA0 0xB2 1 4 null 0)
apduGetResponse = new APDUCommand(0xA0 0xC0 0 0 null 0);
const ushort SC_OK = 0x9000;
const byte SC_PENDING = 0x9F;
///
/// This program tests the API with a SIM card.
/// If your PIN is activated be carefull when presenting the PIN to your card!
///
///
static void Main(string[] args)
{
try
{
APDUResponse apduResp;
CardNative iCard = new CardNative();
string[] readers = iCard.ListReaders();
iCard.Connect(readers[0] SHARE.Shared PROTOCOL.T0orT1);
Console.WriteLine(“Connects card on reader: “ + readers[0]);
// Verify the PIN (if necessary)
byte[] pin = new byte[] { 0x31 0x32 0x33 0x34 0xFF 0xFF 0xFF 0xFF};
APDUParam apduParam = new APDUParam();
apduParam.Data = pin;
apduVerifyCHV.Update(apduParam);
//apduResp = iCard.Transmit(apduVerifyCHV);
// Select the MF (3F00)
apduParam.Data = new byte[] { 0x3F 0x00 };
apduSelectFile.Update(apduParam);
apduResp = iCard.Transmit(apduSelectFile);
if (apduResp.Status != SC_OK && apduResp.SW1 != SC_PENDING)
throw new Exception(“Select command failed: “ + apduResp.ToString());
Console.WriteLine(“MF selected“);
// Select the EFtelecom (7F10)
apduParam.Data = new byte[] { 0x7F 0x10 };
apduSelectFile.Update(apduParam);
apduResp = iCard.Transmit(apduSelectFile);
if (apduResp.Status != SC_OK && apduResp.SW1 != SC_PENDING)
throw new Exception(“Select command failed: “ + apduResp.ToString());
Console.WriteLine(“DFtelecom selected“);
// Select the EFadn (6F3A)
apduParam.Data = new byte[] { 0x6F 0x3A };
apduSelectFile.Update(apduParam);
apduResp = iCard.Transmit(apduSelectFile);
if (apduResp.Status != SC_OK && apduResp.SW1 != SC_PENDING)
throw new Exception(“Select command failed: “ + apduResp.ToString());
Console.WriteLine(“EFadn (Phone numbers) selected“);
// Read the response
if (apduResp.SW1 == SC_PENDING)
{
apduPara
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1383 2006-12-28 20:00 Smartcard_fr
文件 2256 2005-08-28 18:29 Smartcard_fr
文件 628 2005-08-29 16:49 Smartcard_fr
文件 6777 2011-08-16 18:23 Smartcard_fr
文件 67584 2011-08-16 18:27 Smartcard_fr
目录 0 2011-08-16 18:26 Smartcard_fr
目录 0 2011-08-16 18:28 Smartcard_fr
文件 4911 2011-08-16 18:21 Smartcard_fr
文件 452 2011-08-16 18:21 Smartcard_fr
文件 4498 2006-12-03 21:36 Smartcard_fr
目录 0 2011-08-16 18:16 Smartcard_fr
文件 1282 2006-12-03 12:54 Smartcard_fr
目录 0 2011-08-16 18:28 Smartcard_fr
文件 3762 2006-12-22 12:46 Smartcard_fr
文件 4409 2006-12-03 21:30 Smartcard_fr
文件 2294 2006-12-03 21:31 Smartcard_fr
文件 2426 2005-08-18 15:52 Smartcard_fr
文件 6419 2007-03-03 17:30 Smartcard_fr
文件 5247 2007-03-02 22:02 Smartcard_fr
文件 19296 2007-03-03 09:42 Smartcard_fr
文件 7552 2011-08-16 18:23 Smartcard_fr
文件 2526 2011-08-16 18:21 Smartcard_fr
文件 4985 2007-03-02 22:02 Smartcard_fr
文件 991 2006-12-19 23:22 Smartcard_fr
目录 0 2011-08-16 18:28 Smartcard_fr
文件 1100 2006-12-04 21:23 Smartcard_fr
文件 24599 2007-01-01 23:45 Smartcard_fr
目录 0 2011-08-16 18:16 Smartcard_fr
文件 1415 2006-12-04 21:18 Smartcard_fr
文件 2488 2011-08-16 18:20 Smartcard_fr
目录 0 2011-08-16 18:16 Smartcard_fr
............此处省略22个文件信息
- 上一篇:winform电子签名
- 下一篇:c# 解压zip完整demo 带进度条
评论
共有 条评论