欢迎来到天天文库
浏览记录
ID:30440280
大小:96.00 KB
页数:30页
时间:2018-12-29
《白话数字签名3web程序中的数字签名转帖》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、白话数字签名3Web程序中的数字签名转帖白话数字签名(3)--Web程序中的数字签名摘要阅读本文并探索-如何突破Web程序无状态性这个让人抓狂的障碍实现自动显示签名结果和批量签名功能。-如何将签名功能封装到一个实现了IHttpHandler接口的类库中,使Client端的代码尽可能的简单。-使用数字签名API函数需要注意的几个问题。本文介绍在Web程序中使用数字签名所遇到的特殊困难和解决方法,并给出一个超简单但相当实用的DEMO。DEMO程序的效果让我们先来看看实现之后的效果。让Client端代码尽可能的简单我们将数字签名操作的复
2、杂性全部封装到一个命名空间为mylib.util.lnca的类库中,类库只暴露一个名为Signer的类。Signer的Client(本例中的Default.aspx)的职责只有-构造一个含有待签名的数据的Dictionary作为Signer的输入,然后调用Signer.do_sign()函数进行数字签名。-在页面上放置一个专门用于取得并显示签名结果的按钮,并将这个按钮的ClientID传递给Signer,这样Signer在完成签名后就可以自动触发这个按钮。在将程序发布给最终用户时,要把这个按钮的top属性设为-10000,这样最终
3、用户就看不到这个按钮了。Default.aspx的设计视图的截图Default.aspx的源代码如下%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""htmlxmlns="headrunat="server"title无标题页/title/headbodyformid="form1"runat="s
4、erver"tabletrtdasp:ButtonID="do_sign_button"runat="server"Text="签名"OnClick="do_sign_button_Click"/asp:LabelID="Label1"runat="server"Text="Label"/asp:Label/tdtdasp:ButtonID="show_signed_data_button"runat="server"Text="显示签名结果(自动)"OnClick="show_signed_data_button_Click"/
5、/td/trtrtdstyle="border:solid1pxblack;vertical-align:top;"asp:GridViewID="sign_candidates_gridview"runat="server"Caption="签名前的数据"CellPadding="4"ForeColor="#333333"Font-Names="宋体"Font-Size="10pt"FooterStyleBackColor="#1C5E55"Font-Bold="True"ForeColor="White"/RowStyleBa
6、ckColor="#E3EAEB"/EditRowStyleBackColor="#7C6F57"/SelectedRowStyleBackColor="#C5BBAF"Font-Bold="True"ForeColor="#333333"/PagerStyleBackColor="#666666"ForeColor="White"HorizontalAlign="Center"/HeaderStyleBackColor="#1C5E55"Font-Bold="True"ForeColor="White"/AlternatingR
7、owStyleBackColor="White"//asp:GridView/tdtdstyle="border:solid1pxblack;vertical-align:top;"asp:GridViewID="signed_data_gridview"runat="server"Caption="签名结果"BackColor="LightGoldenrodYellow"BorderColor="Tan"BorderWidth="1px"CellPadding="2"ForeColor="Black"OnRowDataBound
8、="signed_data_gridview_RowDataBound"Font-Names="宋体"Font-Size="10pt"FooterStyleBackColor="Tan"/SelectedRowStyleBackColor="Dar
此文档下载收益归作者所有