网站要用到https加密协议,请问如何申请

网站要用到https加密协议,请问如何申请,第1张

要想实现https加密需要申请一个SSL证书,申请步骤如下:

第一步:将CSR提交到代理商

CSR(Certificate Signing Request)文件必须由用户自己生成,也可以利用在线CSR生成工具。选择要申请的产品,提交一个新的订单,并将制作好的CSR文件提交。

第二步 资料提交到CA

当收到您的订单和CSR后,如果是域名验证型证书(DV SSL证书),在域名验证之后10分钟左右就可颁发证书,若是其他类型证书则是需要通过CA机构进行验证之后才可颁发。

第三步 发送验证邮件到管理员邮箱

权威CA机构获得资料后,将发送一封确认信到管理员邮箱,信中将包含一个 对应的链接过去。每一个订单,都有一个唯一的PIN以做验证用。

第四步 邮件验证

点击确认信中的链接,可以访问到CA机构验证网站,在验证网站,可以看到该订单的申请资料,然后点击”I Approve”完成邮件验证。

第五步 颁发证书

在用户完成邮件验证之后,CA机构会将证书通过邮件方式发送到申请人自己的邮箱,当用户收到证书后直接安装就可以了。若安装存在问题,我们是提供免费证书安装服务的。

为什么本地开发要使用HTTPS?

