我目前试图通过使用存储私钥和公钥的bouncycastle lib(java或C#)和智能卡(epass2003)来生成CSR。如何使用存储在智能卡中的密钥生成CSR
我发现这个例子.Net Programmatically Sign PKCS#10 Request with Bouncy Castle工作得很好,但它是必要的,直接访问一对钥匙是不可能的,因为智能卡不允许访问他们的私钥。
任何人都可以通过使用智能卡中的一对钥匙来帮助生成CSR吗?
问候
我目前试图通过使用存储私钥和公钥的bouncycastle lib(java或C#)和智能卡(epass2003)来生成CSR。如何使用存储在智能卡中的密钥生成CSR
我发现这个例子.Net Programmatically Sign PKCS#10 Request with Bouncy Castle工作得很好,但它是必要的,直接访问一对钥匙是不可能的,因为智能卡不允许访问他们的私钥。
任何人都可以通过使用智能卡中的一对钥匙来帮助生成CSR吗?
问候
BouncyCastle拥有目前没有内置任何种类的智能卡支持,但是它提供了Org.BouncyCastle.Pkcs.Pkcs10CertificationRequestDelaySigned
类生成CSR可以由任何外部签署执行(即用私钥存储在智能卡上签名)。
这是从BouncyCastle的文档取Pkcs10CertificationRequestDelaySigned
类的描述:
一种用于创建和验证认证PKCS10请求类别(这是 上Pkcs10CertificationRequest一个扩展名)。请求使用延迟签名进行 。这对于私钥 密钥位于另一个环境且不可直接访问的情况(例如HSM)很有用。 因此,第一步创建请求,然后在该对象之外完成签名 ,然后使用该签名完成 请求。
你可以看一下我的Net.Pkcs11Interop.PkiUtils.CertificateRequest类,它是一个完整的代码示例,它使用存储在智能卡上的私钥对CSR进行签名。该代码使用Pkcs11Interop库,我是作者,访问智能卡和存储在其上的私钥。
哥们你是我的英雄:3 – Winter 2014-10-10 08:56:54