sekimura / pyscard Goto Github PK
View Code? Open in Web Editor NEWmirror of http://sourceforge.net/projects/pyscard/
License: GNU Lesser General Public License v2.1
mirror of http://sourceforge.net/projects/pyscard/
License: GNU Lesser General Public License v2.1
------------------------------------------------------------------------------- pyscard smartcard library for python ------------------------------------------------------------------------------- http://pyscard.sourceforge.net/ ------------------------------------------------------------------------------- Copyright 2001-2010 gemalto Author: Jean-Daniel Aussel, mailto:[email protected] This file is part of pyscard. pyscard is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. pyscard is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with pyscard; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ------------------------------------------------------------------------------- Last update : pyscard 1.6.12 (August 2010) ------------------------------------------------------------------------------- pyscard is a python module adding smart cards support to python. It consists of the smartcard.scard module, an extension module wrapping Windows smart card base components (also known as PCSC) on Windows, and PCSC lite on linux and Mac OS X Tiger, and of the smartcard module, a python framework with objects wrapping PCSC API. ------------------------------------------------------------------------------- Documentation ------------------------------------------------------------------------------- All documentation is provided in the smartcard/doc directory of the source distribution. Examples are provided in the smartcard/Examples directory of the source distribution. The binary distribution does not include any documentation, tests scripts or examples. ------------------------------------------------------------------------------- Installation ------------------------------------------------------------------------------- The pyscard library is packaged using the standard distutils python module. Installation on windows ----------------------- Installing on windows from the binary distribution -------------------------------------------------- 1. download the binary msi installer or self-executable installer 2. execute the installer The binary msi installer and self-executable installer are packaged for a specific version of python, and have name similar to pyscard-1.6.12.win32-py2.5.msi and pyscard-1.6.12.win32-py2.5.exe for python 2.5. Installing on windows from the source distribution --------------------------------------------------- 1. you will need swig 1.3.31 from http://www.swig.org, and a C compiler. By default, Visual Studio 2003 is required for building the c language wrapper for python 2.5, and Visual Studio .Net or VisualC++ 6 for python 2.4. You might use another release by fiddling with the python/Lib/distutils/msvccompiler.py file that detects the compiler. 2. download the source distribution The source distribution is available as pyscard-1.6.12.zip for windows, and pyscard-1.6.12.tar.gz for linux. 3. unzip the source distribution, open a console and type the following: setup.py build_ext install This will build pyscard and install it in the site-packages directory of your python distribution, e.g. c:\python25\Lib\site-packages\smartcard. This install procedure does not install the documentation, examples or test files. Installation on linux: ---------------------- Installing on linux from the binary distribution: ------------------------------------------------- 1. download the binary distribution The binary distribution is either an archive file or a rpm file, with names similar to pyscard-1.6.12-1.i386.rpm for the rpm distribution, or pyscard-1.6.12.linux-i686.tar.gz for the archive distribution. 2. untar the binary distribution With root privilege from a terminal, extract the archive from /, or install the rpm. Installing on linux from the source distribution ------------------------------------------------ 1. you will need gcc, swig 1.3.31 (http://www.swig.org), and pcsc-lite (http://pcsclite.alioth.debian.org/) 2. download the source distribution The source distribution is available as pyscard-1.6.12.zip or pyscard-1.6.12.tar.gz. 3. untar the source distribution 4. from a terminal with root privileges, type the following: /usr/bin/python setup.py build_ext install This will build pyscard and install it in the site-packages directory of your python distribution, e.g. /usr/lib/python2.4/site-packages/smartcard. Installation on Max OS X Tiger: -------------------------------- The Mac OS X Tiger support is experimental on pyscard 1.6.12. It was developed and tested on a i386 MacBook Pro. Please drop me a mail if you succeed on a ppc MacBook. Installing on Mac OS X Tiger from the binary distribution: ---------------------------------------------------- 1. download the binary distribution The binary distribution is an archive file, with a name similar to pyscard-1.6.12-py-2.3-macosx10.4.mpkg or pyscard-1.6.12-py-2.5-macosx10.4.mpkg. 2. Open the package and proceed with installation. Python 2.3 is pre-installed, so install pyscard-1.6.12-py-2.3-macosx10.4.mpkg if you did not install another release of python. Install pyscard-1.6.12-py-2.5-macosx10.4.mpkg if you installed python 2.5. Installing on Mac OS X Tiger from the source distribution ---------------------------------------------------------- 1. you will need swig 1.3.31 (http://www.swig.org); gcc and pcsc-lite are available out of the box on Max OS X Tiger 2. download the source distribution The source distribution is available as pyscard-1.6.12.zip or pyscard-1.6.12.tar.gz. 3. untar or unzip the source distribution 4. from a terminal, type the following: sudo python setup.py build_ext install This will build pyscard and install it in the site-packages directory of your python distribution, e.g. /System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/lib/site-packages/smartcard Installation on Max OS X Leopard: --------------------------------- The Mac OS X Leopard support is experimental on pyscard 1.6.12. It was developed and tested on a i386 MacBook Pro. Please drop me a mail if you succeed on a ppc MacBook. Installing on Mac OS X Leopard from the binary distribution: ---------------------------------------------------- 1. download the binary distribution The binary distribution is an archive file, with a name similar to pyscard-1.6.12-py-2.5-macosx10.5.mpkg. 2. Open the package and proceed with installation. Installing on Mac OS X Leopard from the source distribution ------------------------------------------------------------ 1. you will need swig 1.3.31 (http://www.swig.org); gcc and pcsc-lite are available out of the box on Max OS X Leopard 2. download the source distribution The source distribution is available as pyscard-1.6.12.zip or pyscard-1.6.12.tar.gz. 3. untar or unzip the source distribution 4. from a terminal, type the following: sudo python setup.py build_ext install This will build pyscard and install it in the site-packages directory of your python distribution, e.g. /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.3/lib/site-packages/smartcard ------------------------------------------------------------------------------- Developer documentation, unit tests and examples ------------------------------------------------------------------------------- The developer documentation is in the smartcard/doc directory of the source distribution. Examples are located in the smartcard/Examples directory, and the pyunit unit tests in the smartcard/test directory. ------------------------------------------------------------------------------- Build instructions for packagers ------------------------------------------------------------------------------- Building a binary distribution for Windows ------------------------------------------ To build a binary distribution from the source distribution, you will need a C compiler and swig 1.3.31 (same requirements as for installing from the source distribution). In the root directory of the source distribution, execute the following command in a console: setup.py build_ext bdist_msi setup.py build_ext bdist_wininst This will build the msi installer and self-executable installer in the dist directory, with names similar to pyscard-1.6.12.win32-py2.5.msi and pyscard-1.6.12.win32-py2.5.exe for python 2.5, and pyscard-1.6.12.win32-py2.4.msi and pyscard-1.6.12.win32-py2.4.exe for python 2.4. Building a binary distribution for linux ---------------------------------------- To build a binary distribution from the source distribution, you will need gcc, swig 1.3.31 and pcsc-lite (same requirements as for installing from the source distribution). In the root directory of the source distribution, execute the following command in a terminal: /usr/bin/python setup.py build_ext bdist This will build a package similar to pyscard-1.6.12.linux-i686.tar.gz containing a tree Building a rpm distribution for linux ---------------------------------------- To build a rpm distribution from the source distribution, you will need gcc, swig 1.3.31 and pcsc-lite (same requirements as for installing from the source distribution). In the root directory of the source distribution, execute the following command in a terminal: /usr/bin/python setup.py build bdist_rpm If you have rpm 4.1 or above, you will need to add the %_unpackaged_files_terminate_build 0 options to the /etc/rpm/macros file, e.g.: echo "%_unpackaged_files_terminate_build 0" >> /etc/rpm/macros This will build in the dist directory a binary distribution with a name similar to pyscard-1.6.12-1.i386.rpm. Building a binary distribution for Mac OS X Tiger ------------------------------------------------- To build a binary distribution from the source distribution, you will need swig 1.3.31 (same requirements as for installing from the source distribution) and bdist_mpkg 0.4.3 (http://cheeseshop.python.org/pypi/bdist_mpkg/). If you are using the pre-installed python 2.3 distribution, in the root directory of the source distribution, i.e. in the src directory, execute the following commands in a terminal: python setup.py build_ext /System/Library/Frameworks/Python.Framework/Versions/2.3/bin/bdist_mpkg setup.py This will build package pyscard-1.6.12-py-2.3-macosx10.4.mpkg. If you are using python 2.5, in the root directory of the source distribution, i.e. in the src directory, execute the following commands in a terminal: python setup.py build_ext /Library/Frameworks/Python.Framework/Versions/2.5/bin/bdist_mpkg setup.py This will build package pyscard-1.6.12-py-2.6-macosx10.4.mpkg. Building a binary distribution for Mac OS X Leopard --------------------------------------------------- To build a binary distribution from the source distribution, you will need swig 1.3.31 (same requirements as for installing from the source distribution) and bdist_mpkg 0.4.3 (http://cheeseshop.python.org/pypi/bdist_mpkg/). Apply the following patch to tools.py of bdist_mpkg package: ===== patch start === diff -rNu bdist_mpkg-0.4.3/bdist_mpkg/tools.py bdist_mpkg-0.4.3.leopard/bdist_mpkg/tools.py --- bdist_mpkg-0.4.3/bdist_mpkg/tools.py 2006-07-09 00:39:00.000000000 -0400 +++ bdist_mpkg-0.4.3.leopard/bdist_mpkg/tools.py 2008-08-21 07:43:35.000000000 -0400 @@ -79,15 +79,12 @@ yield os.path.join(root, fn) def get_gid(name, _cache={}): - if not _cache: - for line in os.popen('/usr/bin/nidump group .'): - fields = line.split(':') - if len(fields) >= 3: - _cache[fields[0]] = int(fields[2]) - try: - return _cache[name] - except KeyError: - raise ValueError('group %s not found' % (name,)) + for line in os.popen("dscl . -read /Groups/" + name + " PrimaryGroupID"): + fields = [f.strip() for f in line.split(':')] + if fields[0] == "PrimaryGroupID": + return fields[1] + + raise ValueError('group %s not found' % (name,)) ===== patch end ======== This patch is required since Mac OS X Leopard does not have the nidump command any more. Install bdist_mpkg by executing the bdist_mpkg setup.py script with build and install as arguments, i.e. from the root directory of the bdist_mpkg source distribution enter: python setup.py build install. For python 2.5, from the root directory of the pyscard source distribution, i.e. in the src directory, execute the following commands in a terminal: python setup.py build_ext /Library/Frameworks/Python.Framework/Versions/2.5/Extras/bin/bdist_mpkg setup.py This will build package pyscard-1.6.12-py-2.5-macosx10.5.mpkg. For python 2.6, from the root directory of the pyscard source distribution, i.e. in the src directory, execute the following commands in a terminal: python setup.py build_ext /Library/Frameworks/Python.framework/Versions/2.6/bin/bdist_mpkg setup.py This will build package pyscard-1.6.12-py-2.6-macosx10.5.mpkg. ------------------------------------------------------------------------------- Issue Tracking ------------------------------------------------------------------------------- If you encounter a bug, please report it in the SourceForge bug tracker at http://sourceforge.net/tracker/?group_id=196342&atid=957072 https://sourceforge.net/tracker/?group_id=196342&atid=957072 -jda
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.