Skip to main content
::

_ _ _____ _ _____ _
| | | | / ____| | | / ____| | |
| | | | _____| (___ _ __ ___ __ _ _ __| |_| | __ _ _ __ __| |
| | | | |______\___ \| '_ ` _ \ / _` | '__| __| | / _` | '__/ _` |
| |____| |____ ____) | | | | | | (_| | | | |_| |___| (_| | | | (_| |
|______|______| |_____/|_| |_| |_|\__,_|_| \__|\_____\__,_|_| \__,_|

Authors: Chad Spensky (chad.spensky@ll.mit.edu)
Hongyi Hu (hongyi.hu@ll.mit.edu)

Contents
========

- examples/ Some example scripts on how to use the library to interact
with various smartcards

- docs/ Contains some useful documents when working with smart cards
that define some of the APDUs and RIDs.

Install
=======

- Install `pyDes <https://pypi.python.org/pypi/pyDes/>`__ python
library

- Install `pyscard <http://pyscard.sourceforge.net/>`__ python library

- Install PC/SC >$ sudo apt-get install pcsc-tools pcscd

- To install all of these just run: >$ ./install\_dependencies.sh

Usage
=====

- For developing your own smart card application using llsmartcard, see
template.py

- See ``examples/``

Certificates
============

This section discusses how to work with the certificates on the CAC.

- Extract Certificates python cac\_crypto.py -x test

- Working with certs (Referenced from
`here <http://www.devco.net/archives/2006/02/13/public_-_private_key_encryption_using_openssl.php>`__).

- Encrypt >$ openssl pkeyutl -encrypt -in -pubin -inkey [input public
key] -out [output file]

- Extract Public Key >$ openssl x509 -inform DER -pubkey -in [input
certificate] > output.key

- Example using certs:

$ echo "Hello World!" > input.txt

$ python cac\_crypto.py -E -k test/cac/cac\_pki\_enc.pub -i
input.txt -o input\_encrypted.ssl

$ python cac\_crypto.py -D -i input\_encrypted.ssl -c KEY\_PKI\_ENC
-o input\_decrypted.txt -p 77777777

Notes
=====

- Certificates are returned in gzipped form. > $ gunzip [cert.gz]

- Certificates are in DER form > $ openssl x509 -inform DER -in [cert]
> $ openssl x509 -issuer -email -startdate -enddate -inform DER -in
[cert] > $ openssl x509 -inform DER -noout -text -in [cert]

Disclaimer
==========

.. raw:: html

<p align="center">

This work is sponsored by the Defense Information Systems Agency under
Air Force Contract #FA8721-05-C-0002. Opinions, interpretations,
conclusions and recommendations are those of the author and are not
necessarily endorsed by the United States Government. © 2015
Massachusetts Institute of Technology

.. raw:: html

</p>

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llsmartcard-ph4-1.1.1.tar.gz (22.5 kB view details)

Uploaded Source

File details

Details for the file llsmartcard-ph4-1.1.1.tar.gz.

File metadata

File hashes

Hashes for llsmartcard-ph4-1.1.1.tar.gz
Algorithm Hash digest
SHA256 2141e2a428f9df9e45b15beeaad2bc8b87fbe2e1e965d69ddf5105e7f5a7ba7c
MD5 023d030ff27b4b9048255005fd441d1a
BLAKE2b-256 774173e1f4227a3de95fc10d95848716917b9985ebc0cdcbe24f5d9db227a47b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.1 This release

1 file

1.1.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page