blob: 607ea7f4969e0a67843a33684b5047bf1da5d6a5 [file] [log] [blame]
opencryptoki README
Package version 2.2.4
Authors:
Mike Halcrow <mhalcrow@us.ibm.com>
Kent Yoder <yoder1@us.ibm.com>
Daniel H Jones <danjones@us.ibm.com>
OVERVIEW
openCryptoki version 2.2 implements the PKCS#11 specification version
2.11. This package includes several cryptographic tokens, including
the IBM ICA token (requires libICA, which supports zSeries CPACF and
LeedsLite hardware) and an OpenSSL-based software token.
REQUIREMENTS
- SW token: OpenSSL version 0.9.7 or higher
- ICA token: libICA version 1.3.6 or higher
BUILD PROCESS
The simplest way to compile this package is to enter the source code
main directory and do the following:
1. Run the bootstrap.sh script by typing:
% sh bootstrap.sh
2. Configure the source code by typing:
% sh ./configure
If you're planning to install the package into your home directory
or to a location other than `/usr/local' then add the flag
`--prefix=PATH' to `configure'. For example, if your home directory
is `/home/luser' you can configure the package to install itself there
by invoking:
% sh ./configure --prefix=/home/luser
If your stdll headers and libraries are not under any standard
path, you will need to pass the paths to your files to the
configure script. For instance:
$ CPPFLAGS="-L/path/lib" LDFLAGS="-I/path/include" ./configure
See ./configure --help for info on various options. The default
behavior is to build a default token implicitly. For the s390
platform, the default token is ica_s390. For other platforms, the
default token is the software token. Other tokens may be enabled
using the corresponding --enable-<tok> configuration option
provided the appropriate libraries are available.
While running, `configure' prints some messages telling which
features is it checking for.
3. Compile the package by typing:
% make
4. Type `make install' to install the programs and any data files and
documentation. During installation, the following files go to the
following directories:
/prefix/sbin/pkcs11_startup
/prefix/sbin/pkcs_slot
/prefix/sbin/pkcsconf
/prefix/sbin/pkcsslotd
/prefix/libdir/libopencryptoki.so
/prefix/libdir/libopencryptoki.so.0
/prefix/libdir/opencryptoki/libopencryptoki.so
/prefix/libdir/opencryptoki/libopencryptoki.so.0
/prefix/libdir/opencryptoki/libopencryptoki.so.0.0.0
/prefix/var/lib/opencryptoki
Token objects, which may be optionally built, go to the following
locations:
/prefix/libdir/opencryptoki/stdll/libpkcs11_ica.so
/prefix/libdir/opencryptoki/stdll/libpkcs11_ica.so.0
/prefix/libdir/opencryptoki/stdll/libpkcs11_ica.so.0.0.0
/prefix/libdir/opencryptoki/stdll/libpkcs11_sw.so
/prefix/libdir/opencryptoki/stdll/libpkcs11_sw.so.0
/prefix/libdir/opencryptoki/stdll/libpkcs11_sw.so.0.0.0
/prefix/libdir/opencryptoki/stdll/libpkcs11_tpm.so
/prefix/libdir/opencryptoki/stdll/libpkcs11_tpm.so.0
/prefix/libdir/opencryptoki/stdll/libpkcs11_tpm.so.0.0.0
where `prefix' is either `/usr/local' or the PATH that you specified
in the `--prefix' flag. `libdir' is the name of the library
directory; for 32-bit libraries it is usually `lib' and for
64-bit libraries it is usually `lib64'.
To maintain backwards compatibility, some additional symlinks
are generated (note that these are deprecated, and applications
should migrate to use the LSB-compliant names and locations for
libraries and executables):
/prefix/lib/opencryptoki/PKCS11_API.so
- Symlink to /prefix/lib/opencryptoki/libopencryptoki.so
/prefix/lib/opencryptoki/stdll/PKCS11_ICA.so
- Symlink to /prefix/lib/opencryptoki/stdll/libpkcs11_ica.so
/prefix/lib/opencryptoki/stdll/PKCS11_SW.so
- Symlink to /prefix/lib/opencryptoki/stdll/libpkcs11_sw.so
/prefix/lib/pkcs11/PKCS11_API.so
- Symlink to /prefix/lib/opencryptoki/libopencryptoki.so
/prefix/lib/pkcs11
- Directory created if non-existent
/prefix/lib/pkcs11/methods
- Symlink to /prefix/sbin
/prefix/lib/pkcs11/stdll
- Symlink to /prefix/lib/opencryptoki/stdll
/prefix/etc/pkcs11
- Symlink to /prefix/var/lib/opencryptoki
If any of these directories do not presently exist, they will be
created on demand. Note that if ``prefix'' is ``/usr'', then
/prefix/var and /prefix/etc resolve to /var and /etc. On the
``make install'' stage, if content exists in the old
/prefix/etc/pkcs11 directory, it will be migrated to the new
/prefix/var/lib/opencryptoki location.
If you are installing in your home directory make sure that
`/home/luser/bin' is in your path. If you're using the bash shell
add this line at the end of your .cshrc file:
PATH="/home/luser/bin:${PATH}"
export PATH
If you are using csh or tcsh, then use this line instead:
setenv PATH /home/luser/bin:${PATH}
By prepending your home directory to the rest of the PATH you can
override systemwide installed software with your own custom installation.
RUNNING
See:
http://www-128.ibm.com/developerworks/security/library/s-pkcs/index.html
openCryptoki defaults to be usable by anyone who is in the group
``pkcs11''.
In this version of openCrypoki, the default SO PIN is 87654321,
and the default user PIN is 12345678. These should both be
changed to different PIN values before use. You can change the
SO PIN by running pkcsconf:
% pkcsconf -I
You can change the user PIN by typing:
% pkcsconf -u
You can select the token with the -c command line option; refer
to the documentation linked to above for further instructions.