用java语言实现对IC卡的读写

07-12-02 aasuccess
请各位大侠帮帮忙,用java语言实现对IC卡的读写,不会没有头绪,希望高手指点一下,最好有例子或者源码!非常感谢!

Email:hjysuccess@126.com

qq:64229118

[该贴被hjysuccess于2007-12-02 15:40修改过]

1
ttt
2007-12-02 23:43
做这种事实请用C语言或汇编

aasuccess
2007-12-04 09:00
请各位达人帮帮忙,会的话告诉小弟一下,非常感谢!

aasuccess
2007-12-04 10:23
用javacard可以实现对IC卡的读写操作吗?怎么没有人帮下忙呢?

htao
2007-12-04 17:29
我以前作过这样的程序,但用的是keilc(C语言变种).

对于这种东西应该用比较针对性的语言比较好.毕竟这是低层的东本啊!

首先确认传输协议,我当时用的是I2C总线,然后明白其时序过程,就好办了,关键要有耐心啊,这个不是很容易通的.

kkkf2004
2007-12-06 01:51
想问一下你,你是那种ic卡啊?

是不是非接触式的那种,白色的卡片.接收器是个盒子.

还是圆形中间有孔,质地很硬的那种卡,接收器是一条棒子?

如果是的话,那么客户端机器可能要装个active x插件,然后

通过页面上的javascript与ic卡进行读写交互.

[该贴被kkkf2004于2007-12-06 01:52修改过]

ynzhangyao
2007-12-06 16:30
通过JNI的方式进行读写

aasuccess
2007-12-10 18:29
用JNI的方式去调用接口,是不是根据读卡器的类型不同,厂商提供的接口就不一样?可以用一套程序对所有的读卡器进行读写操作吗?如果厂商不提供java接口供调用怎么办??现在思路比较乱,希望有知道的同仁给予帮助,非常感谢!

aasuccess
2007-12-10 18:31
我们用的是接触式的IC卡4428型号,其实不管是什么IC卡是否是接触式的,只要能实现IC卡的读写就行。谢谢各位的关注!

kkkf2004
2007-12-12 01:00
我以前做的是非接触式的ic卡,后台是asp,前台是这样的,客户端的机器要安装一个叫

做MSCOMM32.OCX的active x组件,然后在页面上通过javascript操作这个组件来

ic卡读写器进行交互,读好后再提交到服务器进行业务处理,具体的编程话还要看com口号,ic报文格式等等

建议你搜索关键字:MSCOMM32.OCX+javascript,有很多资料.

如果你用jni,要么你在客户端使用applet,还得让机器装jre,要么你的ic卡读写器刚好和服务器在一台机器.

kkkf2004
2007-12-12 01:02
<html>

<head>

<title>JavaScript串口(通过 vb 的 MSCOMM32.OCX 控件)</title>

<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>

<!--

//重写 mscomm 控件的唯一事件处理代码

function MSComm1_OnComm()

{

var len=0;

//window.alert("happy");

if(MSComm1.CommEvent==1)//如果是发送事件

{

window.alert("ok");//这句正常,说明发送成功了

}

else if(MSComm1.CommEvent==2)//如果是接收事件

{

//window.alert(MSComm1.CommEvent);//! ‘

//window.alert(MSComm1.Input);//

document.form1.txtReceive.value=document.form1.txtReceive.value + MSComm1.Input;

}

return false;

}

//-->

</SCRIPT>

<SCRIPT LANGUAGE=javascript FOR=MSComm1 EVENT=OnComm>

<!--

// MSComm1控件每遇到 OnComm 事件就调用 MSComm1_OnComm()函数

MSComm1_OnComm()

//-->

</SCRIPT>

<script language="JavaScript" type="text/JavaScript">

<!--

//打开端口并发送命令程序

function OpenPort()

{

if(MSComm1.PortOpen==false)

{

MSComm1.PortOpen=true;

MSComm1.Output="R";//发送命令

}

else

{

window.alert ("已经开始接收数据!");

}

}

-->

</script>

</head>

<OBJECT CLASSID="clsid:648A5600-2C6E-101B-82B6-000000000014" id=MSComm1 codebase="MSCOMM32.OCX" type="application/x-oleobject"

style="LEFT: 54px; TOP: 14px" >

<PARAM NAME="CommPort" VALUE="1">

<PARAM NAME="DTREnable" VALUE="1">

<PARAM NAME="Handshaking" VALUE="0">

<PARAM NAME="InBufferSize" VALUE="1024">

<PARAM NAME="InputLen" VALUE="0">

<PARAM NAME="NullDiscard" VALUE="0">

<PARAM NAME="OutBufferSize" VALUE="512">

<PARAM NAME="ParityReplace" VALUE="?">

<PARAM NAME="RThreshold" VALUE="1">

<PARAM NAME="RTSEnable" VALUE="1">

<PARAM NAME="SThreshold" VALUE="2">

<PARAM NAME="EOFEnable" VALUE="0">

<PARAM NAME="InputMode" VALUE="0">

<PARAM NAME="DataBits" VALUE="8">

<PARAM NAME="StopBits" VALUE="1">

<PARAM NAME="BaudRate" VALUE="9600">

<PARAM NAME="Settings" VALUE="9600,N,8,1">

</OBJECT>

<body>

<form name="form1">

<input type="submit" name="Submit" value="提交" onClick="OpenPort()">

<input type="text" name="txtReceive" value="">

</form>

</body>

</html>

这就是个静态页面通过js控制mscomm对某com设备进行访问的例子.

猜你喜欢