基于Web瀏覽器的智能卡讀寫器,cab數(shù)字證書安裝測試頁面

2016-08-09 16:31:22 wenxing 580

  經(jīng)常有客戶問到,如何通過瀏覽器去調(diào)用IC卡讀寫器的方法,讓B/S系統(tǒng)也可以使用智能卡讀寫器對智能卡進行充值,扣費等一系列操作。諾塔斯智能科技旗下產(chǎn)品從L1系列到目前的L3系列均支持通過web瀏覽器調(diào)用函數(shù)接口從而實現(xiàn)對智能卡讀寫器的讀寫操作?;贗E瀏覽器、360瀏覽器通過ActiveX控件對讀寫器的操作,在本地PC上可以通過批處理命令完成,如何在服務器端部署ActiveX控件呢?

 我們將ActiveX控件封裝成了cab數(shù)字證書,當客戶端請求訪問讀寫頁面的時候,瀏覽器會自動提示安裝cab數(shù)字證書從而注冊ActiveX控件。

 演示頁面如下:http://www.www.rzqzixun.com/LotusCardDemo.html 請用IE瀏覽器或者360瀏覽器兼容模式打開。

<HTML>
<HEAD><TITLE>LotusCardDemo</TITLE></HEAD>
<BODY>
<OBJECT ID=LotusCardDriver Visible=false WIDTH=0 HEIGHT=0
 CLASSID="CLSID:BD1874A5-3810-4639-8B70-3DDD607BAADB"
 CODEBASE="./LotusCardActive.cab#version=1,0,0,3">
 </OBJECT>

<script language=javascript>

function OnTest()
{
    var nHandle = 0; //設備句柄
    var bResult = 0;
    var strTextInfo = ""
    nHandle    =    LotusCardDriver.OpenDevice("",0,0,0);
    if(nHandle <=0 ) 
    {
        alert("打開設備失敗!");
        return;
    }
    LotusCardDriver.Beep(nHandle,10);
  bResult = LotusCardDriver.SetCardType(nHandle, 'A');
  if(bResult!=1)
  {
      alert("設置卡類型失敗!");
      LotusCardDriver.CloseDevice(nHandle);
      return;
  }            
    bResult = LotusCardDriver.GetCardNo(nHandle,38);
  if(bResult!=1)
  {
      alert("尋卡失敗!");
      LotusCardDriver.CloseDevice(nHandle);
      return;
  }    
  alert("卡號:"+LotusCardDriver.CardNo);
  LotusCardDriver.CardPassWord="FFFFFFFFFFFF"

  bResult=LotusCardDriver.LoadKey(nHandle, 96, 0);    
  if(bResult!=1)
  {
      alert("裝載密碼失敗!");
      LotusCardDriver.CloseDevice(nHandle);
      return;       
  }
  
  bResult=LotusCardDriver.Authentication(nHandle, 96, 0);
  if(bResult!=1)
  {
      alert("密碼認證失敗!");
      LotusCardDriver.CloseDevice(nHandle);
      return;      
  }  
  
  bResult=LotusCardDriver.LoadKey(nHandle, 97, 0);    
  if(bResult!=1)
  {
      alert("裝載密碼失敗!");
      LotusCardDriver.CloseDevice(nHandle);
      return;       
  }
  
  bResult=LotusCardDriver.Authentication(nHandle, 97, 0);
  if(bResult!=1)
  {
      alert("密碼認證失敗!");
      LotusCardDriver.CloseDevice(nHandle);
      return;      
  } 
    
  bResult = LotusCardDriver.Read(nHandle, 2);
  if(bResult!=1)
  {
      alert("讀2塊失敗!");
      LotusCardDriver.CloseDevice(nHandle);
      return;      
  }
  alert("2塊:"+LotusCardDriver.ReadWriteBuffer);
  LotusCardDriver.ReadWriteBuffer="0123456789abcdef0123456789abcdef"
  bResult = LotusCardDriver.Write(nHandle, 2);
  if(bResult!=1)
  {
      alert("寫2塊失敗!");
      LotusCardDriver.CloseDevice(nHandle);
      return;      
  }  
  alert("寫2塊OK");

  bResult = LotusCardDriver.ChangePassword(nHandle, 0, "FFFFFFFFFFFFF","FFFFFFFFFFFFF"); 
  if(bResult!=1)
  {
      alert("扇區(qū)0密碼修改失敗!");
      LotusCardDriver.CloseDevice(nHandle);
      return;      
  } 
  alert("扇區(qū)0密碼修改成功!");
  LotusCardDriver.CardPassWord="FFFFFFFFFFFF"

  bResult=LotusCardDriver.LoadKey(nHandle, 96, 1);    
  if(bResult!=1)
  {
      alert("扇區(qū)1裝載密碼失敗!");
      LotusCardDriver.CloseDevice(nHandle);
      return;       
  }
  
  bResult=LotusCardDriver.Authentication(nHandle, 96, 1);
  if(bResult!=1)
  {
      alert("扇區(qū)1密碼認證失敗!");
      LotusCardDriver.CloseDevice(nHandle);
      return;      
  }
  bResult = LotusCardDriver.WriteText(nHandle, 1, "春眠不覺曉處處蚊子咬夜來風雨聲疙瘩知多少");
  if(bResult!=1)
  {
      alert("扇區(qū)1寫文本失敗!");
      LotusCardDriver.CloseDevice(nHandle);
      return;      
  }  
  strTextInfo = LotusCardDriver.ReadText(nHandle, 1);
  alert("扇區(qū)1文本:"+strTextInfo);
 
    LotusCardDriver.CloseDevice(nHandle);
}

</script>

<!-- Insert HTML here -->
<INPUT id=test type=button value="讀卡器測試" onclick=OnTest()></BODY>
</BODY>
</HTML>


女人被c软件漫画,jmcomic.2.mic传送门,大象回家永久不迷路2023,罗宾被小麋鹿,日本porono,内衣柜办公室,打扑克生猴子图片,黄色软件,黄金仓库星空传媒,w98动漫