我使用SoftHSMv2作为安卓和个人电脑的密码库。我想使用Android设备替换USB令牌,并使用我的Android应用程序数据中存储的证书和密钥对在PC上签名。
只要将证书从Android导入到PC的证书存储区,PKCS#11就可以执行签名了吗?
我是否需要修改PKCS#11库来将数据推送到Android或任何其他修改?
发布于 2017-03-22 21:08:31
由于您没有指定您要针对的PC上的哪个操作系统,所以我假设Windows是其中之一。
Windows本身不支持PKCS#11标准,它有自己的名为CryptoAPI的接口。因此,如果要在Microsoft等程序中执行签名操作,则需要实现密码服务提供者或密钥存储提供程序。或者,如果您的android设备在系统中表示为智能卡,则可以实现智能卡迷你河。原理图是这样的:
Windows -> YOUR_CSP (or YOUR_KSP) -> pkcs11 -> anroid device
Windows -> Microsoft Base Smart Card Crypto Provider
(or Microsoft Smart Card Key Storage Provider) -> SCMinidriver -> pkcs11 ->android device
这里你可以得到SDK。
您还应该知道,并不是所有的程序都支持KSP (只有CSP)。
请注意,Windows 7及以下版本要求具有代码签名证书的CSP 必须签署。
https://stackoverflow.com/questions/42942720
复制相似问题