1.1 前言
本文介绍的是德卡D3的读卡器在浏览器中通过Applet完成对M1卡的读取,通过JS将数据发送给服务器的完整实现过程,代码将以附件形式上传。
1.2 下载必备文件
首先必须下载两个动态文件:dcrf32.dll和javaRD800.dll,这两个动态文件应该放在Path中,如(C:\windows\System32)。还要下载javaRD800.java文件,这是JAVA开发的JNI文件。如果会JNA的朋友,可以直接调用动态文件。下载地址将在最后的附件中给出。
1.3 获取密码
读取数据必需知道数据在哪个扇区,密码是什么。这个需要从客户那里得知,或是自己知道或各种破解。反正最后必需知道相应扇区的密码。
1.4 编程读卡
附件中代码的包结构如图1-1:
图1-1
CardReader.java是Applet最后jar签名打包只要导出dcrf这个包为Jar就可以了。Test包是为了方便测试的一个代main方法的类,可以单独进行测试。Applet测试起来比较麻烦。
JavaRD800.java只要引入就行,不需要修改。CardReader.java用于读取数据的类,可以自定义。代码中有相应的注释。
1.5 测试
将写好的代码复制到CardReader1.java中进行测试,测试过程比较简单,自己看情况处理就好。测试结果出来的话就可以对applet进行打包签名了。
1.6 Applet签名
1.6.1 导出Jar
用Eclipse或MyEclipse或是其它IDE工具,中要最终将dcrf包导出为jar包,用压缩软件打开jar包,修改里面的MANIFEST.MF文件,将内容改为:
Manifest-Version: 1.0
Trusted-Library: true
Created-By: 1.6.0-internal (Sun Microsystems Inc.)
这样可以解决签名后,在别的机器上不能运行的问题。
签名过程可以参考:http://yizhaorong.iteye.com/blog/1889224
1.7 浏览器中测试
将签名好的jar与你要运行的HTML文件或JSP或PHP等类型的文件放在同一目录下,运行测试的文件就可以测试了。本文的测试放在HelloWorld.html中,直接运行即可。
2 附件
附件中包含一个Eclipse项目:applet.zip、D3.zip、API文档。如图2-1:
图2-1
D3.zip中包含两个动态文件。Applet.zip中包含代码。