因为有很多Web API必须在HTTPS环境下才可以使用。比如,Clipboard API and events(https://wwww3org/TR/clipboard-apis)中的 navigatorclipboard 对象是通过扩展 Navigator 接口定义的:

在此,partial的意思就是扩展Navigator接口,给它增加一个Clipboard类型的只读成员属性clipboard。[SecureContext, SameObject]中的两个关键字是“扩展属性”(extended attribute),在这里修饰接口成员clipboard。SecureContext表示navigator只能在“安全上下文”中暴露clipboard属性,SameObject表示每次访问navigatorclipboard必须都返回相同的值。(参见:https://heycamgithubio/webidl/#SecureContext和https://heycamgithubio/webidl/#SameObject。)

关于“安全上下文”,W3C的Secure Contexts文档(https://w3cgithubio/webappsec-secure-contexts/)中有详细解释。根据MDN,全站HTTPS和通过http://localhost交付的网页是安全的。可以通过windowisSecureContext属性来检测当前上下文是否安全。

另外还有一个重要原因,就是有时候HTTP的本地请求可能会被HTTPS服务器拒绝。

无论如何,我们在开发实践中都有可能碰到将本地Web服务HTTPS化的需求。这时候,我们可以创建自己私钥并签名一个根证书,并在开发环境中配置安装和信任自己的根证书。然后再通过这个根证书和私钥签发相应域名的SSL证书。

好吧,开始干吧。

首先生成一个RSA-2048加密的私钥,保存为localCAkey。生成过程中,会提示输入密码(pass phrase),以后在使用生成的私钥签发证书时都要输入这个密码。

接下来用这个私钥生成一个根SSL证书,保存为localCApem。有效期为1825天(5年)。

在此期间,会提示输入:

打开macOS中的“钥匙串访问”应用:

1、“文件 > 导入项目”,选择localCApem,打开(需要输入密码)

2、双击导入的证书,在“信任”中选择“始终信任”

3、退出当前窗口(需要输入密码),“此证书已标记为受所有用户信任”

首先,创建域名SSL证书的私钥,“ext”的意思在这里表示“泛域名”,可以随意命名

然后,用这个密钥创建一个CSR(Certificate Signing Request,证书签名请求)文件

在创建证书之前,还要创建一个配置文件,将其命名为extyourdomaincomext,包含如下内容:

最后,为yourdomaincom域名签发SSL证书

把生成的证书和私钥文件复制到相应目录

假设使用Webpack的devServer,配置如下:

配置HOST文件:

重启服务:

再换一个子域名:

参考资料

HTTPS实际是SSL over HTTP, 该协议通过SSL在发送方把原始数据进行加密,在接收方解

密,因此,所传送的数据不容易被网络黑客截获和破解。本文介绍HTTPS的三种实现方法

方法一 静态超链接

这是目前网站中使用得较多的方法,也最简单。在要求使用SSL进行传输的Web网页链接

中直接标明使用HTTPS协议,以下是指向需要使用SSL的网页的超链接:

<a href=“https://192168100100/ok/securePagejsp”>SSL例子</a>

需要说明的是,在网页里的超链接如果使用相对路径的话,其默认启用协议与引用该超

链接的网页或资源的传输协议相同,例如在某超链接“https://192168100100/ok/l

oginjps”的网页中包含如下两个超链接:

<a href=“/bessl/examjsp”>SSL链接</a>

<a href=“http://192168100100/notssl/indexjsp”>非SSL链接

那么,第一个链接使用与“https://192168100100/ok/loginjsp”相同的传输协议

HTTPS,第二个链接使用本身所标识的协议HTTP。

使用静态超链接的好处是容易实现,不需要额外开发。然而,它却不容易维护管理; 因

为在一个完全使用HTTP协议访问的Web应用里,每个资源都存放在该应用特定根目录下的

各个子目录里,资源的链接路径都使用相对路径,这样做是为了方便应用的迁移并且易

于管理。但假如该应用的某些资源要用到HTTPS协议,引用的链接就必须使用完整的路径

,所以当应用迁移或需要更改URL中所涉及的任何部分如:域名、目录、文件名等,维护

者都需要对每个超链接修改,工作量之大可想而知。再者,如果客户在浏览器地址栏里

手工输入HTTPS协议的资源,那么所有敏感机密数据在传输中就得不到保护,很容易被黑

客截获和篡改!

方法二 资源访问限制

为了保护Web应用中的敏感数据,防止资源的非法访问和保证传输的安全性,Java Serv

let 22规范定义了安全约束(Security-Constraint)元件,它用于指定一个或多个We

b资源集的安全约束条件;用户数据约束(User-Data-Constraint)元件是安全约束元件

的子类,它用于指定在客户端和容器之间传输的数据是如何被保护的。用户数据约束元

件还包括了传输保证(Transport-Guarantee)元件,它规定了客户机和服务器之间的通

信必须是以下三种模式之一:None、Integral、Confidential。None表示被指定的Web资

源不需要任何传输保证;Integral表示客户机与服务器之间传送的数据在传送过程中不

会被篡改; Confidential表示数据在传送过程中被加密。大多数情况下,Integral或Co

nfidential是使用SSL实现。

这里以BEA的WebLogic Server 61为例介绍其实现方法,WebLogic是一个性能卓越的J2

EE服务器,它可以对所管理的Web资源,包括EJB、JSP、Servlet应用程序设置访问控制

条款。假设某个应用建立在Weblogic Server里的/mywebAPP目录下,其中一部分Servle

ts、JSPs要求使用SSL传输,那么可将它们都放在/mywebAPP/sslsource/目录里,然后编

辑/secureAPP/Web-INF/webxml文件,通过对webxml的设置可达到对Web用户实现访问

控制。

当Web用户试图通过HTTP访问/sslsource目录下的资源时,Weblogic Server就会查找we

bxml里的访问约束定义,返回提示信息:Need SSL connection to access this reso

urce。资源访问限制与静态超链接结合使用,不仅继承了静态超链接方法的简单易用性

,而且有效保护了敏感资源数据。然而,这样就会存在一个问题: 假如Web客户使用HT

TP协议访问需要使用SSL的网络资源时看到弹出的提示信息: Need SSL connection to

access this resource,大部分人可能都不知道应该用HTTPS去访问该网页,造成的后果

是用户会放弃访问该网页,这是Web应用服务提供商不愿意看到的事情。

方法三 链接重定向

综观目前商业网站资源数据的交互访问,要求严格加密传输的数据只占其中一小部分,

也就是说在一个具体Web应用中需要使用SSL的服务程序只占整体的一小部分。那么,我

们可以从应用开发方面考虑解决方法,对需要使用HTTPS协议的那部分JSPs、Servlets或

EJBs进行处理,使程序本身在接收到访问请求时首先判断该请求使用的协议是否符合本

程序的要求,即来访请求是否使用HTTPS协议,如果不是就将其访问协议重定向为HTTPS

,这样就避免了客户使用HTTP协议访问要求使用HTTPS协议的Web资源时,看到错误提示

信息无所适从的情况,这些处理对Web客户来说是透明的。

实现思想是:首先创建一个类,该类方法可以实现自动引导Web客户的访问请求使用HTT

PS协议,每个要求使用SSL进行传输的Servlets或JSPs在程序开始时调用它进行协议重定

向,最后才进行数据应用处理。

J2EE提供了两种链接重定向机制。第一种机制是RequestDispatcher接口里的forward()

方法。使用MVC(Model-View-Controller)机制的Web应用通常都使用这个方法从Servlet

转移请求到JSP。但这种转向只能是同种协议间的转向,并不能重定向到不同的协议。第

二种机制是使用HTTPServletReponse接口里的sendRedirect()方法,它能使用任何协议

重定向到任何URL,例如:

BeSslResponsesendRedirect(“https://192168100100/order”);

此外,我们还需使用到Java Servlet API中的两个方法:ServletRequest接口中的getS

cheme(),它用于获取访问请求使用的传输协议;HTTPUtils类中的getRequestUrl(),它

用于获取访问请求的URL,要注意的是该方法在Servlet 23中已被移到HTTPServletReq

uest接口。

以下是实现协议重定向的基本步骤:

1 获取访问的请求所使用的协议;

2 如果请求协议符合被访问的Servlet所要求的协议,就说明已经使用HTTPS协议了,不

需做任何处理;

3 如果不符合,使用Servlet所要求的协议(HTTPS)重定向到相同的URL。

例如,某Web用户使用HTTP协议访问要求使用HTTPS协议的资源BeSslServlet,敲入“UR

L:http://192168100100/BeSslServlet”,在执行BeSslServlet时首先使用Proces

sSslServlet.processSsl()重定向到https://192168100100/BeSslServlet,然后

BeSslServlet与客户浏览器之间就通过HTTPS协议进行数据传输。

以上介绍的仅是最简单的例子,是为了对这种重定向的方法有个初步的认识。假如想真

正在Web应用中实现,还必须考虑如下几个问题:

● 在Web应用中常常会用到GET或Post方法,访问请求的URL中就会带上一些查询字串,

这些字串是使用getRequesUrl()时获取不到的,而且在重定向之后会丢失,所以必须在

重定向之前将它们加入到新的URL里。我们可以使用requestgetQueryString()来获取G

ET的查询字串,对于Post的Request参数,可以把它们转换成查询串再进行处理。

● 某些Web应用请求中会使用对象作为其属性,必须在重定向之前将这些属性保存在该

Session中,以便重定向后使用。

● 大多数浏览器会把对同一个主机的不同端口的访问当作对不同的主机进行访问,分用

不同的Session,为了使重定向后保留使用原来的Session,必须对应用服务器的Cookie

域名进行相应的设置。

以上问题均可在程序设计中解决。

通过程序自身实现协议重定向,就可以把要求严格保护的那部分资源与其他普通数据从

逻辑上分开处理,使得要求使用SSL的资源和不需要使用SSL的资源各取所需,避免浪费

网站的系统资源。

HTTPS的优点:

SEO方面:谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。百度站长公告优先收录HTTPS网站并且针对HTTPS网站采取认证。

安全性:尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击。但HTTPS仍是现行架构下最安全的解决方案,主要有以下几个好处:

1)使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

2)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

HTTPS的缺点:

SEO方面:据ACM CoNEXT数据显示,使用HTTPS协议会使页面的加载时间延长近50%,增加10%到20%的耗电。此外,HTTPS协议还会影响缓存,增加数据开销和功耗,甚至已有安全措施也会受到影响也会因此而受到影响。

而且HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。

最关键的,SSL 证书的信用链体系并不安全。特别是在某些国家可以控制 CA 根证书的情况下,中间人攻击一样可行。

经济方面

1、SSL 证书需要钱。功能越强大的证书费用越高。个人网站、小网站没有必要一般不会用。

2、SSL 证书通常需要绑定 IP,不能在同一 IP 上绑定多个域名。IPv4 资源不可能支撑这个消耗。( SSL 有扩展可以部分解决这个问题,但是比较麻烦,而且要求浏览器、操作系统支持。Windows XP 就不支持这个扩展,考虑到 XP 的装机量,这个特性几乎没用。)

3、HTTPS 连接缓存不如 HTTP 高效,大流量网站如非必要也不会采用。流量成本太高。

4、HTTPS 连接服务器端资源占用高很多,支持访客稍多的网站需要投入更大的成本。如果全部采用 HTTPS,基于大部分计算资源闲置的假设的 VPS 的平均成本会上去。

5、HTTPS 协议握手阶段比较费时,对网站的相应速度有负面影响。如非必要,没有理由牺牲用户体验。

实现HTTPS必备的几个条件:

1、独立的域名,拥有域名解析权,如果没有无法验证域名,自然无法办理证书。

2、拥有独立服务器(虚拟主机不支持)办理网站建设完毕后或有调试界面安装SSL证书。

3、淘宝搜索:Gworg,获得信任SSL证书,拿到服务器环境证书安装教程进行安装。

根据以上情况:域名、独立服务器(云服务器)、Gworg 数字证书都是属于收费产品。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 网站要用到https加密协议,请问如何申请

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情