|  |  |  | # IAIK PKCS#11 Wrapper Version 1.2.18

This is a Java library which makes PKCS#11 (also known as Cryptoki) modules accessible from within Java. A PKCS#11 module is a software library. It usually comes with hardware security modules (HSM), smart cards and crypto tokens (e.g. USB tokens). Thus, the PKCS#11 Wrapper provides Java software access to almost any crypto hardware. For example, a Java application can use it to integrate a HSM or a smart card to create digital signatures, to decrypt data or to unwrap keys.

This library does not contain a provider implementation for the Java Cryptographic Architecture (JCA) framework. However, there is a different product which provides this — the IAIK PKCS#11 Provider.

The PKCS#11 Wrapper consists of a Java part consisting of Java classes and a native part which is a shared library. The native part is written in ANSI-C. It is precompiled for Windows, Linux, Solaris 8/9/10 and Mac OS X

The introduction document gives a brief introduction into the architecture of the library.

There is a programmer's manual giving a quick introduction for software developers. More details about the API and its use is in the JavaDoc of the API.

The FAQs provide answers to frequently asked questions and provide solutions for common problems.

The `src/java` directory contains the Java part of the library and the `examples` directory contains some demo programs. Please note that some of the samples use the IAIK-JCE library which is not part of the IAIK PKCS#11 Wrapper. There is also a sample applet in `applet-demo` which shows the usage of the wrapper in an applet. The `src/native` directory contains the native part of the library; i.e. the C source code of the shared library `pkcs11wrapper`. In the changes file, there is a list of all changes between the different versions of the wrapper. The best of all, we provide the IAIK PKCS#11 Wrapper under the terms of an Apache style license. This means, it can be used for free even in commercial environments.

Stiftung SIC. All rights reserved.