惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
T
The Exploit Database - CXSecurity.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Security @ Cisco Blogs
T
Threat Research - Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
腾讯CDC
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
The Blog of Author Tim Ferriss
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
F
Full Disclosure
博客园 - 【当耐特】
C
CERT Recently Published Vulnerability Notes
Engineering at Meta
Engineering at Meta
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Threatpost
I
Intezer
V2EX - 技术
V2EX - 技术
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Hacker News
The Hacker News
小众软件
小众软件
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog
N
News | PayPal Newsroom
MyScale Blog
MyScale Blog
AI
AI
Vercel News
Vercel News
Spread Privacy
Spread Privacy
美团技术团队
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The GitHub Blog
The GitHub Blog
V
Vulnerabilities – Threatpost
Schneier on Security
Schneier on Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
Help Net Security
Help Net Security
Hacker News: Ask HN
Hacker News: Ask HN
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
L
LINUX DO - 热门话题
U
Unit 42
L
LangChain Blog
Recent Announcements
Recent Announcements

博客园 - 醒了又睡的鱼.NET

FabricExpress.net supply high quality quilting fabric 开着房车去旅行! 宁波房车出租 宁波房车旅游 Adobe Dreamweaver CS5试用点滴感受 杭州交通违规处理地点大全 一份比较完整的电子商务项目可行性报告书 彪悍的女程序员 出自一位很黄很贱的人,超搞笑 设计师赚美金的好地方 VS2008技巧,非常实用,非常提高效率。 那些相见恨晚的 JavaScript 技巧 谁将成为下一个Twitter?最新最酷的创业奇思妙想 flash10使用RTMFP 开发点对点P2P应用 ASP.NET动态修改META信息 - 醒了又睡的鱼.NET - 博客园 C# 实现在线软件自动升级自动下载更新文件 兔子是如何吃掉狼的 java里连接sqlserver对象名无效的解决方法 java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 无效 苍天啊大地啊,谁能解决这个问题啊(asp.net开发WAP,关于SelectionList和response.redirect) C#多线程中lock的用法 J2me c/s结构,访问数据库
详解在Visual 2008中实现HTTPS和SSL
醒了又睡的鱼.NET · 2010-07-02 · via 博客园 - 醒了又睡的鱼.NET

【IT专家网独家撰稿】SSL安全套接字层是基于B/S软件架构开发中很常见的一种安全措施。如通过网页访问OA系统或者电子商务系统,都会采用HTTPS和SSL安全套接字层。这主要是因为普通的网页采用的是HTTP协议,其没有采用加密机制。为此用户名、账户等机密信息在网络中是明文传播的,容易被人窃取。而SSL套接字层,其一个重要的功能就是对网络中传输的数据进行加密,以确保数据的安全性。为此在Visual Studio2008中开发B/S架构的应用软件,如何在这个平台上实现HTTPS和SSL,也是必须要掌握的一项技能。

  一、配置HTTPS和SSL安全套接字层的一个原则问题。

  在进行具体的配置之前,开发人员必须要牢记一个原则。如果要为SSL安全套接字层连接配置生成代理,则必须为每个IP地址和端口组合分别配置一个HTTPS证书。这书什么意思呢?即如果所有生成代理在生成计算机上共享通一个端口,则只能够配置一个证书。儿如果需要在多个端口上生成多个生成代理,则必须为每一个端口分别配置一个证书。总之必须为每一个IP地址和端口的组合分别配置一个HTTPS证书。多一个不行,少一个也不行。否则的话,后续测试时就会有问题。

  在实际工作中,经常有人在这里载跟斗。最常见的错误就是“小气”。如可能需要在多个端口上生成代理,但是没有为每一个端口分别配置一个证书。特别是对刚开始接触这个安全套接字层的开发人员来说,很多人都会在这个问题上交学费。故笔者再次强调一下,如果要为SSL安全套接字层连接配置生成代理的话,一定要为每个IP地址和端口组合分配配置一个HTTPS证书。一一对应,不能多也不能够少。

  二、安装配置的前提条件。

  在Visual2008上实现HTTPS和SSL,除了需要牢记上面这个基本原则之外,还需要注意在对其进行配置之前必须要具备的一些前提条件。具体的说,有如下准备工作需要做。

  一是需要确认是否已经为生成代理颁发了证书。在原则问题上,笔者已经强调了必须要为每个IP地址和端口组合分别配置一个HTTPS证书。故在配置之前,证书就必须存在。没有证书的话,后续的工作就无法做了。所以程序开发人员还需要跟企业的证书管理人员联系,确认是否已经生成了证书。

  二在代理服务器上,是否安装了所必须的组件,并确认这些组件是否运行正常。如通常情况下,需要在生成计算机上安装Windows支持工具。只有通过这个支持工具,才能够将申请到的HTTPS证书与IP地址和端口进行关联。如需要安装Visual团队资源管理器,并确保这个工具运行正常。

  三是需要管理员的权限。通常情况下,程序开发人员在开发应用程序的时候,不会采用管理员的角色。出于稳定方面的需要,往往采用的是普通用户的角色进行开发。但是如果要实现SSL安全套接字曾的话,则对这个权限有比较特殊的要求。它需要在安装团队资源管理器的电脑上具有管理员的权限。否则的话,在配置时会提示权限不足。这主要是因为将证书与端口进行关联的话,设计到操作系统层面的内容。只有具有管理员权限的用户,才能够完成这个操作。

  三、配置实例。

  笔者下面就以一个实际案例为例,具体介绍一下HTTPS和SSL安全套接字层的实现过程以及相关的注意事项,供大家参考。一般来说,要为生成代理配置SSL的话,以下步骤是必须的。

  第一步:在服务器上创建生成代理并为其要求HTTPS。

  注意:默认情况下是不会采用HTTPS和SSL建立连接的。因为大部分网页不需要这么高的安全性。故一般都是服务器要求客户端启用SSL连接。客户端答应之后,才会使用这个安全连接。如果拒绝,则连接请求可能会被取消。故第一步就是要讲生成代理配置为要求HTTPS和SSL连接。具体的配置过程如下。

  打开“管理生成代理”对话框,选中“要求安全通道HTTPS”复选框。然后选择编辑,在弹出来的“生成代理属性”对话框中,从代理状态下拉菜单中选中“禁用”。

  第二步:在生成代理中将Visual Studio Team Foundation Build配置要求为HTTPS。

  注意:默认情况下,Visual Studio Team Foundation Build的配置为不要求HTTPS。在实现SSL的时候,需要更改这个配置,将其更改为要求HTTPS。在更改的时候,首先需要将这个服务停用掉。打开的服务不允许用户对其属性进行更改。这一点需要注意。另外更改这个配置的话,与第一步不同,需要比较高的权限,即计算机上的管理员权限。如果程序开发人员所用的账户没有这个权限的话,就需要更换账户登陆.

