我的C#.NET4程序已将数据存储在常规Windows文件系统上的加密文件中,我们的一位客户要求我们将程序与PKCS#11令牌(以下称为“令牌”)集成。经过一番研究,我发现了NCryptoki,我相信它将在我的程序和兼容的令牌之间提供必要的接口。
我有几个问题似乎无法找到答案,我希望这里有经验的人可以帮助我。我对PKCS#11和密码学原理一般都是新手,因此其中一些问题可能看起来有些少年。
另外,如果这不是正确的地方,请告诉我重新发布的地方。我感谢所有的帮助!
答案 0 :(得分:2)
虽然PKCS#11支持在设备上存储应用程序数据,但设备本身(我现在谈论的是USB cryptotokens和智能卡)是为不同目的而设计的。特别是,它们旨在保存一小部分秘密或敏感数据。它们不是数据存储。一些供应商提供混合令牌,其中USB cryptotoken与闪存盘相结合。但即使在这种情况下,在一种情况下这些将是两个设备。
您的方案可能会以下列方式进行修改,以便您:
旁注:几乎所有的密码设备都要求将其驱动程序安装到系统中。与USB磁盘和闪存卡不同,操作系统中没有通用驱动程序可以让您插入USB密码并立即使用它而无需安装驱动程序。从用户的角度来看,这是一个麻烦,所以也要考虑到这一点。
答案 1 :(得分:0)
虽然NCryptoki很好并且您可能没有使用它的问题,但我建议您查看PKCS11Interop。它经过完全的单元测试,甚至单元测试都记录在案,并作为示例。使用它是一种快乐:)(免责声明:我不是这个库的作者。我恰好认识了作者并且一直在使用这个库。)