empty-pkcs11
empty-pkcs11 copied to clipboard
PKCS#11 library with the simplest possible implementation
EMPTY-PKCS11
PKCS#11 library with the simplest possible implementation
Table of Contents
- Overview
- Download
- Building the source
- Windows
- Linux
- Mac OS X
- Android
- iOS
- License
- About
Overview
EMPTY-PKCS11 is minimalistic C library that implements PKCS#11 v2.20 API in the simplest possible way - all PKCS#11 functions except C_GetFunctionList function return CKR_FUNCTION_NOT_SUPPORTED return value.
It has been tested on several desktop and mobile platforms and as such can be used as a lightweight skeleton for the development of portable PKCS#11 libraries.
Download
Signed precompiled binaries as well as source code releases can be downloaded from releases page.
Archives with source code are signed with GnuPG key of Jaroslav Imrich.
Windows libraries are signed with code-signing certificate of Jaroslav Imrich.
Building the source
Windows
Execute the build script on a 64-bit Windows machine with Visual Studio 2017 Community (or newer) installed:
cd build/windows/
build.bat
The script should use Visual Studio to build both 32-bit (empty-pkcs11-x86.dll) and 64-bit (empty-pkcs11-x64.dll) versions of the library.
Linux
Execute the build script on a 64-bit Linux machine with GCC, GNU Make and GCC multilib support installed (available in build-essential and gcc-multilib packages on Ubuntu 18.04 LTS):
cd build/linux/
sh build.sh
The script should use GCC to build both 32-bit (empty-pkcs11-x86.so) and 64-bit (empty-pkcs11-x64.so) versions of the library.
Mac OS X
Execute the build script on a 64-bit Mac OS X machine with Xcode and its "Command Line Tools" extension installed:
cd build/osx/
sh build.sh
The script should use GCC to build both 32-bit (empty-pkcs11-x86.dylib) and 64-bit (empty-pkcs11-x64.dylib) versions of the library.
Android
Execute the build script on a 64-bit Windows machine with Android NDK r19 (or newer) unpacked in C:\android-ndk folder:
cd build/android/
build.bat
The script should use Android NDK to build the library for all supported architectures. Results will be located in libs directory and its subdirectories.
iOS
Execute the build script on a 64-bit Mac OS X machine with Xcode and its "Command Line Tools" extension installed:
cd build/ios/
sh build.sh
The script should use Xcode to build Mach-O universal binary (libempty-pkcs11.a) usable on all supported architectures.
License
EMPTY-PKCS11 is available under the terms of the Apache License, Version 2.0.
Human friendly license summary is available at tldrlegal.com but the full license text always prevails.
About
EMPTY-PKCS11 has been developed as a part of Pkcs11Interop project by Jaroslav Imrich.
Please visit project website - pkcs11interop.net - for more information.