自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

PKI

  • 博客(53)
  • 收藏
  • 关注

原创 27.7 小结

  在本章中我们介绍了ASP/ASP.NET开发语言下的电子商务网站的开发。了解了IIS下配置SSL的方法,以及服务器获取客户端证书的方法。同时了解基于CAPICOM在客户端以及服务器的应用,并且介绍了如何自开发控件在客户端应用。最后给出了两个实例,安全登录和订单签名。以上操作基本上能满足我们在电子商务中的保密性、完整性、防抵赖等要求。在实际的项目开发中除了利用数字证书实现SSL以及数字签名外

2008-04-29 14:46:00 901

原创 27.6.4 验证签名后台页面(verifySign.aspx.cs)

  验证签名后台页面主要功能是验证客户端提交的签名,并解析XLML。verifySign.aspx.cs的主要代码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Securit

2008-04-29 14:44:00 2042

原创 27.6.3 签证签名页面前台(verifySign.aspx)

   验证签名前台页面显示验证签名成功后的业务数据。verifySign.aspx的主要代码如下:      无标题页买家:      78px;">卖家:  78px;">商品名称:  78px;">商品描述:  78px; height: 17px;">商品单价:

2008-04-29 14:43:00 1169

原创 27.6.2 签名页面后台(Sign.aspx.cs)

  签名页面后台 主要是检查Session,确定是合法的用户登录。Sign.aspx.cs的主要代码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;usi

2008-04-29 14:41:00 984

