使用第三方CSP从cryptoApi或CAPICOM访问特定的ADPU功能

时间:2010-08-26 15:54:33

标签: smartcard cryptoapi capicom apdu

我在过去的两个月里一直没有成功,我觉得是时候在这里问了。

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

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

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

我查看了CSP提供的功能,但没有看到任何外部身份验证。我看到非APDU级外部auth的唯一地方是“Windows智能卡微型驱动器规范”,其中我看到的功能如:CardAuthenticateEx。 但我不知道如何称呼他们(他们在哪个dll)。 这些功能应该在CSP中吗?

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

查看https://cardboss.cometway.com了解详情。