SoftHSM is an implementation of a cryptographic store accessible through a PKCS#11 interface, using Botan for its cryptographic operations. You can use it to explore PKCS#11 without having a Hardware Security Module.