本技术资料版权所有,禁止分发.©(2003-2007),重庆软航科技有限公司,保留所有权利.NTKO和软航是软航科技的商标

NTKO安全签章系统Web(HTML)版技术资料

NTKO 安全签名印章系统Web(HTML)版本集成架构


创建时间:05/31/2007 07:16:05 PM 修改时间: 05/29/2012 05:52:21 PM
分类:产品集成架构
适应版本号:3,0,x

相关文档:本文档没有相关文档

有关NTKO 安全签名印章系统WEB版本的详细信息,请参考《NTKO安全签名印章系统WEB版编程接口参考》

NTKO安全签名印章系统WEB版编程接口参考.rar

1、NTKO安全签章系统WEB版本体系介绍

    NTKO安全签名印章系统WEB版本由两部分组成:
    • NTKO安全签名印章系统Helper控件(NTKO WebSignHelper 控件);
    • NTKO安全签名印章系统签章控件
    Helper控件负责在网页上创建签章控件,并调用签章控件的方法实现签章。后者是签章的实现控件。另外,Helper控件还负责将网页上已经存在的签章控件的数据保存到WEB服务器,以及从WEB服务器装载所有的签章数据,并在网页上恢复所有签章。
    您在编程中直接使用到的一般是NTKO安全签名印章系统Helper控件(NTKO WebSignHelper 控件)的属性和方法,以及签章控件的WebSignInfo属性。
2、编程简要说明
    要正确使用NTKO安全签名印章系统WEB版,一般的过程如下:
    • 调用Helper对象的AddSecSignOcx方法创建一个对象,并获取返回的签章对象;
    • 设定签章对象的WebSignInfo属性,从而指明该签章验证的网页域;
    • 将签章对象作为第一个参数,调用Helper对象的AddSecHandSign、AddSecSignFromLocal,AddSecSignFromURL或者AddSecSignFromEkey方法,进行签名或者盖章;
    • (可选)读取Helper对象的SignsCount属性,获得签章数量,保存到表单的隐藏域;
    • 调用Helper对象的SaveToURL方法,将签章数据保存到WEB服务器。
    • 打开网页的时候,在onload事件中,调用Helper对象的LoadFromURL方法,将签章数据装载到WEB网页。
    简单示例:
      function AddSecHandSign()
      {
      var secSignObj = ntkoobj.AddSecSignOcx("SecHandSignID",200,300);
      secSignObj.WebSignInfo = WebSignInfo;
      ntkoobj.AddSecHandSign(secSignObj,'测试用户');
      }
    上面的方法是进行手写签名。其中,ntkoobj是Helper对象,而secSignObj是新增的签章对象。
3、网页中必须包含的js文件
    因为NTKO安全签名印章系统WEB版本需要调用一个js文件中的固定名称的JavaScript Function来创建印章并完成签章工作,因此,需要在网页的<head>和</head>标记之间,使用:
      <SCRIPT LANGUAGE="JavaScript" type="text/javascript" src="NtkoAddSecSign.js"></SCRIPT>
    来引入一个系统所需的NtkoAddSecSign .js文件。这个文件您最好不进行任何修改。除了必须的时候修改编码方式。
    和网页在同一目录的NtkoAddSecSign .js文件的内容如下:[注意js的编码方式必须和网页的编码方式一致,请参考相关示例目录下的NtkoAddSecSign .js文件]
      //注意:这是内部需要使用的函数,不能修改
      function NtkoReserved_AddSecSignOcx(ControlID,ocxLeft,ocxTop)
      {
      var ocxElement = document.createElement('object');
      document.body.appendChild(ocxElement);
      if("string" == typeof(ControlID))
      {
      ocxElement.id = ControlID;
      }
      ocxElement.style.position = "absolute";
      ocxElement.style.pixelLeft = ocxLeft;
      ocxElement.style.pixelTop = ocxTop;
      ocxElement.classid= "clsid:AA4B3728-B61C-4bcc-AEE7-0AA47D3C0DDA";
      ocxElement.width = "10";
      ocxElement.height = "10";
      return ocxElement;
      }
      function NtkoReserved_RunSignHelper(ocxElement,UserName,FileName,PromptSelect,
      PrintMode,IsUseCertificate,IsLocked,IsCheckDocChange,
      IsShowUI,SignPass,SignType)
      {
      if("object" != typeof(ocxElement)) return;
      ocxElement.SetUser(UserName);
      switch(SignType)
      {
      case 0:
      {
      try
      {
      ocxElement.DoSign(FileName,PromptSelect, SignPass, PrintMode,
      IsUseCertificate, IsLocked,IsCheckDocChange,IsShowUI);
      }
      catch(err)
      {
      alert("加盖印章错误!");
      ocxElement.Close();
      ocxElement.removeNode();
      }
      }
      break;
      case 1:
      {
      try
      {
      ocxElement.DoHandSign(PrintMode,IsUseCertificate,IsLocked,IsCheckDocChange,IsShowUI);
      }
      catch(err)
      {
      alert("手写签名错误!");
      ocxElement.Close();
      ocxElement.removeNode();
      }
      }
      break;
      case 2:
      {
      try
      {
      ocxElement.DoSignFromEkey(SignPass,PrintMode,IsUseCertificate,IsLocked,IsCheckDocChange,IsShowUI);
      }
      catch(err)
      {
      alert("加盖印章错误!");
      ocxElement.Close();
      ocxElement.removeNode();
      }
      }
      break;
      default:
      {
      try
      {
      ocxElement.DoSign(FileName,true, SignPass, PrintMode,
      IsUseCertificate, IsLocked,IsCheckDocChange,IsShowUI);
      }
      catch(err)
      {
      alert("加盖印章错误!");
      ocxElement.Close();
      ocxElement.removeNode();
      }
      }
      break;
      }
      }

返回页面顶部↑  
本文档的相关文档: 本文档没有相关文档