`

构建一个web方式的局域网签名

 
阅读更多

当需要大量签名的工作,同时又多用户使用,但又想把签名证书进行一定限制时,下面就实现了这样一个简单的方案。

需要一台IIS server, 共享一个文件夹(读写)。

在IIS 上创建一个asp.net web站点:

页面上添加一个按钮就可以了,后台代码如下:

usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Diagnostics;
usingSystem.Timers;

publicpartialclass_Default:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{

}
voidprocessSign(stringcmd,stringshowstr)
{
//利用CMD来执行已经写好的sign的bat处理文件
Processp=newProcess();
p.StartInfo.RedirectStandardOutput
=true;
p.StartInfo.FileName
="cmd.exe";
p.StartInfo.WorkingDirectory
=@"C:doxtechsign";
p.StartInfo.UseShellExecute
=false;
p.StartInfo.RedirectStandardInput
=true;
p.StartInfo.RedirectStandardOutput
=true;
p.StartInfo.RedirectStandardError
=true;
p.StartInfo.CreateNoWindow
=true;
p.Start();
//记录签名者IP地址和签名的一些信息(这里仅仅反馈给用户显示),如果保存至文件就可以进行管理了。
stringcIP=Request.ServerVariables["REMOTE_ADDR"];
p.StandardInput.WriteLine(cmd
+""+cIP);
p.StandardInput.WriteLine(
"exit");
stringinfo="YourIP:"+cIP+"<br>UsingSignatureis"+showstr+"<br><br>";
stringstarstr=p.StandardOutput.ReadToEnd();
string[]sc=newstring[]{" "};
string[]showmsg=starstr.Split(sc,StringSplitOptions.RemoveEmptyEntries);
System.DateTimecurrentTime
=newSystem.DateTime();
currentTime
=System.DateTime.Now;
stringLabelstr="SignTime:"+currentTime.ToString("g")+"<br>"+info;
if(showmsg.Length<=4)
{
Labelstr
+=("NotFoundFiles!<br>");
Label1.Text
=Labelstr;
return;
}
else
{
for(inti=3;i<showmsg.Length-1;i++)
{
Labelstr
+=showmsg[i];
Labelstr
+="<br>";

}

Label1.Text
=Labelstr+"<br>";

}
}

protectedvoidButton2_Click(objectsender,EventArgse)
{
processSign(
"Sign2K3.bat","File->WindowsMobile2003");

}
}

Sign2K3.bat 文件:

@echooff
dirFiles|find/i
"mui">signname.tmp
dirFiles|find/i
"dll">>signname.tmp
dirFiles|find/i
"cab">>signname.tmp
dirFiles|find/i
"exe">>signname.tmp
dirFiles|find/i
"hme">>signname.tmp

for/f
"tokens=4"%%ain(signname.tmp)dosigncode/spcDOXTechsign.cer/vDOXTechsign.pvk/asha1Files%%a
delsignname.tmp
gotodone

:usage
echoS
echofilename:allmui
,dll,exefilesinthefilesfloder

:done

这样就构建完成了。

1.当需要签名是在客户端上打开网页。2. 把需要签名的文件放置在共享的文件里。 3. 点击页面上的按钮。

在这里,只是并没有深入考虑安全性和广域网,也忽略多用户同时进行处理。简单安全性可以使用IIS提供安全设置来控制指定用户密码登入此网页,限制IP等。广域网的实施那就要实现页面上传文件至服务器,签名后下载至客户端。

分享到:
评论

相关推荐

    企业网组建与设计方案.doc

    " "内容: 以某一企业为构建对象,根据企业现状,对企业组建一个网络, " "写出网络设计方案。 " "要求: " "1.根据要求对企业建网进行可行性分析,主要从经济性和必要性进行分" "析 " "2.画出网络拓扑结构图。 " "3...

    SOAOFFICE - 微软 OFFICE 中间件

    SOAOffice 完全抛弃了传统利用Office服务器端自动化技术存取文档数据的种种弊端和缺陷,采用独创的专利技术构建了一个功能强大、简单易用的微软Office中间件平台,平台提供标准的.net和java组件接口,不但能够在线...

    JAVA上百实例源码以及开源项目

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    JAVA上百实例源码以及开源项目源代码

    Message-Driven Bean EJB实例源代码 2个目标文件 摘要:Java源码,初学实例,EJB实例 Message-Driven Bean EJB实例源代码,演示一个接收购物订单的消息驱动Bean,处理这个订单同时通过e-mail的形式 //给客户发一个感谢...

    java源码包---java 源码 大量 实例

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    java源码包2

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    java源码包3

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    java源码包4

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    基于J2EE框架的个人博客系统项目毕业设计论...

    1、 Struts是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Servlet,JSP和custom tag library构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    1、 Struts是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Servlet,JSP和custom tag library构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发...

    网上会展的未来发展趋势

    运用网上报名数据库的一个最大的优点是能将所有报名资料都汇总在一起,使会展组织者拥有一个不断更新而准确的报告。 住宿安排:展会组织者还应该引导展会参加者在网上预定旅店,可以把免费团体住宿安排应用软件、...

    h_JAVA 2应用编程150例.rar

    实例55 一个简单的代理服务器 164 实例56 扫描网站信息 173 实例57 远程方法调用 174 实例58 调用JINI方法 176 第5章 Java数据库编程 179 实例59 应用JDBC-ODBC桥 180 实例60 使用单独JDBC连接驱动程序 184 实例61 ...

    网络工程师考试考点分析与真题详解.网络设计与管理篇.part7

    54.00 元 徐锋/ 施游/ 窦亚玲 等 电子工业出版社 ISBN:ISBN 7-121-00765-7 开本:787*1092 1/16 字数:486.4千字 印张:19 印数:8000 页数:289 版别版次:2005年2月北京第一版第一...

    网络工程师考试考点分析与真题详解.网络设计与管理篇

    54.00 元 徐锋/ 施游/ 窦亚玲 等 电子工业出版社 ISBN:ISBN 7-121-00765-7 开本:787*1092 1/16 字数:486.4千字 印张:19 印数:8000 页数:289 版别版次:2005年2月北京第一版第一...

    java应用软件程序设计

    242 实例74 实现一个简单的代理服务器 246 实例75 C/S结构的分布式运算 248 第7章 Java B/S结构编程 253 实例76 简单的Servlet程序 254 实例77 简单的留言簿 256 实例78 JSP+Java Bean的计数器 ...

    网络工程师考试考点分析与真题详解.网络设计与管理篇.part5

    54.00 元 徐锋/ 施游/ 窦亚玲 等 电子工业出版社 ISBN:ISBN 7-121-00765-7 开本:787*1092 1/16 字数:486.4千字 印张:19 印数:8000 页数:289 版别版次:2005年2月北京第一版第一...

Global site tag (gtag.js) - Google Analytics