关于证书如何完成身份验证(SSL证书)
一、写在前面
SSL和IPsec是现在VPN技术中最为常见的,在云计算的应用环境中,SSL更受企业青睐,至于原因的话简单的说就是SSL更为简洁,不需要像IPsec那样需要额外安装客户端,这会带来软件维护升级的问题,现在多数的云计算的服务仅需要一台浏览器就可以访问,而几乎所有的浏览器都默认实现了SSL协议,也就意味着若是使用SSL协议客户几乎不用做任何改动,还像以前一样使用浏览器即可。还有些其他原因,在此不赘述,有想了解的可以自行百度。今天要讲的主要是SSL协议可以实现的身份认证这一功能。浏览器如何在通信开始前确认,要通信的对方就是想要通信的对方,而不是冒名顶替,书上说只需服务器将证书发送给浏览器即可,那么这一步骤具体是怎么样的?为什么这样就可以完成身份认证?不会担心其他网站的直接复制证书进行顶替?或者自己制作证书?
二、SSL身份认证
证书的颁发是由可信的第三方(常说的CA)进行的,若你有个域名想要为它申请证书(指通用的证书,不包括自己制作的情形),可以去网上提供证书服务的网站,根据你想要的证书级别交钱,接受审核(不同级别的证书需要经过的审核程度不同),获得证书了,注意证书内容主要包括,经摘要算法计算过得到的包含网站信息等内容摘要、摘要算法、公钥(服务器端)等,在证书中呈现的是对上述证书内容的使用CA私钥签名的内容。当客户端收到证书后,可以通过客户端浏览器内置的CA根证书,获得对应CA机构的公钥,然后使用公钥解开私钥,并根据此时通信对方的信息,使用摘要算法重新计算内容摘要,与使用公钥获得的内容摘要进行对比,若一致则可以确认通信对方的身份,否则认为对方是不可信的生成告警信息。
为什么不会但心其他网站直接复制证书?其他网站是可以复制但是在计算摘要的时候会出现不同,即证书认证没通过。恶意网站是否可以自己制作证书?可以制作证书,但是浏览器中不存在与恶意网站自己制作证书相对应的根证书,也就拿不到解开证书的公钥,证书认证依旧没有通过,依旧会生成告警信息。
但是如果想测试这一整个身份认证过程,你是可以自己生成CA根证书然后添加到浏览器中,然后再制作服务器端的证书,这样是可以通过身份认证的,但仅限添加了你自己制作了CA根证书的浏览器。
关于证书如何完成身份验证(SSL证书)的更多相关文章
- Nginx集群之SSL证书的WebApi身份验证
目录 1 大概思路... 1 2 Nginx集群之SSL证书的WebApi身份验证... 1 3 AuthorizeAttribute类... 2 4 ...
- 各种HTTPS站点的SSL证书 ,扩展SSL证书,密钥交换和身份验证机制汇总
各种HTTPS站点的SSL证书 ,扩展SSL证书,密钥交换和身份验证机制汇总 一份常见的 HTTPS 站点使用的证书和数据加密技术列表,便于需要时比较参考,将持续加入新的 HTTP 站点,这里给出的信 ...
- Requests对HTTPS请求验证SSL证书
SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发.该安全协议主 ...
- 阿里云ssl证书过期怎么解决 (免费SSL证书) 三步解决
阿里云ssl证书过期怎么解决(免费SSL证书),三步解决 使用免费的SSL证书网站 https://ohttps.com 1.注册帐号 2.申请证书 3.部署到阿里云 4.注意事项 1.注册帐号 到 ...
- nginx下如何配置 ssl证书?腾讯云ssl证书为例!
nginx下如何配置 ssl证书?腾讯云ssl证书为例! 目前为止,https已经成为一种趋势,想要开启https就需要ssl证书. 首先,为域名注册ssl证书. 腾讯云注册地址:https://cl ...
- linux c++ curl https 请求并双向验证SSL证书
1.配置curl https请求需要提供 CA证书.客户端证书和客户端秘钥,这三个文件的pem格式. 分别对应 curl_easy_setopt() 函数的 下面三个参数: CURLOPT_CAINF ...
- openssl 自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书
server { listen 80; listen 443 ssl; server_name ~^((cloud)|(demo-cloud)|(demo2-cloud)|(approval1))(( ...
- 用XCA(X Certificate and key management)可视化程序管理SSL 证书(2)--生成SSL证书请求
在上个章节中,我们提到了怎样安装XCA(X Certificate and key management)程序.这个章节我们開始正式介绍怎样用XCA生成证书请求.假设大家用过java的话.肯定知道jd ...
- nginx的conf文件,两种配置方式,第一种无ssl证书,第二种有ssl证书。
以下为无ssl证书配置的请求转发 server { listen 80; server_name api.******.com; location ~* /union { client_max_bod ...
随机推荐
- 【转载】C#中Convert.ToDecimal方法将字符串转换为decimal类型
在C#编程过程中,可以使用Convert.ToDecimal方法将字符串或者其他可转换为数字的对象变量转换为十进制decimal类型,Convert.ToDecimal方法有多个重载方法,最常使用的一 ...
- region、xld有对应的字符串时,将region、xld按照行或列排序的算法实现
用Halcon解码时,如果一张图里面有多个码,它通常可以把这些码都解出来,并且生成对应的解码结果字符串元组(也就是下面的DecodedDataStrings),如果有多个码,那么该元组就有多个元素. ...
- scrapy 爬虫中间件-offsite和refer中间件
环境使用anaconda 创建的pyithon3.6环境 mac下 source activate python36 mac@macdeMacBook-Pro:~$ source activate p ...
- React: 无状态组件生成真实DOM结点
在上一篇文章中,我们总结并模拟了 JSX 生成真实 DOM 结点的过程,今天接着来介绍一下无状态组件的生成过程. 先以下面一段简单的代码举例: const Greeting = function ({ ...
- ubuntu18上解决Qt无法输入中文
系统:Ubuntu 18.04.3 64bit 软件: QtCreator 4.8 安装Ubuntu18.04 时已经安装fcitx框架的搜狗输入法,在此不再安装fcitx及搜狗输入法 只需要安装fc ...
- jar - 操作jar包的工具
jar - Manipulates Java Archive (JAR) files. jar命令是一种通用的存档和压缩工具,基于ZIP和ZLIB压缩格式. 常用格式: * 创建jar文件 jar c ...
- 使用Arduino和LED光柱显示器件轻松制作电池电压指示器
电池有一定的电压限制,如果电压在充电或放电时超出规定的限制,电池的使用寿命就会受到影响或降低.每当我们使用电池供电的项目,有时我们需要检查电池电压电量,确定是否需要充电或更换.本电路将帮助您监测电池电 ...
- HRBUST 2040 二叉树的遍历
给出一棵二叉树的中序和前序遍历,输出它的后序遍历. Input 本题有多组数据,输入处理到文件结束. 每组数据的第一行包括一个整数n,表示这棵二叉树一共有n个节点. 接下来的一行每行包括n个整数,表示 ...
- hive中执行hql或建表语句时,抛出Display all 459 possibilities? (y or n)错误的解决方法
我昨天在hive上建表,一直报Display all 459 possibilities? (y or n) ,之前我以为是建表语句有问题,一直在改语句,后来在网上搜这个错误,原来语句里混杂了Tab缩 ...
- PageHelper分页正确用法
依赖和配置就不说了,说用法 Page<Object> page = PageHelper.startPage(pageNum, pageSize); List<SysRoleDTO& ...