在IIS7中,HTTP.sys在内核模式下操作SSL加密解密,相对于IIS6,这种方式能提高近20%的性能。
当SSL运行于内核模式时,会将SSL绑定信息保存在两个地方。第一个地方,绑定配置保存在%windir%\System32\inetsrv\config\applicationHost.config中,当站点启动时,IIS7发送绑定信息给HTTP.sys,同时HTTP.sys会在特定的IP和端口监听请求。第二个地方,与绑定相关联的SSL配置保存在HTTP.sys配置中。使用netsh命令可以查看保存在HTTP.sys的SSL绑定配置:
netsh http show sslcert
当一个客户开始连接并初始化SSL协商时,HTTP.sys在它的配置中查找这个IP:Port对应的SSL配置。这个SSL配置必须包括证书hash值和名称:
l 在ApplicationHost.config中确认这个绑定是否存在
l HTTP.sys中是否包含有效证书的hash值以及命名是否存在
选择证书时,需要考虑以下问题:
是否想让最终用户能够通过你提供的证书确认你服务器的唯一性?
如果是的,则
要么建立一个证书请求,并且发送证书请求到证书权威机构(CA),比如VeriSign或者GeoTrust;
要么从Intranet的在线CA那里获取一个证书
浏览器一般用三样东西来确认服务器证书的有效性:
1. 当前日期在证书的有效期范围内
2. 证书的“Common Name”(CN)与请求中的主机名相匹配。比如,如果客户发起了一个到http://www.contoso.com的请求,则CN必须是这样的:http://www.contoso.com/
3. 证书的发行者是已知的和受到信任的CA
如果其中有1项失败,浏览器就会警告用户。如果你有个Internet站点或者你不怎么熟的Intranet用户,那你就需要确保这3项是都通过的。
自签名的证书可以用你自己的计算机创建。如果最终用户不重要,或者他们信任你的服务器,又或者用于测试环境,则这种自签名证书将会非常有用。
Ø 使用WMI来绑定SSL证书
使用WMI命名空间,是不能够请求或者创建证书。
建立SSL绑定
以下脚本展示了如何建立SSL绑定,以及添加相应信息到HTTP.sys中:
复制代码 代码如下:
Set oIIS = GetObject("winmgmts:root\WebAdministration")
'''''''''''''''''''''''''''''''''''''''''''''
' CREATE SSL BINDING
'''''''''''''''''''''''''''''''''''''''''''''
oIIS.Get("SSLBinding").Create _
"*", 443, "4dc67e0ca1d9ac7dd4efb3daaeb15d708c9184f8", "MY"'''''''''''''''''''''''''''''''''''''''''''''
' ADD SSL BINDING TO SITE
'''''''''''''''''''''''''''''''''''''''''''''
Set oBinding = oIIS.Get("BindingElement").SpawnInstance_
oBinding.BindingInformation = "*:443:"
oBinding.Protocol = "https"
Set oSite = oIIS.Get("Site.Name='Default Web Site'")
arrBindings = oSite.Bindings
ReDim Preserve arrBindings(UBound(arrBindings) + 1)
Set arrBindings(UBound(arrBindings)) = oBinding
oSite.Bindings = arrBindings
Set oPath = oSite.Put_
注意:证书的hash值和名称必须引用了你服务其上真实且有用的证书。如果其中有一项虚假,就会出现错误。
注意:证书的hash值和名称必须引用了你服务其上真实且有用的证书。如果其中有一项虚假,就会出现错误。
配置SSL设置
以下脚本展示了如何通过IIS7的WMI提供程序来设置SSL。
复制代码 代码如下:
CONST SSL = 8
Set oIIS = GetObject("winmgmts:root\WebAdministration")
Set oSection = oIIS.Get( _
"AccessSection.Path='MACHINE/WEBROOT/APPHOST',Location='Default Web Site'")
oSection.SslFlags = oSection.SslFlags OR SSL
oSection.Put_
使用IIS管理器来绑定SSL证书
当SSL运行于内核模式时,会将SSL绑定信息保存在两个地方。第一个地方,绑定配置保存在%windir%\System32\inetsrv\config\applicationHost.config中,当站点启动时,IIS7发送绑定信息给HTTP.sys,同时HTTP.sys会在特定的IP和端口监听请求。第二个地方,与绑定相关联的SSL配置保存在HTTP.sys配置中。使用netsh命令可以查看保存在HTTP.sys的SSL绑定配置:
netsh http show sslcert
当一个客户开始连接并初始化SSL协商时,HTTP.sys在它的配置中查找这个IP:Port对应的SSL配置。这个SSL配置必须包括证书hash值和名称:
l 在ApplicationHost.config中确认这个绑定是否存在
l HTTP.sys中是否包含有效证书的hash值以及命名是否存在
选择证书时,需要考虑以下问题:
是否想让最终用户能够通过你提供的证书确认你服务器的唯一性?
如果是的,则
要么建立一个证书请求,并且发送证书请求到证书权威机构(CA),比如VeriSign或者GeoTrust;
要么从Intranet的在线CA那里获取一个证书
浏览器一般用三样东西来确认服务器证书的有效性:
1. 当前日期在证书的有效期范围内
2. 证书的“Common Name”(CN)与请求中的主机名相匹配。比如,如果客户发起了一个到http://www.contoso.com的请求,则CN必须是这样的:http://www.contoso.com/
3. 证书的发行者是已知的和受到信任的CA
如果其中有1项失败,浏览器就会警告用户。如果你有个Internet站点或者你不怎么熟的Intranet用户,那你就需要确保这3项是都通过的。
自签名的证书可以用你自己的计算机创建。如果最终用户不重要,或者他们信任你的服务器,又或者用于测试环境,则这种自签名证书将会非常有用。
Ø 使用WMI来绑定SSL证书
使用WMI命名空间,是不能够请求或者创建证书。
建立SSL绑定
以下脚本展示了如何建立SSL绑定,以及添加相应信息到HTTP.sys中:
复制代码 代码如下:
Set oIIS = GetObject("winmgmts:root\WebAdministration")
'''''''''''''''''''''''''''''''''''''''''''''
' CREATE SSL BINDING
'''''''''''''''''''''''''''''''''''''''''''''
oIIS.Get("SSLBinding").Create _
"*", 443, "4dc67e0ca1d9ac7dd4efb3daaeb15d708c9184f8", "MY"'''''''''''''''''''''''''''''''''''''''''''''
' ADD SSL BINDING TO SITE
'''''''''''''''''''''''''''''''''''''''''''''
Set oBinding = oIIS.Get("BindingElement").SpawnInstance_
oBinding.BindingInformation = "*:443:"
oBinding.Protocol = "https"
Set oSite = oIIS.Get("Site.Name='Default Web Site'")
arrBindings = oSite.Bindings
ReDim Preserve arrBindings(UBound(arrBindings) + 1)
Set arrBindings(UBound(arrBindings)) = oBinding
oSite.Bindings = arrBindings
Set oPath = oSite.Put_
注意:证书的hash值和名称必须引用了你服务其上真实且有用的证书。如果其中有一项虚假,就会出现错误。
注意:证书的hash值和名称必须引用了你服务其上真实且有用的证书。如果其中有一项虚假,就会出现错误。
配置SSL设置
以下脚本展示了如何通过IIS7的WMI提供程序来设置SSL。
复制代码 代码如下:
CONST SSL = 8
Set oIIS = GetObject("winmgmts:root\WebAdministration")
Set oSection = oIIS.Get( _
"AccessSection.Path='MACHINE/WEBROOT/APPHOST',Location='Default Web Site'")
oSection.SslFlags = oSection.SslFlags OR SSL
oSection.Put_
使用IIS管理器来绑定SSL证书
获取一个证书
在树目录中选择服务器节点,在右面双击Server Certificates图标:
单击Create Self-Signed Certificate…按钮:
输入新证书的名字后单击OK。
现在你有了一个自签名证书。这个证书被标记为”服务器端验证”
建立SSL绑定
选择一个站点,在Actions面板中单击Bindings…。会显示出添加、修改、删除绑定对话框。单击Add…按钮添加新的SSL绑定。
默认设置是80端口,在类型下拉框中选择https,在SSL Certificate下拉框中选择你刚才建立的自签名证书名字,单击OK。
现在你已经完成SSL绑定的建立工作了,剩下的就是要确认是否工作正常了。
Ø SSL绑定的确认
在Actions面板中,在Browse web site下,单击刚才增加的绑定
由于这个证书是个自签名的证书,IE7会显示一个错误页面。
单击Continue to this website(not recommended).继续
Ø 配置SSL设置
当你要求用户必须使用证书,又或者必须SSL方式连接时,你需要配置SSL设置。双击SSL Settings如下图:
标签:
IIS7,SSL
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“IIS7下配置SSL的方法分析”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月23日
2024年11月23日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]