Автор работы: Пользователь скрыл имя, 03 Мая 2014 в 18:37, курсовая работа
В данной курсовой работе рассматривается создание программного продукта, который позволит удаленно совершать цифровую подпись документов и проверять её подлинность.
Цели и задачи курсовой работы 5
Подготовка и порядок выполнения работы 6
1. Теоретические сведения 7
1. 1. Построение Web – сервиса с функцией электронной подписи 7
2. CryptoAPI 9
3. Windows Communication Foundation 10
4. Описание программы 12
5. Сравнение программы с другими программными продуктами 13
Заключение 14
Список первоисточников 15
Приложения 16
Руководство пользователя 16
Руководство администратора 16
Руководство разработчика 17
Снимок с экрана работающей программы 18
Техническое задание 19
Исходный код программы 22
</dxe:ASPxTextBox>
</td>
</tr>
<tr>
<td>
<dxe:ASPxLabel ID="lNewPassword" runat="server" AssociatedControlID="
</dxe:ASPxLabel>
</td>
<td>
<dxe:ASPxTextBox ID="tbNewPassword" runat="server" Width="170px"
ClientInstanceName="
</dxe:ASPxTextBox>
</td>
</tr>
<tr>
<td colspan="2">
<dxe:ASPxValidationSummary ShowErrorAsLink="true" ValidationGroup="
</dxe:ASPxValidationSummary>
</td>
</tr>
<tr>
<td>
<dxe:ASPxLabel ID="lNewPasswordConfirm" runat="server" AssociatedControlID="
</dxe:ASPxLabel>
</td>
<td>
<dxe:ASPxTextBox ID="tbNewPasswordConfirm" runat="server" Width="170px"
ClientInstanceName="
e.isValid = (tbNewPassword.GetValue() == tbNewPasswordConfirm.GetValue(
if (!e.isValid)
{
e.errorText = "Пароль и
подтверждение пароля не
}
}" />
</dxe:ASPxTextBox>
</td>
</tr>
<tr>
<td>
<dxe:ASPxLabel ID="lbChangePass" runat="server"
</dxe:ASPxLabel>
<td>
</td>
</tr>
<tr>
<td>
</td>
<td align="right">
<dxe:ASPxButton ID="bOk" runat="server" Text="Создать" OnClick="bOk_Click">
e.processOnServer = ASPxClientEdit.ValidateGroup('
}
" />
</dxe:ASPxButton>
</td>
</tr>
</table>
</dxp:PanelContent>
</PanelCollection>
</dxp:ASPxPanel>
<dxpc:ASPxPopupControl ID="pcOk" runat="server" HeaderText="Информация"
PopupHorizontalAlign="
AllowDragging="True" CloseAction="None" DragElement="Window" Modal="True"
PopupVerticalAlign="
<ContentStyle HorizontalAlign="Left">
</ContentStyle>
<ContentCollection>
<dxpc:PopupControlContentContr
<table width="100%"><tr align="center"><td>
<dxe:ASPxButton ID="bInfoOk" runat="server" Text="Закрыть"
OnClick="bInfoOk_Click">
</dxe:ASPxButton>
</td></tr></table>
</dxpc:PopupControlContentCont
</ContentCollection>
</dxpc:ASPxPopupControl>
</asp:Content>
Message.aspx.cs
<%@ Page Title="" Language="C#" MasterPageFile="~/Client.
CodeBehind="Message.aspx.cs" Inherits="ClientWeb.Message" %>
<%@ Register Assembly="DevExpress.Web.
Namespace="DevExpress.Web.
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="
<table>
<tr>
<td>
<dxe:ASPxLabel ID="lPeriod" runat="server" Text="Сообщения за период:" CssClass="Label">
</dxe:ASPxLabel>
<br />
<dxe:ASPxLabel ID="lDateBegin" runat="server" Text="с" AssociatedControlID="
CssClass="Label">
</dxe:ASPxLabel>
<dxe:ASPxDateEdit ID="tbDateBegin" runat="server"
<ValidationSettings EnableCustomValidation="True" ValidationGroup="entryGroup" SetFocusOnError="True"
<RequiredField ErrorText="Дата начала является обязательной" IsRequired="True" />
<ErrorFrameStyle Font-Size="10px">
<ErrorTextPaddings PaddingLeft="0px" />
</ErrorFrameStyle>
</ValidationSettings>
</dxe:ASPxDateEdit>
<dxe:ASPxLabel ID="lDateEnd" runat="server" Text="по" AssociatedControlID="
CssClass="Label">
</dxe:ASPxLabel>
<dxe:ASPxDateEdit ID="tbDateEnd" runat="server" Width="170px">
<ValidationSettings EnableCustomValidation="True" ValidationGroup="entryGroup" SetFocusOnError="True"
<RequiredField ErrorText="Дата конца является обязательной" IsRequired="True" />
<ErrorFrameStyle Font-Size="10px">
<ErrorTextPaddings PaddingLeft="0px" />
</ErrorFrameStyle>
</ValidationSettings>
</dxe:ASPxDateEdit>
<dxe:ASPxCheckBox ID="cbNotReaded" runat="server" Text="Не прочитанные">
</dxe:ASPxCheckBox>
<dxe:ASPxCheckBox ID="cbReaded" runat="server" Text="Прочитанные">
</dxe:ASPxCheckBox>
</td>
</tr>
<tr>
<td colspan="2">
<dxe:ASPxButton ID="btOK" runat="server" Text="Показать" Width="80px">
<ClientSideEvents Click="function(s, e) {e.processOnServer
= ASPxClientEdit.ValidateGroup('
</dxe:ASPxButton>
</td>
</tr>
</table>
<dxwgv:ASPxGridView ID="ASPxGridView" runat="server" AutoGenerateColumns="False"
Width="100%" KeyFieldName="Id" Theme="Glass">
<SettingsBehavior AutoExpandAllGroups="True" />
<Columns>
<dxwgv:GridViewDataDateColumn Caption="Дата" FieldName="Date" Name="Date"
<PropertiesDateEdit DisplayFormatString="">
</PropertiesDateEdit>
</dxwgv:GridViewDataDateColumn
<dxwgv:GridViewDataCheckColumn Caption="Прочтено" FieldName="IsRead"
</dxwgv:GridViewDataCheckColum
<dxwgv:GridViewDataHyperLinkCo
<PropertiesHyperLinkEdit NavigateUrlFormatString="~\
</PropertiesHyperLinkEdit>
<CellStyle HorizontalAlign="Left">
</CellStyle>
</dxwgv:GridViewDataHyperLinkC
<dxwgv:GridViewDataCheckColumn FieldName="HaveAttachment" Name="haveAttachment"
<propertiescheckedit>
<displayimagechecked ToolTip="Прикреплен файл" height="15px"
<displayimageunchecked url="~/Images/cleardot.gif" height="15px" width="15px" > </displayimageunchecked>
</propertiescheckedit>
</dxwgv:GridViewDataCheckColum
<dxwgv:GridViewDataTextColumn Caption="Получатель" FieldName="ToUserName"
Name="colToUser" VisibleIndex="4">
</dxwgv:GridViewDataTextColumn
</Columns>
<SettingsBehavior AutoExpandAllGroups="True"></S
</dxwgv:ASPxGridView>
<dxwgv:ASPxGridViewExporter ID="gridExporter" GridViewID="ASPxGridView" runat="server">
</dxwgv:ASPxGridViewExporter>
<dxe:aspxbutton id="BtnExcel" runat="server" style="float: right;" Border-BorderWidth="0" BackgroundImage-ImageUrl="
onclick="BtnExcel_Click" Height="16px" Width="16px" ImagePosition="Top">
</dxe:aspxbutton>
</asp:Content>
<asp:Content ID="Content4" runat="server" ContentPlaceHolderID="
<dxm:ASPxMenu ID="ASPxContextMenu" runat="server" OnItemClick="ASPxContextMenu_
<Items>
<dxm:MenuItem Name="Create" Text="Создать" NavigateUrl="~/CreateMessage.
</dxm:MenuItem>
</Items>
</dxm:ASPxMenu>
</asp:Content>
<asp:Content ID="Content5" runat="server" ContentPlaceHolderID="
<dxe:ASPxLabel ID="lPageName" runat="server" CssClass="PageName">
</dxe:ASPxLabel>
</asp:Content>
Message.cs
listAttachments.DataSource = attach;
Domain.MessageAttachment attachment
= Global.ServerObject.
int startPos = attachment.FileBody.Length - 128;
byte[] ecp = new byte[128];
byte[] file = new byte[attachment.FileBody.
for (int i = startPos; i < attachment.FileBody.Length; i++)
{
ecp[i - startPos] = attachment.FileBody[i];
}
for (int i = 0; i < file.Length; i++)
file[i] = attachment.FileBody[i];
AsymmetricSignatureDeformatter df;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(1024)
RSAParameters tmp = new RSAParameters();
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream(PublicKey, true);
tmp.Exponent = (byte[])bf.Deserialize(ms);
Информация о работе Создание Web-сервиса осуществляющего цифровую подпись