原创 27.6.1 签名页面前台(Sign.aspx)

   签名页面完成对业务数据的签名。首先是把表单的业务数据打包为XML,然后对XML字符串签名。Sign.aspx的主要代码如下:var strSerialNumber = ""var strSubject ="" function Sign(){     var oMySignCert;    var oMyData2Sign;    //把业务数据打

2008-04-29 14:40:00 1369

原创 27.6 开发实例-订单签名

  在安全登录页面的基础上我们需要在网上交易中对提交表单数据签名。这样才能实现责任认定,防抵赖。根据《电子签名法》,这样的签名数据具有法律效力。下面给出一个订单签名提交的例子。主要包括Sign.aspx和verifySign.aspx两个页面。当然还包括了用户登录模块。这里采用了上一节中的代码,就不再赘述了。q      Sign.aspx负责处理订单签名,在表单提交之前对表单内容签名。

2008-04-29 14:39:00 1117

原创 27.5.4 测试功能

假设我们把上述页面部署在IIS上,运行的效果如下:(1)以https访问login.aspx页面,弹出证书选择框,选择登录使用的证书,如图所示。(2)登录处理页面即login.aspx.cs代码获取证书信息,确定用户权限。如果是合法用户则跳转到main.apsx页面,否则跳转到err.aspx页面,如图所示。 

2008-04-29 14:38:00 707

原创 27.5.3 出错显示页面(err.apsx.cs)

  此页面为出错显示页面,此页面接收errmsg参数,设置出错提示的信息。err.apsx.cs的源码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;us

2008-04-29 14:36:00 812

原创 27.5.2 用户页面(main.apsx.cs)

  用户页面即合法用户登录后页面,此页面在Page_Load函数添加代码检查Session。如果Session失效则跳转到出错页面。main.apsx.cs的源码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;

2008-04-29 14:35:00 906

原创 27.5.1 登录处理页面(login.apsx.cs)

主题网站一般国外的多一些 国内的大多也不是原创。都是从国外的网站DOWN来的 先是几个网络硬盘的连接主题很多 http://alexjitaojun.ys168.com/ http://alexjitaojun1.ys168.com/ http://asca.ys168.com/ screen.width-333) {this.width=screen.width-333;this.a

2008-04-29 14:34:00 1627

原创 27.5 开发实例-安全登录

  本例介绍了利用双向SSL认证实现安全登录的例子,开发语言为ASP.NET。本例包含3个页面login.apsx、main.aspx以及err.apsx。login.apsx作为登录页面,接受用户的登录,其处理步骤为:(1)在IIS中,配置login.apsx页面,设置为请求SSL证书。(2)在login.aspx.cs中添加代码处理客户端证书,获得证书标识,查询后台数据库,验证用户

2008-04-29 14:33:00 1324

原创 27.4.2 如何在客户端部署和调用

  本例编译产生的文件PKIAppControl.ocx,需要安装并注册后才能被客户端调用。和CAPICOM一样也有两中方式:Web页面嵌入cab包,IE自动下载安装和手动注册。在Web页面嵌入的方法为在Web页面插入如下语句:相应接口的ClassID" codebase="打包组件的web路径#version=当前组件的文件版本号">假如我们把PKIAppControl.ocx打包为

2008-04-29 14:32:00 969

原创 27.4.3 代码示例

  以下代码给出了使用该控件三个函数的例子:获得证书名称列表、获得证书、签名。         test                              style= "HEIGHT: 1px; LEFT: 10px; TOP: 28px; WIDTH: 1px " width=1 VIEWASTEXT>                            

2008-04-29 14:32:00 936

原创 27.4.1 开发ActiveX控件

本控件只是个示例,功能比较简单,共有三个方法,本别是获取当前个人存储区证书列表、获取指定证书、使用指定证书签名。在Windows下使用Visual C++ 6.0开发ActiveX控件的步骤如下所示。(1) 打开VC6,单击【File】|【New】命令,弹出【New】对话框。(2)在【Projects】选项卡中,选择【MFC ActiveX ControlWizard】选项,创建一个A

2008-04-29 14:30:00 2167 1

原创 27.4 基于自开发控件应用

  使用自开发控件也可以完成客户端的数据签名操作,本小节将通过一个例子介绍如何创建一个ActiveX控件,如何在页面安装和脚本调用。

2008-04-29 14:28:00 913

原创 27.3.14 如何在服务器端安装部署和调用

在服务器安装CAPICOM组件需要手动注册capicom.dll,方法是复制capicom.dll文件至windows系统目录(例如: c:/winnt/system32/),然后在命令行中运行命令“regsvr32 capicom.dll”。在ASP服务器端,调用CAPICOM组件和其他组件的方法是一样的,都是通过Server.CreateObject函数。例如,在服务端验证客户端签名的

2008-04-28 17:55:00 1479 1

原创 27.3.13 如何在客户端安装部署、调用

CAPICOM不是Windows操作系统自带的组件,需要安装后才能使用。安装方式有2种,Web页面嵌入、手动安装。1.页面嵌入Web页面嵌入的方法为在Web页面插入如下语句:相应接口的ClassID" codebase="打包组件的web路径#version=当前组件的文件版本号">如对于版本为2.003的CAPICOM组件,在Web页面插入如下语句:此时capicom

2008-04-28 17:52:00 3752

原创 27.3.12 CAPICOM对象——其他对象

  CAPICOM中还有其他对象,有Algorithm,Attribute,Attributes,BasicConstraints,EKU,EKUS,ExtendedKeyUsage,KeyUsage,Settings。这里就不做详细介绍了,示例章节里有涉及。

2008-04-28 17:49:00 1071

原创 27.3.11 CAPICOM对象——Algorithm

  Algorithm对象为签名、数字信封、加密等操作设置加密算法以及密钥长度。它包括的主要属性如表所示。表Algorithm对象的主要属性 值 数据类型

2008-04-28 17:47:00 1006

原创 27.3.10 CAPICOM对象——Recipients

  Recipients对象为Certificate对象集。它可以对数字信封接收者的证书进行管理和操作。其属性和方法和普通的对象集是一样的,这里不做详细介绍了。对于Recipients对象主要有Add(添加一个证书对象到对象集)、Clean(从对象集删除所有的证书对象)、Remove(从对象集删除一个指定的证书对象)方法。

2008-04-28 17:46:00 931

原创 27.3.9 CAPICOM对象——EnvelopedData对象

  EnvelopedData对象提供了打包、解包数字信封的方法和属性。生成数字信封的过程是,首先产生一个临时对称加密密钥(session key),使用数字信封接收者证书的公钥对session key加密,然后用session key对待加密数据进行加密,加密后的数据以及加密后的session key组成了数字信封。它包括的主要属性如表所示。表EnvelopedData对象的主要属性

2008-04-28 17:45:00 2412 1

原创 27.3.7 CAPICOM对象——Signer对象

Signer对象为SignData对象的Signer参数。它包括主要的属性如表所示。表Signer对象的主要属性 值 数据类型 权限

2008-04-28 17:40:00 974

原创 27.3.8 CAPICOM对象——Signers对象

  Signers对象为Signer对象集,它所有的方法和属性和普通的对象集都是一样的,比如Item、Count、_NewEnum等。这里不做详细介绍了。

2008-04-28 17:40:00 966

原创 27.3.6 CAPICOM对象——SignedData对象

SignedData对象提供了利用数字证书签名和验证的的属性和方法,它是实际应用中经常用到的对象。它包括主要的属性如表所示。表  SignedData对象的主要属性 值 数据类型

2008-04-28 17:38:00 3098

原创 27.3.5 CAPICOM对象——Store对象

Store对象提供了一些选择、管理、使用证书存储区的属性和方法。它包括的属性如表所示。表CAPICOM_CHECK_FLAG对象的主要属性 值 数据类型

2008-04-28 17:36:00 3747 2

原创 27.3.4 CAPICOM对象——CertificateStatus对象

CertificateStatus对象包括了数字证书的状态信息。应用程序不需要直接创建这个对象,一般从Certificate对象的IsValid方法返回。其主要的属性如表所示。表CertificateStatus对象的主要属性 值

2008-04-28 17:23:00 1684

原创 27.3.3 CAPICOM对象——Certificates对象

  Certificates对象就是Certificate集。所有的方法和属性和普通的对象集都是一样的,比如Item、Count、 _NewEnum等。这里不做详细介绍了。

2008-04-28 17:22:00 1171

原创 27.3.1 CAPICOM简介

  在前面章节上介绍过,Windows操作系统为我们提供了先进的加密体系模型CryptAPI。CryptAPI提供了丰富的函数供我们完成签名、验证等操作,但是它是相当复杂的,也不适合在Web上直接调用。所以,微软同时提供了CAPICOM组件,封装了上述复杂的操作,只需要调用一两个函数就能满足指定的功能。CAPICOM是一个COM模型的组件,可以在Windows环境下各种语言中使用,而且,CAP

2008-04-28 17:21:00 2629 1

原创 27.3.2 CAPICOM对象——Certificate对象

Certificate对象就是单个数字证书对象。它包括如下主要的属性。表 Certificate对象的属性 值 数据类型 权限

2008-04-28 17:21:00 2543

原创 27.3 数据签名处理——基于CAPICOM的应用

  本章节将介绍如何在ASP/ASP.NET页面开发,完成表单数据的签名和验证。通常B/S模式实现签名操作需要调用控件/组件,客户端代码调用控件进行签名,服务端代码调用组件进行验证。客户端的控件可以通过脚本调用微软的CAPICOM,也可以调用自开发的应用控件。服务器代码可以调用微软的CAPICOM,也可以调用自开发的服务器组件。通常大家习惯调用CAPICOM来完成签名、验证等操作,因为其为

2008-04-28 17:20:00 1392

原创 27.2.2 ASP/ASP.NET页面获取客户端证书的方法

在ASP/ASP.NET页面上读取客户端数字证书有两中方法,分别是读取Request.ClientCertificate(key[SubField])和读取Request.ServerVaribles(Server Environment Variable)。1.读取Request.ClientCertificate(key[SubField])ClientCertificate集合是

2008-04-28 17:19:00 5931 1

原创 27.2.1 基于数字证书的用户身份认证的方法

  IIS建立了双向SSL认证,只有拥有合法客户端证书的用户才能浏览到页面。这样基本上就能确定用户身份的合法性,那么如何更细刻度的对用户身份的控制呢?对于某一个CA,其颁发的所有证书都有一个唯一的、不重复的号码:证书序列号。可以利用证书的序列号来区分不同的用户。那么,只需要修改一下网站后台数据库用户表,添加一个字段存放证书序列号。证书序列号就可以代替原来的用户名。原来的口令字段就不需要了。

2008-04-28 17:17:00 2780 1

原创 27.2 基于数字证书的用户身份认证

  IIS配置好服务器证书后,用户就可以通过通过HTTPS的方式访问Web站点了。如果配置了双向SSL,即要求客户端证书,WEB后台可以通过客户端证书获取用户身份,从而替代传统的用户名加口令方式的用户身份认证。采用基于数字证书的用户身份认证模式比传统用户名加口令方式更加安全。本章节将介绍如何开发ASP/ASP.NET页面进行用户身份认证。

2008-04-28 17:10:00 2543

原创 27.1.2 启用SSL

  服务器证书安装完成后,下面将介绍如何在服务器端启用SSL服务(1)打开【目录安全性】对话框,如图所示。(2)单击【安全通信】选项框中【编辑】按钮,进入【安全通信】对话框。选中【要求安全通信(SSL)】复选框,选中【客户证书】选项框中的【要求客户证书】单选框,如图所示。注意:“客户证书”选项组有三个选项,分别是“忽略客户证书”、“接受客户证书”、“要求客户证书”。“忽略客

2008-04-28 17:09:00 1000

原创 27.1.1 生成证书请求

为IIS配置SSL服务器证书首先要生成证书请求,然后提交申请给数字证书认证中心(CA)进行证书颁发。以下是生成证书请求的步骤。(1)启动计算机管理,展开网站名,选择要安装证书的Web站点,如图所示。(2)右击【默认网站】分支,选择【属性】命令,弹出【默认网站属性】对话框。选择【目录安全性】选项卡,如图所示。(3)单击【安全通信】选项框中的【服务器证书(S)】按钮,启动Web

2008-04-28 17:06:00 1564

原创 27.1 配置IIS的SSL服务器证书

   安全套接字层(SSL)是一套提供身份验证、保密性和数据完整性的加密技术。SSL最常用来在Web浏览器和Web服务器之间建立安全通信通道,同时能够对钓鱼攻击起到抑制作用。为支持SSL通信,必须为Web服务器配置SSL证书。本章介绍如何获取SSL证书,以及如何配置Microsoft Internet 信息服务(IIS),以便支持Web浏览器和其他客户端应用程序之间使用SSL安全地进行通信

2008-04-28 15:58:00 843

原创 第27章 ASP/ASP.Net电子商务网站应用

  构建安全的电子商务网站必须解决用户身份识别、数据传输的保密性和交易的不可抵赖性,同时还需要防钓鱼,以增强用户的消费信心。本章节内容主要包括两部分:配置SSL服务器证书以及基于ASP/ASP.NET语言的安全电子商务网站的开发。

2008-04-28 15:57:00 990

原创 10.3.2 客户端

  客户端实现步骤如下。(1) 打开VC6,单击【File】|【New】命令,弹出【New】对话框。(2)在【Projects】选项卡中,选择【MFC AppWizard(exe)】选项,创建一个MFC应用程序。在【Projectname】文本框中,输入项目名称“client”,如图10.18所示。图10.18 新建VC工程(3)单击“OK”,在创建MFC应用程序向导对话框

2008-04-24 14:49:00 1022

原创 10.3.1 服务端

  服务端实现步骤如下。(1) 打开VC6,单击【File】|【New】命令,弹出【New】对话框。(2)在【Projects】选项卡中,选择【MFC AppWizard(exe)】选项,创建一个MFC应用程序。在【Projectname】文本框中,输入项目名称“server”,如图所示。(3)单击“OK”,在创建MFC应用程序向导对话框选择应用程序类型,这里选择“Dila

2008-04-24 14:42:00 1065

原创 10.3 功能实现

  下面分别介绍服务端和客户端的编程开发具体实现过程。

2008-04-24 14:38:00 687

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除