今天继续给大家介绍Linux运维相关知识,本文主要内容是CA认证与HTTPs原理知识。

一、https与ssl

我们在访问网站时,使用的比较常见的是https协议,https协议其实就是在http协议的基础上,添加了ssl,可以在互联网上提供内容加密的功能,目前,主流网站都是使用的https。SSL,即Secure Socket Layer,安全套接字层,可以在一个不安全的公网环境中,安全的传输密钥。关于密钥传递的问题,涉及到密码学中非对称加密的原理知识,客户端与服务端通过SSL在交换密钥后,就能够生成同样的密钥,这个密钥对于双方而言是明确且一致的,但是,如果有其他人监听了双方的所有通信,它依旧无法还原处双方生成的密钥。

二、证书与CA

ssl解决了密钥传输与加密的问题,然而,如何验证对方网站的身份呢?这就需要引入数字证书与CA了。
CA,即Certificate Authority,证书颁发机构的简称。如何利用CA认证我们要访问的网站身份呢?很自然的,我们想到,可以选择我们一个都信任的机构,作为CA,比如指名互联网公司、政府相关部门等等。一个网站在注册域名时向CA请求验证,CA在验证通过后,立即颁发一个凭证给该网站,我们只需要检查这个网站的凭证是否合法,就可以明确该网站是否是合法的了。在这里,这个凭证就是数字证书。与普通的证书不同,由于引入了非对称密码体制,由CA签发的证书包含了CA对于证书的签名,因此网站自身无法模仿CA给自己签名,这就解决了这套体制下安全性的问题。此外,随着当前互联网规模的不断扩大,单个CA已经无法解决日益增长的网站需求,因此引入了多级CA的概念,我们可以选择只信任一个或者几个CA机构,并且把这些CA机构作为根CA。根CA又可以选择对其他几个CA机构进行认证,其他的CA机构可以选择对三级的CA进行认证,这样,就形成了一个树状的结构,分担了单个CA的服务压力。

三、申请证书过程

如果一个站点要申请CA认证,首先,它需要先生成证书请求文件CSR(Certificate Signing Request),CSR内包含该站点的基本信息,如主机名、域名、IP位置等等,以及该站点提前生成的公钥。接下来,该站点把证书发送给CA,CA会通过各种方式对该站点进行身份验证,当通过验证后,就可以给该站点生成证书,CA会对CSR文件进行处理后,用自己的私钥进行签名,并且把签名值附加在证书中,这样,一张证书就完成了。可以看出,一张证书包含了站点的基本身份信息、站点的公钥和CA机构的签名。
站点申请证书流程如下:

四、用户访问网页过程

这样,用户在访问网页的过程,就如下图所示:

用户访问网页后,站点首先向用户发送自己的证书,用户在收到证书后,会检查证书的有效性,同时还会使用CA的公钥验证证书的签名,如果验证成功,说明该证书的确是由CA签发,该站点身份认证通过。如果该CA不是根CA,即用户选择不信任该CA,还可能继续查询该CA机构的证书,直至查询至一个用户信任的根CA机构。我们使用的家用电脑,都会默认配置了一些信任的证书,如下所示:

在完成上述操作后,接下来就可以与该站点协商加密算法,传递密钥并进行加密通信。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

