在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那里获取一个证书
浏览器一般用三样东西来确认服务器证书的有效性:
2. 证书的“Common Name”(CN)与请求中的主机名相匹配。比如,如果客户发起了一个到的请求,则CN必须是这样的:
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_
在树目录中选择服务器节点,在右面双击
输入新证书的名字后单击OK
现在你有了一个自签名证书。这个证书被标记为”
选择一个站点,在Actions 面板中单击Bindings… 。会显示出添加、修改、删除绑定对话框。单击Add…
默认设置是80 端口,在类型下拉框中选择https ,在SSL Certificate 下拉框中选择你刚才建立的自签名证书名字,单击OK
现在你已经完成SSL 绑定的建立工作了,剩下的就是要确认是否工作正常了。
在Actions 面板中,在Browse web site 下,单击刚才增加的绑定
由于这个证书是个自签名的证书,IE7
当你要求用户必须使用证书,又或者必须SSL 方式连接时,你需要配置SSL
64的win7系统如何使用农行网银啊?
(1)开始→运行→输入regedit;(2)修改注册表;32位win7下找到:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\ZGHD Cryptographic Service Provider v1.0]将Image Path值由“GP_”修改为“%SystemRoot%\System32\GP_”(即增加%SystemRoot%\System32\字段),结束。 64位win7下找到:[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Defaults\Provider\ZGHD Cryptographic Service Provider v1.0]将Image Path值修改为“%SystemRoot%\SysWOW64\GP_”(即增加%SystemRoot%\SysWOW64\字段),结束。 (3)无需重启,随便打开农行网银网址,出现“正在查找凭据平铺”,出现“确认证书”,点击确定即可出现“用户口令,请输入您的K宝密码”对话框,即可正常登陆网银。 本方法优点:(1)不需要在开始菜单程序里找到CSP工具,将K宝里的证书注册(2)不需要在桌面上找到“在线银行”的图标,通过双击这个图标进入农行的网站(3)不需要修改IE8诸多配置:例如启用“内存保护帮助减少联机攻击”,“使用直接插入自动完成功能(在Internet Explorer之外)”,降低“安全级别”,取消“启用保护模式”,修改“兼容性视图设置”里添加农行网银地址(4)不需要编辑C:\Windows\System32\drivers\etc\hosts文件,在hosts文件中加入农行网银地址 1
403 Forbidde
抄一段供参考:HTTP 错误 403 - 限制为仅本地主机访问 Internet 服务管理器 (HTML) HTTP 错误 403 403.1 禁止:禁止执行访问 如果从并不允许执行程序的目录中执行 CGI、ISAPI 或其他执行程序就可能引起此错误。 如果问题依然存在,请与 Web 服务器的管理员联系。 HTTP 错误 403 403.2 禁止:禁止读取访问 如果没有可用的默认网页或未启用此目录的目录浏览,或者试图显示驻留在只标记为执行或脚本权限的目录中的 HTML 页时就会导致此错误。 如果问题依然存在,请与 Web 服务器的管理员联系。 HTTP 错误 403 403.3 禁止:禁止写访问 如果试图上载或修改不允许写访问的目录中的文件,就会导致此问题。 如果问题依然存在,请与 Web 服务器的管理员联系。 HTTP 错误 403 403.4 禁止:需要 SSL 此错误表明试图访问的网页受安全套接字层(SSL)的保护。 要查看,必须在试图访问的地址前输入 https:// 以启用 SSL。 如果问题依然存在,请与 Web 服务器的管理员联系。 HTTP 错误 403 403.5 禁止:需要 SSL 128 此错误消息表明您试图访问的资源受 128 位的安全套接字层(SSL)保护。 要查看此资源,需要有支持此 SSL 层的浏览器。 请确认浏览器是否支持 128 位 SSL 安全性。 如果支持,就与 Web 服务器的管理员联系,并报告问题。 403.6 禁止:拒绝 IP 地址 处于安全考虑,安装程序限制 Internet Service Manager (HTML) 仅允许从服务器进行访问(本地主机,IP 地址 127.0.0.1)。 要远程使用 Internet Service Manager (HTML) 管理此服务器,请转到此服务器,并使用 Internet 服务管理器更新 Web 站点 IISADMIN 的 IP 地址限制:使用开始菜单打开 Internet Service Manager展开所连接的 Web 站点选择 IISADMIN 虚拟目录右键单击并选择属性选择目录安全性选项卡编辑 IP 地址和域名限制HTTP 错误 403 403.6 禁止:拒绝 IP 地址 如果服务器含有不允许访问此站点的 IP 地址列表,并且您正使用的 IP 地址在此列表中,就会导致此问题。 如果问题依然存在,请与 Web 服务器的管理员联系。 HTTP 错误 403 403.7 禁止:需要用户证书 当试图访问的资源要求浏览器具有服务器可识别的用户安全套接字层(SSL)证书时就会导致此问题。 可用来验证您是否为此资源的合法用户。 请与 Web 服务器的管理员联系以获取有效的用户证书。 HTTP 错误 403 403.8 禁止:禁止站点访问 如果 Web 服务器不为请求提供服务,或您没有连接到此站点的权限时,就会导致此问题。 请与 Web 服务器的管理员联系。 HTTP 错误 403 403.9 禁止访问:所连接的用户太多 如果 Web 太忙并且由于流量过大而无法处理您的请求时就会导致此问题。 请稍后再次连接。 如果问题依然存在,请与 Web 服务器的管理员联系 HTTP 错误 403 403.10 禁止访问:配置无效 此时 Web 服务器的配置存在问题。 如果问题依然存在,请与 Web 服务器的管理员联系。 HTTP 错误 403 403.11 禁止访问:密码已更改 在身份验证的过程中如果用户输入错误的密码,就会导致此错误。 请刷新网页并重试。 如果问题依然存在,请与 Web 服务器的管理员联系。 HTTP 错误 403 403.12 禁止访问:映射程序拒绝访问 拒绝用户证书图访问此 Web 站点。 请与站点管理员联系以建立用户证书权限。 如果必要,也可以更改用户证书并重试。
如何创建一个自签名的SSL证书
创建自签名证书的步骤注意:以下步骤仅用于配置内部使用或测试需要的SSL证书。 第1步:生成私钥使用openssl工具生成一个RSA私钥$ openssl genrsa -des3 -out 2048说明:生成rsa私钥,des3算法,2048位强度,是秘钥文件名。 注意:生成私钥,需要提供一个至少4位的密码。 第2步:生成CSR(证书签名请求)生成私钥之后,便可以创建csr文件了。 此时可以有两种选择。 理想情况下,可以将证书发送给证书颁发机构(CA),CA验证过请求者的身份之后,会出具签名证书(很贵)。 另外,如果只是内部或者测试需求,也可以使用OpenSSL实现自签名,具体操作如下:$ openssl req -new -key -out 说明:需要依次输入国家,地区,城市,组织,组织单位,Common Name和Email。 其中Common Name,可以写自己的名字或者域名,如果要支持https,Common Name应该与域名保持一致,否则会引起浏览器警告。 Country Name (2 letter code) [AU]:CNState or Province Name (full name) [Some-State]:BeijingLocality Name (eg, city) []:BeijingOrganization Name (eg, company) [Internet Widgits Pty Ltd]:joyiosOrganizational Unit Name (eg, section) []:info technologyCommon Name (e.g. server FQDN or YOUR name) [] Address []第3步:删除私钥中的密码在第1步创建私钥的过程中,由于必须要指定一个密码。 而这个密码会带来一个副作用,那就是在每次Apache启动Web服务器时,都会要求输入密码,这显然非常不方便。 要删除私钥中的密码,操作如下:cp rsa -in -out 第4步:生成自签名证书如果你不想花钱让CA签名,或者只是测试SSL的具体实现。 那么,现在便可以着手生成一个自签名的证书了。 $ openssl x509 -req -days 365 -in -signkey -out 说明:crt上有证书持有人的信息,持有人的公钥,以及签署者的签名等信息。 当用户安装了证书之后,便意味着信任了这份证书,同时拥有了其中的公钥。 证书上会说明用途,例如服务器认证,客户端认证,或者签署其他证书。 当系统收到一份新的证书的时候,证书会说明,是由谁签署的。 如果这个签署者确实可以签署其他证书,并且收到证书上的签名和签署者的公钥可以对上的时候,系统就自动信任新的证书。 第5步:安装私钥和证书将私钥和证书文件复制到Apache的配置目录下即可,在Mac 10.10系统中,复制到/etc/apache2/目录中即可。 需要注意的是,在使用自签名证书时,浏览器会提示证书不受信任,如果你是对外网站使用,建议还是去CA机构申请可信的SSL证书,现在证书也很便宜,沃通CA超快SSL Pre才488元/年。
发表评论