连接金雅拓智能卡时出现错误 6

Posted

技术标签:

【中文标题】连接金雅拓智能卡时出现错误 6【英文标题】:Error 6 when connecting Gemalto smart card 【发布时间】:2013-05-22 08:12:40 【问题描述】:

我是智能卡开发的新手。我想做的是, 1>获取读卡器的名称。 2>在读卡器中连接卡。 3>使用 c# 更改卡的管理员密钥。

对于第一点,我使用了 winscard.DLL- 函数 SCardListReaders。它运作良好。 现在进行下一步,我尝试使用 winscard.dll 的 -SCardConnect 函数。

但是当我运行它时,它返回“6”,但它应该返回 0。我真的很困惑。 任何想法,这意味着什么?我在哪里做错了? 请帮忙。 提前谢谢你。

【问题讨论】:

【参考方案1】:

您可以参考here 了解智能卡返回值。如果未列出,您可以参考here 获取系统错误代码。

错误代码 6 是 ERROR_INVALID_HANDLE。尝试检查您的操作系统(32 位或 64 位)和智能卡驱动程序(32 位或 64 位)。确保它们相同。此外,请检查您的代码是否使用了正确的变量类型。

【讨论】:

感谢您的回答。它有帮助。是否可以通过 apdu 命令更新管理员密钥....有什么想法吗? 是的,有可能。通常,管理员密钥受到校验和、专有 CLA 和 INS 或特定 APDU 序列的保护。请注意,这取决于很少共享的供应商实现。

以上是关于连接金雅拓智能卡时出现错误 6的主要内容,如果未能解决你的问题,请参考以下文章

json 金雅拓物联网应用支持平台API

如何读写未知的智能卡?

安装有和没有安装小程序的智能卡之间的区别?

部署智能合约时出现节点错误 - Web3.js

在指向向量的智能指针上使用 push_back() 时出现运行时错误

为啥在尝试从节点脚本部署以太坊智能合约时出现“无效发件人”(-32000)?