CA认证与HTTPs原理介绍相关推荐

  1. HTTPS原理介绍以及证书签名的申请配置

    本章目录: 0x00 前言介绍 0x01 HTTPS原理 0x02 证书申请配置 0x03 补充证书申请 1.SSL-FOR-FREE 0x04 总结 0x00 前言介绍 什么是 HTTP/HTTPS ...

  2. [Linux] centos 6.5 httpd 自建CA 认证 实现 https 服务

    httpd 自建CA 认证 实现 https 服务 需要的软件: httpd mod_ssl openssl 本文将CA证书服务器和 httpd服务器放到一台物理机器上实现的, 可以作为学习的参考. ...

  3. centos 6.5 httpd 自建CA 认证 实现 https 服务

    httpd 自建CA 认证 实现 https 服务 需要的软件: httpd mod_ssl openssl 本文将CA证书服务器和 httpd服务器放到一台物理机器上实现的, 可以作为学习的参考. ...

  4. CA认证实现https访问

    1.实验概念: 在我们访问一些金融等安全性较高网站时,都不再是普通的http连接,而是https连接,这个s就代表这个通讯是加密的,这是就需要CA机构来颁布数字证书来验证WEB服务器的正确性.这个数字 ...

  5. LDAP服务器ca系统,基于LDAP的统一身份认证系统与CA认证的集成.pdf

    基于LDAP的统一身份认证系统与CA认证的集成 , 第 33 卷 第 8 期 宜春学院学报 Vol. 33 No. 8 2011 年 8 月 Journal of Yichun College Aug ...

  6. HTTPS原理、单向和双向认证

    参考文章:https://blog.51cto.com/11883699/2160032 https://www.songma.com/news/txtlist_i39807v.html 众所周知,W ...

  7. HTTPS与CA认证

    1. HTTP 协议 在谈论 HTTPS 协议之前,先来回顾一下 HTTP 协议的概念. 1.1 HTTP 协议介绍 HTTP 协议是一种基于文本的传输协议,它位于 OSI 网络模型中的应用层. HT ...

  8. HTTPS原理全面介绍【备查】

    来源:https://www.cnblogs.com/haimishasha/p/11373034.html 目录 应用层协议:HTTPS 1. HTTPS定义 2. 密码学基础 3. HTTP通信问 ...

  9. 证书类型、自签CA证书、https双向认证(一篇就懂系列)

    #博学谷IT学习技术支持# 文章目录 1.Linux准备环境 2.证书扩展名 3.自签CA证书 3.1 生成根证书 3.2 生成服务端证书 3.3 生成客户端证书 4.开启https,并校验客户端(双 ...

最新文章

  1. Linux进程地址空间学习总结
  2. boost::safe_numerics::checked_result相关的测试程序
  3. 中国上海量子计算机,首台光量子计算机在上海亮相
  4. 三星Galaxy Note20新旗舰发布会官宣:8月5日线上见
  5. Hive与RDBMS的区别
  6. 动态规划 —— 求解通配符问题(wildcard)
  7. Avalon二数据填充
  8. .NET编译工具(每日构建或自动化编译)
  9. 一个手机用c网可以打开网站切换到g网就打不开_推荐一些设计师常用网站!!!...
  10. CorelDRAW2022mac最新版本更新v24.0.0.301新增功能介绍
  11. amoeba mysql_详解如何利用amoeba(变形虫)实现mysql数据库读写分离
  12. Springboot 中类不能使用@Value注解从yml中加载值
  13. 开发中常用的几种 Content-Type以及图片上传前后端分离开发处理方式
  14. cocos creator麻将教程系列(九)—— 幼麟棋牌代码讲解
  15. 自旋锁使用场景和实现分析(转载)
  16. 拷贝和引用有什么区别php,php引用和拷贝的区别知识点总结
  17. 著名数列及其算法(斐波拉契)
  18. 一个小白的Thingworx成长记录
  19. java中的构造方法必须和类名相同,在Java中,关于构造方法,下列说法错误的是()A、构造方法的名称必须与类名相同B、构造方法可以...
  20. JAVA中的匿名类、内部类和匿名内部类

热门文章

  1. 搭建企业知识管理平台,走出“数据孤岛”困境
  2. 动态规划算法解决背包问题
  3. OMNET++ INET官方实例(1)
  4. 对极限定义的理解_宏观区间和微观区间_20160326
  5. Ubuntu 20.04 安装 WPS 2019 及其卸载
  6. java开发工程师面试题及答案
  7. 12121. 买铅笔
  8. 移动端和PC端的录屏软件汇总,需要的朋友速看
  9. ssh远程执行linux命令nohup,ssh 远程执行命令 nohup 无效问题
  10. 重拳!科研失信将面临43项联合惩戒,包括撤销院士资格等!