一、写在前面

  SSL和IPsec是现在VPN技术中最为常见的,在云计算的应用环境中,SSL更受企业青睐,至于原因的话简单的说就是SSL更为简洁,不需要像IPsec那样需要额外安装客户端,这会带来软件维护升级的问题,现在多数的云计算的服务仅需要一台浏览器就可以访问,而几乎所有的浏览器都默认实现了SSL协议,也就意味着若是使用SSL协议客户几乎不用做任何改动,还像以前一样使用浏览器即可。还有些其他原因,在此不赘述,有想了解的可以自行百度。今天要讲的主要是SSL协议可以实现的身份认证这一功能。浏览器如何在通信开始前确认,要通信的对方就是想要通信的对方,而不是冒名顶替,书上说只需服务器将证书发送给浏览器即可,那么这一步骤具体是怎么样的?为什么这样就可以完成身份认证?不会担心其他网站的直接复制证书进行顶替?或者自己制作证书?

二、SSL身份认证

  证书的颁发是由可信的第三方(常说的CA)进行的,若你有个域名想要为它申请证书(指通用的证书,不包括自己制作的情形),可以去网上提供证书服务的网站,根据你想要的证书级别交钱,接受审核(不同级别的证书需要经过的审核程度不同),获得证书了,注意证书内容主要包括,经摘要算法计算过得到的包含网站信息等内容摘要、摘要算法、公钥(服务器端)等,在证书中呈现的是对上述证书内容的使用CA私钥签名的内容。当客户端收到证书后,可以通过客户端浏览器内置的CA根证书,获得对应CA机构的公钥,然后使用公钥解开私钥,并根据此时通信对方的信息,使用摘要算法重新计算内容摘要,与使用公钥获得的内容摘要进行对比,若一致则可以确认通信对方的身份,否则认为对方是不可信的生成告警信息。

  为什么不会但心其他网站直接复制证书?其他网站是可以复制但是在计算摘要的时候会出现不同,即证书认证没通过。恶意网站是否可以自己制作证书?可以制作证书,但是浏览器中不存在与恶意网站自己制作证书相对应的根证书,也就拿不到解开证书的公钥,证书认证依旧没有通过,依旧会生成告警信息。

  但是如果想测试这一整个身份认证过程,你是可以自己生成CA根证书然后添加到浏览器中,然后再制作服务器端的证书,这样是可以通过身份认证的,但仅限添加了你自己制作了CA根证书的浏览器。

关于证书如何完成身份验证(SSL证书)的更多相关文章

  1. Nginx集群之SSL证书的WebApi身份验证

    目录 1       大概思路... 1 2       Nginx集群之SSL证书的WebApi身份验证... 1 3       AuthorizeAttribute类... 2 4       ...

  2. 各种HTTPS站点的SSL证书 ,扩展SSL证书,密钥交换和身份验证机制汇总

    各种HTTPS站点的SSL证书 ,扩展SSL证书,密钥交换和身份验证机制汇总 一份常见的 HTTPS 站点使用的证书和数据加密技术列表,便于需要时比较参考,将持续加入新的 HTTP 站点,这里给出的信 ...

  3. Requests对HTTPS请求验证SSL证书

    SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发.该安全协议主 ...

  4. 阿里云ssl证书过期怎么解决 (免费SSL证书) 三步解决

    阿里云ssl证书过期怎么解决(免费SSL证书),三步解决 使用免费的SSL证书网站  https://ohttps.com 1.注册帐号 2.申请证书 3.部署到阿里云 4.注意事项 1.注册帐号 到 ...

  5. nginx下如何配置 ssl证书?腾讯云ssl证书为例!

    nginx下如何配置 ssl证书?腾讯云ssl证书为例! 目前为止,https已经成为一种趋势,想要开启https就需要ssl证书. 首先,为域名注册ssl证书. 腾讯云注册地址:https://cl ...

  6. linux c++ curl https 请求并双向验证SSL证书

    1.配置curl https请求需要提供 CA证书.客户端证书和客户端秘钥,这三个文件的pem格式. 分别对应 curl_easy_setopt() 函数的 下面三个参数: CURLOPT_CAINF ...

  7. openssl 自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书

    server { listen 80; listen 443 ssl; server_name ~^((cloud)|(demo-cloud)|(demo2-cloud)|(approval1))(( ...

  8. 用XCA(X Certificate and key management)可视化程序管理SSL 证书(2)--生成SSL证书请求

    在上个章节中,我们提到了怎样安装XCA(X Certificate and key management)程序.这个章节我们開始正式介绍怎样用XCA生成证书请求.假设大家用过java的话.肯定知道jd ...

  9. nginx的conf文件,两种配置方式,第一种无ssl证书,第二种有ssl证书。

    以下为无ssl证书配置的请求转发 server { listen 80; server_name api.******.com; location ~* /union { client_max_bod ...

随机推荐

  1. AngularJS 插值字符串 $interpolate

    定义: $interpolate:编译一段带有嵌入标记的语句,然后返回一个interpolate(插值)函数.使用: $interpolate(text,[mustHaveException],[tr ...

  2. Web网站实现facebook登录

    一.登录facebook开发者中心:https://developers.facebook.com 二.创建应用编号,如下图: 三.添加产品选择Facebook登录,如下图: 四.facebbok登录 ...

  3. pip笔记(译)

    从PyPI中安装包 >>> pip install SomePackage [...] Successfully installed SomePackage 从PyPI或其他地方安装 ...

  4. django数据表生成

    在创建的app中models.py生成表结构 class 表名(models.Model): #表名一般首字母大写 中突出信息的大写 列名=models.Charfield(max_lenth=) # ...

  5. angularcli 第八篇(router 路由)

    更多详细:https://segmentfault.com/a/1190000009265310 一.标题:页面有两个按钮(test1.test2),点击这两个按钮,跳转相应页面~ 注:可直接创建一个 ...

  6. C++ STL hash表用法

    C++ STL unordered_map用法 在C++11中,unordered_map作为一种关联容器,替代了hash_map,unordered_map的底层实现是hash表,所以被称为无序关联 ...

  7. 从客户端(content="xxxxx")中检测到有潜在危险的 Request.Form 值——较合理解决方案

    1,修改配置文件: <httpRuntime requestValidationMode = "2.0" /> 以上修改是必须的,因为高版本的.netframework ...

  8. python+正则+多进程爬取糗事百科图片

    话不多说,直接上代码: # 需要的库 import requests import re import os from multiprocessing import Pool # 请求头 header ...

  9. Python使用pip安装Numpy模块

    安装Numpy模块一般有两种安装方法: 一:下载模块对应的.exe文件,直接双击运行安装 二:下载模块对应的.whl文件,使用pip安装 对于exe文件的安装比较简单,都是双击运行,这里就不说了. 这 ...

  10. 学.Net Core Web Api开发 ---- 系列文章

    循序渐进学.Net Core Web Api开发系列[1]:开发环境 循序渐进学.Net Core Web Api开发系列[2]:利用Swagger调试WebApi 循序渐进学.Net Core We ...