PCSC-Tools 项目安装与使用指南

PCSC-Tools 项目安装与使用指南

pcsc-tools Some tools to be used with smart cards and PC/SC pcsc-tools 项目地址: https://gitcode.com/gh_mirrors/pc/pcsc-tools

1. 项目目录结构及介绍

pcsc-tools 项目是一个用于智能卡和 PC/SC 的工具集,项目目录结构如下:

pcsc-tools/
├── .github/
│   └── workflows/
├── .gitignore
├── ATR_analysis.1p.in
├── ATR_analysis.in
├── LICENCE
├── Makefile.am
├── README
├── README.md
├── bootstrap
├── configure.ac
├── gscriptor/
│   ├── gscriptor.1
│   ├── gscriptor.desktop.in
│   ├── gscriptor.gtk1.2
│   └── gscriptor.png
├── gscriptor
├── pcsc_scan.1
├── pcsc_scan.c
├── scriptor/
│   ├── scriptor.1
│   └── test.script
├── scriptor
├── smartcard_list.txt
├── sort_smartcard_list.py
└── sync.sh

以下是各目录和文件的简要介绍:

  • .github/workflows/:包含项目的 GitHub Actions 工作流文件,用于自动化项目的构建和测试等流程。
  • .gitignore:指定 Git 忽略的文件和目录。
  • ATR_analysis.*:与 ATR(Answer To Reset)分析相关的文件。
  • LICENCE:项目的许可证文件,本项目采用 GPL-2.0 许可证。
  • Makefile.am:Autoconf 使用的 Makefile 模板文件。
  • READMEREADME.md:项目的自述文件,包含了项目的介绍和安装使用说明。
  • bootstrapconfigure.ac:用于生成 Makefile 的配置脚本。
  • gscriptor/:包含 gscriptor 工具相关的文件。
  • gscriptor:gscriptor 工具的执行文件。
  • pcsc_scan.*:与 PC/SC 扫描工具相关的文件。
  • scriptor/:包含 scriptor 工具相关的文件。
  • scriptor:scriptor 工具的执行文件。
  • smartcard_list.txt:智能卡列表文件。
  • sort_smartcard_list.py:用于排序智能卡列表的 Python 脚本。
  • sync.sh:同步脚本。

2. 项目的启动文件介绍

pcsc-tools 项目的启动主要通过以下文件进行:

  • bootstrap:此脚本用于生成构建系统所需的配置文件。
  • configure:通过运行 ./configure 命令,此脚本会检查系统依赖并生成 Makefile。

启动项目的步骤如下:

  1. 克隆项目仓库:

    git clone https://salsa.debian.org/rousseau/pcsc-tools.git
    cd pcsc-tools
    
  2. 运行 bootstrap 脚本:

    ./bootstrap
    
  3. 配置项目:

    ./configure
    
  4. 构建项目:

    make
    

3. 项目的配置文件介绍

pcsc-tools 项目的配置主要通过以下文件进行:

  • configure.ac:Autoconf 的主配置文件,用于定义项目的配置选项和依赖检查。
  • Makefile.am:Autoconf 使用的 Makefile 模板文件,其中定义了构建规则和目标。

项目配置的步骤如下:

  1. 运行 ./configure 命令,根据系统的实际情况进行配置。

  2. 如果需要自定义编译选项或指定依赖库的路径,可以在运行 ./configure 时添加相应的参数。

例如,如果需要指定安装目录,可以使用以下命令:

./configure --prefix=/usr/local

完成配置后,就可以通过 make 命令开始构建项目。

pcsc-tools Some tools to be used with smart cards and PC/SC pcsc-tools 项目地址: https://gitcode.com/gh_mirrors/pc/pcsc-tools

最新的PCSC、CCID以及测试源码。 贴一段源码: LONG SCardEstablishContext(DWORD dwScope, /*@unused@*/ LPCVOID pvReserved1, /*@unused@*/ LPCVOID pvReserved2, LPSCARDCONTEXT phContext) { (void)pvReserved1; (void)pvReserved2; if (dwScope != SCARD_SCOPE_USER && dwScope != SCARD_SCOPE_TERMINAL && dwScope != SCARD_SCOPE_SYSTEM && dwScope != SCARD_SCOPE_GLOBAL) { *phContext = 0; return SCARD_E_INVALID_VALUE; } /* * Unique identifier for this server so that it can uniquely be * identified by clients and distinguished from others */ *phContext = (PCSCLITE_SVC_IDENTITY + SYS_RandomInt(1, 65535)); Log2(PCSC_LOG_DEBUG, "Establishing Context: 0x%X", *phContext); return SCARD_S_SUCCESS; } LONG SCardReleaseContext(SCARDCONTEXT hContext) { /* * Nothing to do here RPC layer will handle this */ Log2(PCSC_LOG_DEBUG, "Releasing Context: 0x%X", hContext); return SCARD_S_SUCCESS; } LONG SCardConnect(/*@unused@*/ SCARDCONTEXT hContext, LPCSTR szReader, DWORD dwShareMode, DWORD dwPreferredProtocols, LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol) { LONG rv; READER_CONTEXT * rContext = NULL; uint32_t readerState; (void)hContext; PROFILE_START *phCard = 0; if ((dwShareMode != SCARD_SHARE_DIRECT) && !(dwPreferredProtocols & SCARD_PROTOCOL_T0) && !(dwPreferredProtocols & SCARD_PROTOCOL_T1) && !(dwPreferredProtocols & SCARD_PROTOCOL_RAW) && !(dwPreferredProtocols & SCARD_PROTOCOL_ANY_OLD)) return SCARD_E_PROTO_MISMATCH; if (dwShareMode != SCARD_SHARE_EXCLUSIVE && dwShareMode != SCARD_SHARE_SHARED && dwShareMode != SCARD_SHARE_DIRECT) return SCARD_E_INVALID_VALUE; Log3(PCSC_LOG_DEBUG, "Attempting Connect to %s using protocol: %d", szReader, dwPreferredProtocols); rv = RFReaderInfo((LPSTR) szReader, &rContext); if (rv != SCARD_S_SUCCESS) { Log2(PCSC_LOG_ERROR, "Reader %s Not Found", szReader); return rv; } /* * Make sure the reader is working properly */ rv = RFCheckReaderStatus(rContext); if (rv != SCARD_S_SUCCESS) re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

任涌重

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值