PKCS#11 Wrapper For Java: From IAIK
PKCS#11 Wrapper For Java: From IAIK
from IAIK
http://jce.iaik.tugraz.at
Version 1.4
6 March 2015
Introduction
Introduction
This is a library to access PKCS#11 modules from the Java programming language
[3]. It uses the Java Native Interface [4] to access the PKCS#11 modules of smart
cards or other hardware security modules (HSM). People at IBM had the idea of
implementing such a wrapper much earlier. Their wrapper [5] also works very well,
but one cannot use their implementation for commercial purposes or redistribute it for
any other purpose.
Please notice that this library does not come with a JCA or JCE provider
implementation. For this purpose there is a different product the IAIK PKCS#11
Provider [1].
The documentation of this library assumes that the reader is familiar with the basic
principles of PKCS#11. There is a general overview chapter in the PKCS#11
specification from RSA Laboratories [2]. It gives a brief introduction into the basics
of PKCS#11.
iaik.pkcs.pkcs11
iaik.pkcs.pkcs11.objects
iaik.pkcs.pkcs11.parameters
iaik.pkcs.pkcs11.wrapper
pkcs11wrapper.c
Figure 1
Includes:
Full source of all components under an Apache-style license as well as precompiled
binaries for Windows, Linux, Solaris 8/9/10 and Mac OS X.
Requirements:
JDK 1.3 or higher, GNU make for building the project using the included make files,
MS VC++ 6.0 for building the DLLs for Windows, GCC for building the shared
libraries
for
Linux
and
Solaris
(or
SUN
C
compiler).
Some of the included demo programs require the IAIK-JCE to compile and run.
Simply place the iaik_jce_full.jar in the examples\lib directory.
License
We provide this software under an Apache style license. The complete license text is
as follows.
Copyright (c) 2002 Graz University of Technology. All rights
reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The end-user documentation included with the redistribution, if
any, must include the following acknowledgment:
"This product includes software developed by IAIK of Graz
University of Technology."
Alternately, this acknowledgment may appear in the software
itself, if and wherever such third-party acknowledgments normally
appear.
4. The names "Graz University of Technology" and "IAIK of Graz
University of Technology" must not be used to endorse or promote
products derived from this software without prior written
permission.
5. Products derived from this software may not be called "IAIK PKCS
Wrapper", nor may "IAIK" appear in their name, without prior
written permission of Graz University of Technology.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
References
[1] IAIK Java Cryptography Toolkits,
http://jce.iaik.tugraz.at/
[2] PKCS#11, Version 2.11 and Version 2.20,
http://www.cryptsoft.com/pkcs11doc/
[3] Java 3 Platform, by Oracle,
http://www.oracle.com/technetwork/java/javase
[4] Java Native Interface 1.3, by Oracle,
http://docs.oracle.com/javase/7/docs/technotes/guides/jni/
[5] PKCS#11 API for Java, by IBM Alphaworks,
http://alphaworks.ibm.com/