Pkcs11Interop is managed library that:
- implements .NET wrapper for unmanaged PKCS#11 libraries
- is compliant with PKCS#11 v2.20 specification and RFC 7512 PKCS#11 URI scheme
- is compatible with .NET Framework 2.0 (and higher), Mono, Xamarin and Silverlight 5
- is supported on Windows, Linux, Mac OS X, Android and iOS
- is supported on both 32-bit and 64-bit platforms
- is available under both open-source and commercial licenses
- uses 100% managed and fully documented code
- contains code samples covering all methods of PKCS#11 API
- is directly supported by its original developer
PKCS#11 is cryptography standard maintained by the OASIS PKCS 11 Technical Committee (originally published by RSA Laboratories) that defines ANSI C API to access smart cards and other types of cryptographic hardware.
Pkcs11Interop is managed library written in C# that brings full power of PKCS#11 API to the .NET environment. It loads unmanaged PKCS#11 library provided by the cryptographic device vendor and makes its functions accessible to .NET application.
Pkcs11Interop has been confirmed to be working with the following devices:
- Atos CardOS (former Siemens CardOS) smartcard
- Thales nShield Solo (former nCipher nShield) HSM
- SoftHSM (virtual HSM from OpenDNSSEC project)
- Feitian ePass 2003 token
- SafeNet ProtectServer HSM
- SafeNet Luna SA HSM
- Utimaco CryptoServer HSM
- Belgian and Slovak eID cards
Pkcs11Interop API is fully documented with inline XML documentation that can be displayed by the most of the modern IDEs during the application development. Detailed Pkcs11Interop API documentation is also available online.
Pkcs11Interop source code contains NUnit tests covering all methods of PKCS#11 API. Tests are well documented and they also serve as official code samples.
Current stable version of Pkcs11Interop is 3.0.0:
Archives with source code are signed with GnuPG key of Jaroslav Imrich.
Assemblies in NuGet package are signed with code-signing certificate of Jaroslav Imrich.
Pkcs11Interop uses dual-licensing model:
- Licensing for open source projects: Pkcs11Interop is available under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
- Licensing for other types of projects: Pkcs11Interop is available under the terms of flexible commercial license. Please contact JWC s.r.o. at firstname.lastname@example.org for more details.
Pkcs11Interop is supported via following channels:
There are following official extensions and related projects available:
- Pkcs11Interop.PDF - Integration layer for Pkcs11Interop and iText (iTextSharp) libraries
with binaries at NuGet.org, sources at SF.net and issue tracker at GitHub.com
- PKCS11-LOGGER - PKCS#11 logging proxy module
with binaries and sources at SF.net and issue tracker at GitHub.com
- Pkcs11Admin - GUI tool for administration of PKCS#11 enabled devices
Brand new tool based on Pkcs11Interop library. Currently under the development.
Pkcs11Interop has been written by Jaroslav Imrich.
Commercial license and support are provided by Slovakia (EU) based company JWC s.r.o.