【发布时间】:2017-01-31 21:51:13
【问题描述】:
我是智能卡编程的新手,我想开发一个特定的应用程序。
我想使用非接触式智能卡并开发具有以下功能的应用程序:
- 我希望能够将一个私钥写入非接触式智能卡,这应该是无法提取的。
- 我希望能够将输入发送到智能卡,然后使用存储在智能卡上的私钥生成数字签名,并将输入发送到智能卡。然后应将数字签名的结果作为输出发送。
- 对于数字签名算法 (ECDSA),我希望能够定义或将椭圆曲线写入智能卡。
我已经购买了一些基本硬件来启动项目,但我不确定我购买的硬件是否与我心目中的应用程序兼容。
对于读者/作家,我购买了: ACR1251
对于非接触式智能卡,我购买了这种类型的卡: 复旦08 M1S50配FM1108芯片
在阅读了智能卡编程文档后,我对智能卡可以支持哪些内容感到困惑。据我了解,智能卡的操作系统是由制造商定义的,不能更改或扩展。也无法添加其他操作系统。操作系统还准确定义了卡支持哪些 APDU 命令。 因此,我的问题是,我请求的功能是否可以用我当前的硬件实现?
如果没有,我将非常感谢有关哪种类型的智能卡能够支持我请求的功能的提示。在尝试自己寻找答案时,我发现 JavaCards 支持椭圆曲线密码术。如果我当前的智能卡不支持我请求的功能,Java Cards 是一个很好的替代方案,可以让我自己定义椭圆曲线吗?
如果我能找到任何其他有用的提示,例如要研究的特定 APDU 命令或其他有用的开发提示,我们将不胜感激!
提前谢谢你。
【问题讨论】:
标签: smartcard javacard apdu contactless-smartcard