# Department of Defense Common Access Card PKCS#11 Provider

CACKey is a compliant library that provides access to the cryptographic and certificate functions US Goverment Smartcards (cards that comply to Government Smart Card Interoperability Specification v2.1). It supports all versions of the Department of Defense Common Access Card (CAC) and US Government Personal Identity Verification (PIV) cards (starting with release 0.7.0).

It requires a PC/SC interface to the smartcard. This can be provided by PCSC-Lite, the SunRay PCSC-Lite, or the Microsoft Windows Native PC/SC Driver.

CACKey has been tested on and is released in binary form for the following platforms:

| Operating System | CPU Architecture   | Tested Version |
|------------------|--------------------|----------------|
| Debian / Ubuntu  | x86_64             | |
| Debian / Ubuntu  | x86                | |
| RedHat / CentOS  | x86_64             | |
| RedHat / CentOS  | x86                | |
| Windows          | x86                | |
| Windows          | x86_64             | |
| Mac OS X         | ppc, ppc64, x86_64 | |
| Chrome OS        | x86_64 / arm       | |

Additionally it has been tested on Solaris and Linux and can be downloaded and compiled from source for these platforms:

| Operating System | CPU Architecture   | Tested Version |
|------------------|--------------------|----------------|
| Solaris          | All                | |
| Linux            | All                | |


As of version 0.6.1, the Mac OS X version of CACKey includes a _Tokend_ to handle PKCS#11 providers. This is especially important on Mac OS X v10.7 (Lion).