关于证书如何完成身份验证(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 ...
随机推荐
- npm全局模块卸载及默认安装目录修改方法
卸载全局安装模块 npm uninstall -g <package> 卸载后,你可以到 /node_modules/ 目录下查看包是否还存在,或者使用以下命令查看:npm ls npm ...
- DB2数据库中DB2字符串类型
DB2字符串是DB2数据库中的基础知识,下面就为您分类介绍DB2字符串,供您参考,如果您对DB2字符串方面刚兴趣的话,不妨一看. DB2字符串是字节序列.DB2字符串包括 CHAR(n) 类型的定长字 ...
- WPF 依赖属性前言
WPF 依赖属性前言 在.net中,我们可以属性来获取或设置字段的值,不需要在编写额外的get和set方法,但这有一个前提,那就是需要在对象中拥有一个字段,才能在此字段的基础上获取或设置字段的值, ...
- 前端动态效果小结(jQuery)
1.easyUI(jQuery) http://www.jeasyui.net/demo/954.html
- React: JSX生成真实DOM结点
在上一篇文章中,我们介绍了 Babel 是如何将 JSX 代码编译成可执行代码的,随后也实现了一个自己的解析器,模拟了 Babel 编译的过程. 现在我们再来回顾一下,假定有如下业务代码: const ...
- jmeter bodydata参数传递
参见:接口测试, jmeter bodydata 传送的参数,在请求中显示为空 新增http header信息头:
- Spring @Cacheable注解 && 事务@Transactional 在同一个类中的方法调用不生效
@Cacheable 注解在对象内部调用不会生效 代码示例:ProductServiceImpl.java public List<ProductInfoVO> getProductLis ...
- Python的插件化开发概述
Python的插件化开发概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.插件化开发 动态导入: 运行时,根据用户需求(提供字符串),找到模块的资源动态加载起来. 1> ...
- 动态域名作为dga的做法
https://wenku.baidu.com/view/54b1df373968011ca3009183.html dga算法 import time from ctypes import c_in ...
- 界面交互~Toast和模态对话框
界面交互 名称 功能说明 wx.showToast 显示消息提示框 wx.showModal 显示模态对话框 wx.showLoading 显示 loading 提示框 wx.showActionSh ...