Openssl,engine_pkcs11,libp11/OpenSC

use*_*740 3 openssl pkcs#11 opensc

朋友们,我有一张智能卡,我想整合OpenSSL.计划通过OpenSSL中的"ENGINE"系统执行此操作.但是,我有一个理解的问题.有这样的事情这一事实engine_pkcs11,opensc,libp11,pkcs11-helper.有谁可以解释这种关系?首先是什么和什么编译?

写一个带有外部PKCS#11函数的库来将它连接到openssl是否足够?我必须获取库的源代码engine_pkcs11并修改它以适合我的卡?我需要这个opensc,libp11,pkcs11-helper?那么,为什么需要这些库呢?

另外,我应该注意到智能卡不支持RSA算法,它将是一个不同的算法!

真的很期待你的答案!

小智 7

需要通过OpenSCl和智能卡在opencl和智能卡之间进行交互的openssl引擎.

该引擎基于OpenSC构建于libp11之上,OpenSC是一个抽象/包装层/接口,基于pkcs#11标准API构建,用于实用.

从上到下我们有:

  • openssl(Openssl)
  • openssl pkcs#11引擎(由OpenSC提供)
  • libp11(OpenSC)
  • pkcs#11标准api(由RSA Laboratories提供)
  • pkcs#11模块(由智能卡供应商提供)

因此,在最佳情况下,您只需为特定的智能卡硬件编写pkcs#11模块,然后使用pkcs#11引擎加载它.

这里的问题是pkcs#11引擎目前只支持CKM_RSA_PKCS,所以,你可能还需要扩展当前的pkcs#11 openssl引擎.

更多信息,访问https://github.com/OpenSC/OpenSC/wiki