使用pkcs11库

时间:2015-11-11 20:26:54

标签: certificate ms-office sign digital-certificate pkcs#11

我有一个与供应商的智能卡联系的PKCS#11库。我没有提供低级别的详细信息,我对它们也不感兴趣。

顺便说一下,智能卡没有与之相关的内部证书,它只是一张带有私钥存储的哑巴智能卡。

所以我的问题是:

  1. 我应该编写什么样的代码来从PKCS#11库中获取证书,还是需要编写这样的代码? PKCS#11是否支持导出证书?(我听说openssl支持使用第三方PKCS#11库。我可以用它来从智能卡导出证书吗?)

  2. 如果上一个问题的答案是肯定的,那么证书的格式是什么?为了将原始创建的证书转换为办公室支持的格式证书,我应该进行哪些转换?

  3. 最后一个问题是如何将该证书应用到microsoft office(2013)以便对文档进行数字签名?看起来办公室本身并不喜欢内部证书,并且它一直要求我们从verisign(?)那里得到一个错误,我怎么能强迫办公室使用我自己创建的证书使用上述方法

1 个答案:

答案 0 :(得分:1)

PKCS#11接口允许您从硬件中读取("导出")证书。但是,您不仅需要证书,还需要私钥。大多数硬件设备都不允许您导出私钥。 PKCS#11具有一组功能,允许您使用存储在硬件中的私钥执行加密操作,但不能导出这些密钥。

证书通常以原生DER格式导出,以后可以将其放入PFX文件中。但是,如果没有私钥,它就没有意义。

不幸的是,我不知道MS Office的期望。我假设您的案例中的Office仅接受可以在受信任的根证书之前验证的证书。