连接金雅拓智能卡时出现错误 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的主要内容,如果未能解决你的问题,请参考以下文章