已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SecSeal扩展技术开发手册 SecSeal扩展技术开发手册V3.22福建凯特信息安全技术有限公司2007年4月目 录1简介12盖章系统接口控件22.1原理及流程说明22.2接口调用详细说明(适用于脚本)33OA系统发文改造103.1初始流程103.2改造后流程103.3改造实现113.3.1增设“盖章”环节113.3.2盖章系统调用123.3.3示例代码134公文要素提取控件394.1原理说明394.2接口调用详细说明395公文模板编辑插件515.1目的及功能515.2使用方法5150地址:福州市湖前路58号 邮政编码:350003电话:0591 - 87732332 传真:0591 - 87738531 网址: 1 简介为实现SecSeal安全电子印章系统与公文交换平台及各类OA系统的无缝连接,我们开发了两个符合标准的客户端及服务器组件:EDCProxy: 用于EDC文件在流转过程中同OA系统的无缝结合。EDCCheckInCtrl: 用于提取EDC文件中的标准公文元素。DocTemplatePlugin: 用于制作公文模板。2 盖章系统接口控件2.1 原理及流程说明EDCProxy是一个运行于客户端的ActiveX组件,它的功能相当于实现了用户将存于服务器端的文档下载到本地,然后调用盖章系统盖章,再上传至服务器的自动化过程。其工作的基本流程为控件自动从服务器下载所需要盖章的文档,暂存于客户机本地目录,然后自动调用盖章系统打开此文档,等待用户盖章并输出公文完成后,控件又将盖完章的公文自动上传至服务器。则服务器端需要一个文件接收及处理的页面。流程图如下所示:EDCProxy对于Web服务器端起着公文的自动下载和上传得角色,在客户端则自动调用盖章系统打开公文,同时传递相关参数,使盖章系统知道用户需要干什么。 EDCProxy支持用户对公文盖章输出红头,或者对红头公文输出黑头公文的操作。2.2 接口调用详细说明(适用于脚本)u 枚举JOB_OPERATION 枚举值名称数值描述JOB_MAKE_RED0x1对word文件盖章,制做红头公文JOB_MAKE_BLACK0x2将红头公文转换成黑头公文JOB_REPEAT_RED0x3对红头公文加盖公章,输出红头公文(联合盖章)JOB_MAKE_RED_XML0x4对XML文件盖章,制做红头公文JOB_MAKE_MULTI0x5对word文件盖章,同时输出红头和黑头JOB_MAKE_MULTI_XML0x6对XML文件盖章,同时输出红头和黑头JOB_REPEAT_MULTI0x7对红头公文加盖公章,同时输出红头和黑头公文(联合盖章)u 对象对象集合名称APPIDCLSID标记安全可创建EDCProxyEDCExt.EDCProxy.1831F5638-D9CD-4A7E-BB16-21606AEA7AE7是是EditJobEDCExt.EditJob.193FFD1F5-B3D3-4BA8-9D49-C14264C6984D是否u 功能EDCProxy名称:CreateJob类别:方法功能:创建一个编辑任务参数:无返回值:返回EditJob对象描述:无名称:RemoveJob类别:方法功能:删除一个编辑任务参数:名称说明lJobIdentity编辑任务ID返回值:返回布尔值指示操作是否成功描述:无名称:ForceSubmit类别:属性功能:获取/设置布尔值, 指示是否强制提交任务参数:名称说明返回值:无描述:当提交表单时是否自动检测编辑任务是否正确并把不正确的任务从提交数据中删除,设置为true时将不进行任务的有效性检测名称:ErrorDescription类别:属性(只读)功能:返回最后一次错误的文本描述参数:名称说明返回值:无描述:无EditJob名称:ExecEdit类别:方法功能:开始编辑一个远程文档参数:名称说明bstrSource远程文档的基于Http协议的URL返回值:返回布尔值指示操作是否成功描述:无名称:ExecSave类别:方法功能:将当前任务编辑状态进行保存参数:名称说明bstrName指定文件名称域的名称,将在提交表单时加入返回值:返回布尔值指示操作是否成功描述:此保存操作仅保存上次编辑信息,说明上次的ExecEdit是有效操作,操作不会保存文档到表单中,即使此调用成功也不能保证此编辑任务是有效的,要判断任务是否有效请使用IsValidJob属性名称:IsValidJob类别:属性(只读)功能:获取布尔值, 指示当前任务是否有效参数:名称说明返回值:无描述:当提交表单时如果EdcProxy对象的ForceSubmit属性设置为false,那么EdcProxy将根据编辑任务的此属性值进行自动有效性检测并把不正确的任务从提交数据中删除名称:Operation类别:属性功能:获取/设置当前任务的操作类型参数:名称说明返回值:枚举型JOB_OPERATION描述:不能在执行保存后进行设置,设置有可能破坏当前的任务名称:JobIdentity类别:属性(只读)功能:编辑任务标识,在EdcProxy唯一标识一个编辑任务对象参数:名称说明返回值:无描述:可以使用此标识对EdcProxy进行删除编辑任务的操作名称:JobName类别:属性功能:获取设置当前编辑任务的名称参数:名称说明返回值:无描述:当有错误发生时,系统将使用此编辑任务的名称来返回表示错误的编辑对象,如果此属性为空或未进行设置,将使用编辑任务的标识来返回表示错误的编辑对象名称:ReadOnly类别:属性功能:设置盖章的时候word公文是否可写参数:名称说明返回值:无描述:如果为true,则word公文为写保护状态,用户无法编辑word公文名称:AutoExit类别:属性功能:设置盖章完成后程序是否自动退出参数:名称说明返回值:无描述:如果为true,则盖章输出公文后,盖章程序自动退出(2007年04月20日版本加入支持)名称:ImportCerts类别:方法功能:导入证书数据参数:名称说明bstrCertsData被导入到SecSeal系统的证书数据返回值:返回布尔值指示操作是否成功描述:在调用ExecEdit()方法之前导入证书,并且盖章完成之后,证书会被自动删除.如果导入多个证书,先将每个证书进行B64编码,再用连接符“,”逗号串连后传入.名称:GetImportedCertCount类别:方法功能:获取导入证书的个数参数:名称说明返回值:返回布尔值指示操作是否成功描述:在调用ImportCerts()之后调用本方法,可以获取证书的个数值.名称:OutCertItemsToXml类别:方法功能:将已导入的证书项信息输出到一个临时XML策略文件参数:名称说明返回值:返回临时XML策略文件的全路径.描述:在调用ImportCerts()之后调用本方法, 可以将已导入的证书项信息输出到一个临时XML策略文件.名称:SetCertItemValue类别:方法功能:修改导入证书项的属性值参数:名称说明lItemIndex证书项的索引bstrPropertyName证书项的属性名(参见”常量定义”)bstrVal证书项的新属性值返回值:返回布尔值指示操作是否成功描述:在调用ImportCerts()之后且OutCertItemsToXml()方法之前调用本方法,可以设置证书项的属性值.名称:StrategyFile类别:属性功能:获取/设置XML策略文件参数:名称说明bstrStrategyFile策略文件名的全路径返回值:策略文件的全路径描述:名称:SavedEdcFile类别:只读属性功能:获取任务完成后保存的红头文件(全路径)参数:名称说明返回值:红头文件的全路径描述:名称:SavedBdcFile类别:只读属性功能:获取任务完成后保存的黑头文件(全路径)参数:名称说明返回值:黑头文件的全路径描述:u 脚本调用规则1. 客户端MS InternetExplore版本必须大于5.52. 在使用控件的表单页中必须有如下配置:l 对必须如下配置:l 在无素内必须包含有对控件的引用 ,如下所示:l 在元素内必须包含有对引用控件的声明,如下所示:l 在使用控件的表单中实例化控件,并给予对象ID号l 在上步标记的表单内就可以使用此控件,示例的控件名称为OAFormEdcProxy, 一定不能够直接使用中的对象ID,两者控件实例不同,后者的功能将调用无效u 示例见 EDCDemo目录1. start.htm 说明:l start.htm用于接受需要操作的文件2. start.aspx说明:l start.aspx文件上传start.htm中输入的文件,并显示相关信息l start.aspx进行SecSeal盖章系统操作类型选择,并根据选择制作红头或者黑头文件3. postback.aspx说明:l postback.aspx文件上传start. aspx中输入的文件,并显示相关信息3 OA系统发文改造使用盖章系统接口控件EDCProxy,可以方便的在OA系统中调用SecSeal盖章系统进行红头、黑头公文的制作。下面将根据OA系统结合SecSeal盖章系统应用改造的流程进行描述:3.1 初始流程在改造之前,OA系统完成公文发文的流程,以下面这个典型的OA发文流程为例子:在以上流程中,OA系统完成了公文的流转工作,但是在最终成文发送给外单位时,只能通过打印成纸质文件,并在纸质文件上盖章后发出。3.2 改造后流程在结合SecSeal安全电子盖章系统以后,领导签发的文件经过编号、排版,使用SecSeal盖章系统进行盖章,盖章完成生成“.EDC”安全电子公文,并以安全电子公文的形式进行存档和分发。结合了盖章系统后,办公自动化系统能够实现全程无纸化办公。3.3 改造实现3.3.1 增设“盖章”环节在OA系统中增加“盖章”功能,如下图例子所示:3.3.2 盖章系统调用为了实现与OA系统的无缝集成,在OA系统中,通过点击“盖章”功能,能够自动调用SecSeal盖章系统,并把OA系统中的公文自动导入盖章系统,下面将介绍如何实现盖章系统的调用: 前提1 客户端IE必须是5.5以上版本。2 把凯特信安提供的SecSeal盖章系统控件文件置于Web服务器指定目录,建议放在与盖章操作页面同一目录下3 在使用控件的表单页中必须有如下配置:l 盖章页面中 标签做如下配置:l 在元素内包含有对控件的引用 ,如下所示: l 在元素内必须包含有对引用控件的声明,如下所示:l 在使用控件的表单中实例化控件,并给予对象ID号:3.3.3 示例代码 Start.htm请选择要操作的文件: Start.aspx 上传文件数据文件字段名称上传文件路径目的文件链接 0 ) Response.Write( );Response.Write( files0 );Response.Write( );Response.Write( Request.Filesfiles0.FileName );Response.Write( );/ Save source file as key nameRequest.Filesfiles0.SaveAs( strSavePath + files0 );Response.Write( + files0 + );Response.Write( );% 请选择操作类型:操作类型: WORD文档盖章,制做红头公文 红头公文转换成黑头公文 红头公文加盖公章,输出红头公文(联合盖章) XML文件盖章,制做红头公文 WORD文件盖章,同时输出红头和黑头 XML文件盖章,同时输出红头和黑头 对红头公文加盖公章,同时输出红头和黑头公文(联合盖章)% Response.Write( ); %function ExecOp()var job = null;job = OAFormEdcProxy.CreateJob();job.JobName = 编辑任务;if ( OAForm.op0.checked ) job.Operation = 1; /对word文件盖章,制做红头公文else if ( OAForm.op1.checked ) job.Operation = 2; /将红头公文转换成黑头公文else if ( OAForm.op2.checked ) job.Operation = 3; /对红头公文加盖公章,输出红头公文(联合盖章)else if ( OAForm.op3.checked ) job.Operation = 4; /对XML文件盖章,制做红头公文else if ( OAForm.op4.checked ) job.Operation = 5; /对word文件盖章,同时输出红头和黑头else if ( OAForm.op5.checked ) job.Operation = 6; /对XML文件盖章,同时输出红头和黑头else if ( OAForm.op6.checked ) job.Operation = 7; /对红头公文加盖公章,同时输出红头和黑头公文(联合盖章)job.ReadOnly = false; /是否以只读方式导入公文job.AutoExit = true; /操作完成后是否自动退出if ( job.ExecEdit( sourceaddr.href ) ) alert( 编辑文档操作正常结束 );elsealert( 编辑文档失败 );return;if ( job.ExecSave( OAForm.op1.checked?file1.bdc:file1.edc ) ) alert( 保存文档操作正常结束 );elsealert( 保存文档失败 );return;OAForm.submit();% Response.Write( ); % Postback.aspx一般表单数据字段名称字段值% int i = 0;for( i = 0; i keys.Length; i + )Response.Write( );Response.Write( keysi );Response.Write( );Response.Write( Request.Form.Get( keysi ) );Response.Write( );%上传文件数据文件字段名称上传文件路径目的文件链接%String strSavePath = Server.MapPath(.) + DocDest;for( i = 0; i files.Length; i + )Response.Write( );Response.Write( filesi );Response.Write( );Response.Write( Request.Filesfilesi.FileName );Response.Write( );/ Save source file as key nameRequest.Filesfilesi.SaveAs( strSavePath + filesi );Response.Write( + filesi + );Response.Write( );% 示例描述l 整个页面的结构如上面代码所示,其中包括了盖章功能的执行代码,调用盖章系统使用一下方法实现:l 在Form中,使用按钮来调用SecSeal盖章系统:input type=button class=button value=盖章onclick=javascript:EdcExcute();l 注意:在这个按钮的onclick实现中,fileURL是OA系统中公文文件的绝对路径,可以为.DOC文档或者.XML文档,例如可以是:20:80/demo/DocSource/TEST.DOCl 按钮onclick功能的实现EdcExcute()方法代码如下:function EdcExcute (file) var job = null; job = OAFormEdcProxy.CreateJob(); job.JobName = 编辑任务;job.Operation = 1; /对word文件盖章,制做红头公文job.ReadOnly = false; /是否以只读方式导入公文job.AutoExit = true; /操作完成后是否自动退出 if (job.ExecEdit(file) alert( 编辑文档操作正常结束 ); else alert( 编辑文档失败 ); return; 下一节将对上述代码中使用到的接口进行详细描述。 常量定义常量定义说明Var SID_USER_NAME = _USER_NAME;证书项的用户属性名Var SID_USER_SERI_ID = _USER_SERIAL_ID;证书项的16进序列号属性名Var SID_USER_ENABLE_COMBINE_SEAL= _USER_ENABLE_COMBINE_SEAL_STATE;证书项的联合盖章状态属性名,值为0不能联合盖章,为1允许 接口描述在调用盖章系统的方法中,使用到了EDCProxy接口控件,以“CAB.CAB”文件提供。接口控件中包含了两个对象:EDCProxy和EditJob,以下是这两个对象的描述:对象集合名称APPIDCLSID标记安全可创建EDCProxyEDCExt.EDCProxy.1831F5638-D9CD-4A7E-BB16-21606AEA7AE7是是EditJobEDCExt.EditJob.193FFD1F5-B3D3-4BA8-9D49-C14264C6984D是否.1 EDCProxy对象的CreateJob( ) 方法l 描述名称:CreateJob类别:方法功能:创建一个编辑任务参数:无返回值:返回EditJob对象描述:无l 例子代码function EdcExcute (file) var job = null; job = OAFormEdcProxy.CreateJob(); job.JobName = 编辑任务;job.Operation = 1; /对word文件盖章,制做红头公job.ReadOnly = false; /是否以只读方式导入公文job.AutoExit = true; /操作完成后是否自动退出 if (job.ExecEdit(file) alert( 编辑文档操作正常结束 ); else alert( 编辑文档失败 ); return; l 功能首先使用EDCProxy对象的CreateJob( )方法来创建一个EditJob对象.2 EditJob对象的EdcEdit ( ) 方法l 描述名称:ExecEdit类别:方法功能:开始编辑一个远程文档参数:名称说明bstrSource远程文档的基于Http协议的URL返回值:返回布尔值指示操作是否成功描述:无l 例子代码function EdcExcute (file) var job = null; job = OAFormEdcProxy.CreateJob(); job.JobName = 编辑任务;job.Operation = 1; /对word文件盖章,制做红头公job.ReadOnly = false; /是否以只读方式导入公文job.AutoExit = true; /操作完成后是否自动退出 if (job.ExecEdit(file) alert( 编辑文档操作正常结束 ); EdcSave(); else alert( 编辑文档失败 ); return; l 参数ExecEdit的参数为一个公文文件的绝对路径l 功能使用EditJob对象的EdcEdit(fileURL)方法调用SecSeal盖章系统。l 执行结果在执行了EdcEdit( fileURL)方法后,SecSeal盖章系统将被调用。.3 EditJob对象的Operation属性l 描述名称:Operation类别:属性功能:获取/设置当前任务的操作类型参数:名称说明返回值:枚举型JOB_OPERATION描述:不能在执行保存后进行设置,设置有可能破坏当前的任务l 例子代码function EdcExcute (file) job = OAFormEdcProxy.CreateJob();job.JobName = 编辑任务;job.Operation = 0x1; /操作类型:请参下表中的7种枚举类型job.ReadOnly = false; /是否以只读方式导入公文job.AutoExit = true; /操作完成后是否自动退出 if (job.ExecEdit(file) alert( 编辑文档操作正常结束 ); EdcSave(); else alert( 编辑文档失败 ); return; l 功能Operation属性设置当前操作的内容,具体内容如下:JOB_OPERATION 枚举值名称数值描述JOB_MAKE_RED0x1对word文件盖章,制做红头公文JOB_MAKE_BLACK0x2将红头公文转换成黑头公文JOB_REPEAT_RED0x3对红头公文加盖公章,输出红头公文(联合盖章)JOB_MAKE_RED_XML0x4对XML文件盖章,制做红头公文JOB_MAKE_MULTI0x5对word文件盖章,同时输出红头和黑头JOB_MAKE_MULTI_XML0x6对XML文件盖章,同时输出红头和黑头JOB_REPEAT_MULTI0x7对红头公文加盖公章,同时输出红头和黑头公文(联合盖章)请根据程序需要进行EditJob对象的Operation属性设置。.4 EditJob对象的ReadOnly属性l 功能设置是否以只读方式导入公文.5 EditJob对象的AutoExit属性l 功能决定在操作完成后是否自动退出SecSeal盖章程序。l 示例function EdcExcute (file) job = OAFormEdcProxy.CreateJob();job.JobName = 编辑任务;job.Operation = 0x1; /操作类型:请参考接口文档中的7种枚举类型job.ReadOnly = false; /是否以只读方式导入公文job.AutoExit = true; /操作完成后是否自动退出 if (job.ExecEdit(file) alert( 编辑文档操作正常结束 ); EdcSave(); else alert( 编辑文档失败 ); return; .6 EditJob对象的StrategyFile属性l 描述名称:StrategyFile类别:属性功能:获取/设置XML策略文件参数:名称说明bstrStrateyFile策略文件名的全路径返回值:策略文件的全路径描述:.7 EditJob对象的SavedEdcFile属性l 描述名称:SavedEdcFile类别:只读属性功能:获取任务完成后保存的红头文件(全路径)参数:名称说明返回值:红头文件的全路径描述:l 例子代码function EdcSave() job = OAFormEdcProxy.CreateJob();job.JobName = 编辑任务;job.Operation = 0x1; /操作类型:请参考接口文档中的7种枚举类型job.ReadOnly = false; /是否以只读方式导入公文job.AutoExit = true; /操作完成后是否自动退出job.ImportCert(bstrCertData1); /导入证书数据,系统对导入的证书授权 nCertCount = job.GetImportedCertCount();for( nI=0; nInCertCount; nI+ )var strVal;strVal = nI.toString();nRet = job.SetCertItemValue( nI, SID_USER_NAME, strVal );var strXmlFile;strXmlFile = job.OutCertItemsToXml();/生成用户策略文件job.StrategyFile = strXmlFile; /使用策略文件if (job.ExecEdit(file) var strEdc, strBdc;strEdc = job.SavedEdcFile;/红头文件 strBdc = job.SavedBdcFile;/黑头文件 alert( 编辑文档操作正常结束 ); EdcSave(); elsealert( 编辑文档失败 ); return; .8 EditJob对象的SavedBdcFile属性l 描述名称:SavedBdcFile类别:只读属性功能:获取任务完成后保存的黑头文件(全路径)参数:名称说明返回值:黑头文件的全路径描述:l 例子代码可参见SavedEdcFile属性的例子..9 EditJob对象的ImportCerts( )方法l 描述名称:ImportCerts类别:方法功能:导入证书数据参数:名称说明bstrCertsData被导入到SecSeal系统的证书数据返回值:返回布尔值指示操作是否成功描述:在调用ExecEdit()方法之前导入证书,并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客户订阅服务的确认函3篇范文
- 电信公司项目管理师团队项目成果评估绩效评定表
- 合同履行情况月报通知(5篇范文)
- 行政办公自动化效率考核表
- 销售人员业绩及满意度绩效考评表
- 免疫层析NC膜进入结构性增长阶段高灵敏度与多重检测打开新空间
- 农业科技园区现代农业装备选型指南
- 航空危险品运输安全管理手册
- 深海探测员工作效果评估表
- 研发成果创新性绩效表
- 2026秋新人教版道德与法治四年级上册全册核心素养教案教学设计(含教学反思)
- 2026年法律硕士(法学)考研真题及完整答案解析(统考回忆版)
- 测绘涉密成果管理责任人及岗位安排
- 易流态化固体散装货物安全装运须知培训
- 组织培养与植物离体种质资源保存
- 2026年银行团队主管竞聘面试题库
- 自来水水厂检验工作制度
- 边坡注浆施工方案
- 揭秘助剂在氨纶混纺织物防沾色中的关键作用及与染料的协同机制
- 五金厂生产安全责任制度
- 2026年检察院聘用制书记员招聘笔试试题(含答案)
评论
0/150
提交评论