0

我已经尝试了过去 2 个月没有成功,我想是时候在这里问了。

我有一张智能卡,并从我的客户那里得到了一个CSP。我有描述我可以(并且知道如何)运行的APDU 命令的文档。

我需要将小文件(数据)保存到卡中,例如姓名、地址、照片等。然后保存证书。

在我读到的文档中,您必须进行外部身份验证才能稍后使用安全消息传递来访问卡上的文件。我在相互身份验证算法的某个地方有错误(需要计算 MAC、DES、TRIPPLE DES 等,我已经尝试了几周才能让它工作......)我知道如何在卡上做所有事情,除了需要相互验证的功能验证。

我查看了 CSP 提供的功能,并没有看到任何外部身份验证。我看到非 APDU 级别外部身份验证的唯一地方是在“Windows 智能卡微型驱动程序规范”中,我看到的功能如下:CardAuthenticateEx。但我不知道如何调用它们(它们在哪个 dll 中)。这些功能是否应该在 CSP 中?

当我拥有 CSP 时,使用 APDU 命令进入低级别是错误的方法吗?我应该改用 CryptoAPI 还是 CAPICOM?如果是这样,那么如果没有(或我找不到)可以写入文件的函数,我如何进行外部身份验证和使用文件。(同样,所有这些功能都在“Windows 智能卡微型驱动程序规范”中。

4

1 回答 1

1

许多智能卡遵循全球平台规范,这(取决于卡上安装的小程序以及它们的配置方式)可能需要在与卡通信之前进行安全握手。

如果您需要将文件写入卡,您将不会使用 CSP。CSP 通过将某些加密调用重新路由到卡的处理器来支持操作系统级别的加密交互。要写入卡上的文件,您将向执行以下功能的卡发送 APDU:

  • 使用卡进行身份验证
  • (可选)使用 AID(小程序 ID)选择小程序/卡片
  • 选择目录
  • 选择一个文件
  • 将数据写入文件

我的公司为 IE 和 Firefox 浏览器制作了一个插件来帮助解决这个问题,它包括全球平台的握手功能,我们的网站上有一个“沙盒”表单,可以让您测试您的脚本以进行卡片交互。

查看https://cardboss.cometway.com了解更多信息。

于 2010-09-24T21:31:16.340 回答