DJ尐舞の結界
闪存
首页
新随笔
管理
订阅
随笔- 106 文章- 0 评论- 133
【转】在IIS 7.0上使用自签证书来启用SSL
【原文地址】
Tip/Trick: Enabling SSL on IIS 7.0 Using Self-Signed Certificates
SSL
允许浏览器与web服务器在一个安全的通道上交换信息,以防范窃听,篡改和消息伪造。你应该总是在登录页面(用户在上面输入用户名和密码),以及网站上其他所有安全敏感的网页上使用SSL,譬如,那些显示财务或个人信息的帐号网页。
在Windows早期的IIS版本上配置SSL很痛苦,搞清楚如何安装和管理证书,然后如何将证书与一个网站相关联,我敢说是大多数web开发人员并不知道怎么做的事情。
好消息是,IIS 7.0使配置和启用SSL成为小菜一碟。IIS 7.0现在对创建“自签证书(Self Signed Certificates)”也有内置的支持,自签证书允许你轻松地创建测试或个人证书,然后你可以用之来为开发或测试目的对一个网站快速启用SSL。
使用IIS 7.0的话,你可以在30秒内对一个现有的网站完成启用SSL。下面的教程示范该怎么来做。
第一步:创建一个新网站
我们先使用新的IIS 7.0管理工具创建一个新的网站。这个管理工具是对以前IIS管理工具的完全重写的结果(是使用Windows Forms全部用托管代码写成的),提供了对web特性更逻辑的组织。它对所有的ASP.NET和IIS设置提供了一个GUI管理体验:
要在机器上创建一个新的网站,在左手的树形视图窗口里右击“网站(Web Sites)”节点,选择“添加网站(Add Web Site)”上下文菜单选项。输入适当的细节创建一个新的网站:
Windows Vista上IIS7的一个很棒的特性是,你现在可以在本机上拥有的网站数目不再受限制(早期Windows客户机上IIS版本只允许一个网站)。早期Windows客户机IIS版本的10个并发请求的限制在IIS 7.0上也不再存在。
我们完成上面的步骤后,在我们的IIS web服务器上就有一个崭新的网站在运行了。
第二步:创建一个新的自签证书
在把SSL规则绑定到我们的新网站之前,我们首先需要引入和建立一个安全证书来用于SSL绑定。
在IIS 7.0中,可以这么来管理证书,点击左手树形视图管理器里的根机器节点(root machine node),然后在右边的特性视窗里选择“服务器证书(Server Certificates)”图案:
这会列出在机器上注册了的所有证书,并允许你引入或者创建新的证书。
我也可以去象Verisign这样的证书机构购买一个证书,然后用这个管理界面来引入。或者,我也可以创建一个“自签证书”,这是个测试证书,我可以在开发期间用来测试我的网站。可以这么做,在管理工具的右手边点击“创建自签证书(Create Self-Signed Certificate)”链接:
给证书输入一个名字 (譬如:“test”),点击OK. 然后IIS7就会自动为你创建一个自签加密证书(self-signed crypto certificate),同时与机器注册该证书:
第三步: 为我们的网站启用HTTPS绑定
要给我们在前面创建的网站启用SSL,在左手边的树形视图窗口里选择网站节点,然后在屏幕右手边的“操作(actions)”视窗里点击“绑定(Bindings)”链接:
这会调出一个对话框,上面列出了将访问者(traffic)导向该网站的所有的绑定规则 (即,该网站的主机头(host-header)/IP地址/端口组合):
要给网站启用SSL,我们要点击“添加(Add)”按钮。这会调出一个“添加绑定(add binding)”对话框,我们可以用来添加HTTPS协议支持。我们可以从对话框上的SSL证书下拉框里选择我们先前创建的自签证书, 这么做表明在SSL上给内容加密时,我们要使用那个证书:
Click ok, and we now have SSL enabled for our site:点击OK,我们就给我们的网站启用了SSL:
第四步:对我们的网站做测试
给网站添加一个“default.aspx”网页,然后在浏览器里输入
https://localhost/default.aspx
来试着访问该页,注意这里“https”(而不是“http”)的用法,表示你要通过SSL来连接。
如果你使用IE7,你会看到这个谨防欺诈(anti-phishing)的错误信息:
如果这发生的话,别怕,这只不过是IE想帮你,向你表明你本地机器的自签证书看上去有点可疑。点击“继续连接这个网站(Continue to this website)”链接跳过这个安全警告,继续连接到该网站上。你会发现你的default.aspx网页现在是在SSL保护下运行的:
至此,全部完成!
附录:几个关于SSL的注意事项
最后,几个涉及SSL的注意事项:
IIS 7.0管理工具有个“SSL设置(SSL Settings)”节点,你可以针对每个网站,目录或者文件来做选择,这允许你控制特定的资源执行时是否需要SSL请求。这对login.aspx这样的网页来说很有用,因为你要保证只有在加过密的通道上提交信息时,用户才能输入他们的身份信息。假如你配置login.asp需要SSL的话,IIS 7.0就会堵截浏览器的访问,除非是通过SSL来访问的。
在ASP.NET网页或处理器(handler)里,你可以通过检查Request.IsSecure属性,用编程的手法检查当前请求是否使用了SSL(假如进来的浏览器请求是通过SSL的,该属性会返回true)。
你可以设置web.config文件中的 配置部分的“requireSSL”属性,要求ASP.NET的表单认证系统确保表单认证cookie只有在启用了SSL的网页和URLs上才可以设置和使用。这避免了黑客在不受SSL保护的网页上试着拦截认证cookie,然后试着从另外的机器上使用“重放攻击(Replay Attack)”来冒充用户的危险。
Everyday is lonely day.
孤独的滋味谁来陪我体会~
绿色通道:
好文要顶
关注我
收藏该文
与我联系
posted @ 2008-08-21 10:30
DJ尐舞
阅读(398)
评论(0)
编辑
收藏
注册用户登录后才能发表评论,请
登录
或
注册
,
返回博客园首页
。
首页
博问
闪存
新闻
园子
招聘
知识库
最新IT新闻
:
·
《福布斯》:谷歌进军硬件产品 难撼动苹果地位
·
美国空军拟最多购买1.8万台iPad 2
·
伊朗封杀Gmail和Facebook等互联网服务
·
分析称专利之争让谷歌苹果两败俱伤
·
Android平台发现新型手机病毒Rootsmart
»
更多新闻...
最新知识库文章
:
·
高级编程语言的发展历程
·
如何学习一门新的编程语言?
·
学习不同编程语言的重要性
·
为什么我喜欢富于表达性的编程语言
·
计算机专业的女生为什么要学编程
»
更多知识库文章...
China-pub 2011秋季教材巡展
China-Pub 计算机绝版图书按需印刷服务
公告
请点击播放键播放音乐:)
昵称:
DJ尐舞
园龄:
3年6个月
粉丝:
6
关注:
4
搜索
我的标签
C#(11)
.NET(10)
ASP.NET(9)
PetShop4.0(6)
正则(3)
PetShop(3)
tfs(2)
team foundation server(2)
MFC(2)
C++(1)
更多
随笔分类
(209)
★★我的小作品★★(4)
(rss)
【计算机】AJAX&altas(14)
(rss)
【计算机】ASP.NET(37)
(rss)
【计算机】C#(30)
(rss)
【计算机】C++/MFC(9)
(rss)
【计算机】CSS样式(2)
(rss)
【计算机】DELPHI(6)
(rss)
【计算机】dotNet(17)
(rss)
【计算机】JAVA(1)
(rss)
【计算机】Javascript(6)
(rss)
【计算机】Linux(2)
(rss)
【计算机】PHP(1)
(rss)
【计算机】Silverlight
(rss)
【计算机】SQL(1)
(rss)
【计算机】Web技术(45)
(rss)
【计算机】Windows(3)
(rss)
【计算机】软件工程(11)
(rss)
【计算机】数据结构&算法(3)
(rss)
【计算机】图形学 (2)
(rss)
【计算机】新软推荐(12)
(rss)
非技术区(3)
(rss)
随笔档案
(101)
2009年10月 (1)
2009年9月 (1)
2009年4月 (1)
2009年3月 (3)
2009年2月 (2)
2009年1月 (1)
2008年12月 (1)
2008年11月 (16)
2008年10月 (7)
2008年9月 (11)
2008年8月 (57)
友情链接
我的CSDN博客
积分与排名
积分 - 73205
排名 - 1435
最新评论
阅读排行榜
评论排行榜
推荐排行榜