什么是口语?

时间:2011-09-13 03:06:11

标签: cryptography digital-signature devicetoken

我需要编写一个代码来检查etoken中存在的数字证书的有效性。 我不熟悉etokens。任何人都可以回答我的以下问题,

  1. 如何从etoken访问数字证书内容?
  2. 我们可以访问存储在etoken中的私钥吗?
  3. 当我们将etoken插入计算机时,是否将数字证书复制到计算机上?如果是,那么它在哪里复制呢?
  4. 我需要为此编写C ++程序。我们可以使用Microsoft提供的Cryptographic API(如CrypImportKey()CryptExportKey())来满足上述要求吗?

2 个答案:

答案 0 :(得分:3)

“etoken”是阿拉丁生产的首批USB密码架之一的名称。你要求的通常被称为security token。这是一个带有自己内存的硬件设备,其中存储了证书和私钥。

令牌需要安装驱动程序才能正常工作。驱动程序集包括用于CryptoAPI的CSP(加密服务提供程序)的实现。 CSP负责将存储在令牌中的证书呈现给CryptoAPI。回答你的问题:

  1. 通过CryptoAPI或PKCS#11接口(两者的驱动程序均由供应商提供)。
  2. 您可以通过调用适当的API对私钥执行某些操作。但关键本身并不可提取。
  3. 我不能肯定地说,但对我来说,看起来证书被复制到内存证书存储区以提高操作速度。

答案 1 :(得分:0)

关于您的第二个问题,我相信可以访问安全令牌上的私钥。安全令牌必须预先编程并以某种方式加载私钥。此外,我们最后一次更新证书时,我们使用发行人的Web界面在线完成,该界面安装了将新证书上传到设备的ActiveX模块。我不知道这个程序是否也上传了一个新密钥,但可能没有,因为我认为你不需要更改你的私钥来为自己创建一个新的公共证书(需要由发行人签名才能被信任)我相信)。

对不起,我可能没有多大意义,因为我对公钥基础设施的整体想法不熟悉。

如果其他人可以验证/宣告我的声明无效,请分享您的知识。

编辑:我发现了 Alladin 设备的硬件攻击:http://seclists.org/bugtraq/2000/May/48 基本上,可以在eToken上读取日期,但它需要一个直接的硬件接口来连接设备的板载内存。