更改设置的时候,需要比较细心。因为没有专门的窗口来完成这个更改。开发人员需要直接对源文件进行设置。具体的来说,需要修改TfsBuildservice.config.exe这个文件。将这个文件利用XML编辑器打开,然后找到RequireSecureChannel这个键(可以通过查询功能查找)。找到后将其属性值改为true即可。修改后保存文件。

  注意:修改完之后,先不要急着重新启动这个服务。因为后续的几个步骤,仍然要求在这个服务停用的情况下进行配置。

  第三步:将HTTPS证书与IP地址和端口进行关联。

  注意:在进行这个配置之前,笔者不厌其烦的再强调一次,一定要为每个IP地址和端口组合分别配置一个证书。即要一对一,多一个少一个都不行。还有就是进行这个配置的时候,也需要用到管理员权限,并且Visual Studio Team Foundation Build服务必须处在停用状态。最后需要提醒的是,必须在Team Foundation Build 服务帐户个人存储区或本地计算机个人存储区中安装Visual Studio Team Foundation Build服务的证书。如果在登录用户的个人存储区中安装证书,则Team Foundation Build将不会正常运行。

  在进行关联之前,需要对证书进行修改。程序开发人员可以将证书通过文本编辑器打开,然后清除十六进制字符之间的所有空格。这里有一个技巧供大家参考。在文本编辑器中有一个查找替换功能,可以通过这个功能将每一个空格替换为NULL字符,实现清除空格的目的。证书更改完成之后,再使用Httpcfg命令将HTTPS证书与IP地址和端口进行关联。

  注意:微软不同版本的操作系统,其进行关联的命令是不同的。在2003操作系统上,使用的是httpcfg命令。但是如果使用2008开发的话,则使用的是netsh命令。程序开发人员也没有必要进行强制的记忆。反正到目前为止,就是这两个命令。开发人员试一下就知道了。语法相同,只是命令的名字不同而已。

  第四步:对生成代理端口和协议进行相关配置。

  在完成如上的步骤之后,还需要对生成代理端口和协议进行相关的配置。在这个步骤中,主要有两项工作。一是使用wcfhttpconfig free命令,对端括号进行配置。二是如果服务器外面存在防火墙的话,则需要对防火墙进行配置。需要将这个端口加入到防火墙的例外列表中。注意这个防火墙的配置非常的重要。如果漏掉这一步的话,可能防火墙另外一端的用户就无法正常连接。这一步完成后,就可以重新启动服务了。

  第五步:验证SSL的配置是否准确。

  完成以上的功能之后,就需要对SSL的配置进行验证,判断其是否准确。验证的过程也比较简单,只需要将生成代理属性对话框中的代理状态更改为“启用”,通过使用生成代理执行生成来验证以上的配置是否正确无误。