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中包含代码。