一、什么是CA?

CA是证书的签发机构,它是公钥基础设施(Public Key Infrastructure,PKI)的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。CA 拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。

二、什么是SSL证书?

SSL 证书,也称为服务器 SSL 证书,是遵守 SSL 协议的一种数字证书,由全球信任的证书颁发机构(CA)验证服务器身份后颁发。将 SSL 证书安装在网站服务器上,可实现网站身份验证和数据加密传输双重功能。SSL 协议及其继任者 TLS 协议,是一种实现网络通信加密的安全协议,可在客户端(浏览器)和服务器端(网站)之间建立一条加密通道,保证数据在传输过程中不被窃取或篡改。
        这个证书总共有 3 个测评等级,其中,EV SSL 证书最高,OV SSL 证书其次,而 DV SSL 证书最弱。DV SSL 证书只验证域名所有权,仅为加密传输信息的作用,并不能证明网站的真实身份;OV SSL 证书是需要验证网站所有单位的真实身份的标准型 SSL 证书,而 EV SSL 证书则是遵循全球统一严格身份验证标准办法的 SSL 证书,是目前业界最高安全级别的 SSL 证书。其中,OV SSL 主要在国内网站应用,而 EV SSL 则在国外网站应用更多。靠谱的商用网站一般都会部署 EV SSL 证书或 OV SSL 证书,绝对不会部署已经被欺诈网站滥用的 DV SSL 证书。

三、SSL证书分类和文件种类?

证书的分类:

  • CA证书,也就是根证书。如果不安全该证书,即使安装了其他证书,浏览器也会提示不安全,但是在单向https认证中,该证书的安装是可选的。
  • 服务器证书。SSL证书中必须要安装的证书之一,通过证书的key生成csr文件,然后再通过CA证书签名,生成服务器的证书
  • 客户端证书。在双向https验证中,就必须有客户端证书,生成方式同服务器证书一样,单向证书则不用生成。

证书格式:

  1. CER:服务器证书、CA根证书链。CRT证书的微软型式,可以在微软系统环境下将.crt转换为.cer(.both DER编码的.cer,或base64 [PEM]编码的.cer)。
  2. KEY:私钥。KEY扩展名用于私钥。 键可以被编码为二进制DER或ASCII PEM。
  3. CRT:中间证书、证书文件。可以是二进制格式,可以是文本格式,与 .DER 格式相同,不保存私钥常用于 Apache,Nginx 等。CRT扩展用于证书。 证书可以被编码为二进制DER或ASCII PEM。 CER和CRT扩展几乎是同义词。 最常见的于Unix 或类Unix系统。
  4. CSR:证书签名请求认证请求由三个主要部分组成:认证请求信息、签名算法标识符和认证请求信息上的数字签名。第一部分包含重要信息,包括公钥。请求者的签名防止实体请求他人公钥的伪造证书。因此,生成CSR需要私钥,但私钥不是CSR的一部分。
  5. PEM:一般是文本格式,可保存证书,可保存私钥
  6. DER .CER:文件是二进制格式,只保存证书,不保存私钥
  7. PFX .P12:二进制格式,同时包含证书和私钥,一般有密码保护
  8. JKS:二进制格式,同时包含证书和私钥,一般有密码保护。常用于 Weblogic,Tomcat,Jboss。
  9. PFK:常用于 IIS 等。
  10. KDB:常用于 IHS,Webspphere。

四、SSL和TSL

SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。

TSL:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。TLS(传输层安全)是更为安全的升级版 SSL。由于 SSL 这一术语更为常用,因此我们仍然将我们的安全证书称作 SSL。

SSL认证: 目前SSL证书认证分为单向认证域双向认证,单向认证只要求站点部署了ssl证书,任何用户都可以去访问(IP被限制除外等),只是服务端提供了身份认证。而双向认证则是需要是服务端需要客户端提供身份认证,只能是服务端允许的客户能去访问,安全性相对于要高一些。一般Web应用都是采用单向认证的,因为用户数目广泛,且无需做在通讯层做用户身份验证,一般都在应用逻辑层来保证用户的合法登入。但如果是企业应用对接,情况就不一样,可能会要求对客户端做身份验证。这时就需要做双向认证。

数字签名: 用自己的私钥给数据加密就叫数字签名。数字签名(Digital Signature)(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名有两个作用:

  • 能确定消息确实是由发送方签名并发出来的。
  • 数字签名能确定数据电文内容是否被篡改,保证消息的完整性。

五、其他

PSK:PSK是预共享密钥,是用于验证 L2TP/IPSec 连接的 Unicode 字符串。可以配置“路由和远程访问”来验证支持预共享密钥的 VPN 连接。预共享密钥模式(pre-shared key (PSK),又称为"-Personal",即“-个人模式”)是针对承担不起802.1X认证服务器的成本和复杂度的家庭或小型公司网络设计和使用的,每一个用户必须输入预先配置好的相同的密钥来接入网络,而密钥可以是8到63个ASCII字符、或是64个16进制数字(256比特)。用户可以自行斟酌要不要把密钥存在计算机里以省去重复键入的麻烦,但密钥一定要预先配置在Wi-Fi路由器里。使用 PSK 时,AP 和客户端必须配置相同的密钥或加密密码。AP 发送一个随机字符串到客户端。客户端接受该字符串,根据密钥对其进行加密(或编码),然后发送回 AP。AP 获取加密的字符串,并使用其密钥解密(或解码)。如果从客户收到的字符串在解密后与原来发送给客户端的字符串匹配,就允许该客户端连接。

nginx配置:

  • ssl_certificate证书其实是个公钥,它会被发送到连接服务器的每个客户端
  • ssl_certificate_key私钥是用来解密的,所以它的权限要得到保护但nginx的主进程能够读取。当然私钥和证书可以放在一个证书文件中,这种方式也只有公钥证书才发送到client。
  • ssl_session_timeout 客户端可以重用会话缓存中ssl参数的过期时间,内网系统默认5分钟太短了,可以设成30m即30分钟甚至4h。
  • ssl_protocols指令用于启动特定的加密协议,nginx在1.1.13和1.0.12版本后默认是ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2,TLSv1.1与TLSv1.2要确保OpenSSL >= 1.0.1 ,SSLv3 现在还有很多地方在用但有不少被攻击的漏洞。
  • ssl_ciphers选择加密套件,不同的浏览器所支持的套件(和顺序)可能会不同。这里指定的是OpenSSL库能够识别的写法,你可以通过 openssl -v cipher ‘RC4:HIGH:!aNULL:!MD5’(后面是你所指定的套件加密算法) 来看所支持算法。
  • ssl_prefer_server_ciphers on设置协商加密算法时,优先使用我们服务端的加密套件,而不是客户端浏览器的加密套件。
 文章来源:物美智能设备

CA和SSL证书介绍的更多相关文章

  1. openSSL命令、PKI、CA、SSL证书原理

    相关学习资料 http://baike.baidu.com/view/7615.htm?fr=aladdin http://www.ibm.com/developerworks/cn/security ...

  2. Https系列之一:https的简单介绍及SSL证书的生成

    Https系列会在下面几篇文章中分别作介绍: 一:https的简单介绍及SSL证书的生成二:https的SSL证书在服务器端的部署,基于tomcat,spring boot三:让服务器同时支持http ...

  3. 看完Andoird9.0 Pie的隐藏特性,我买了SSL证书

    今年 8 月,Google 正式公布了 Android 9.0 ,新的甜点名称也正式揭晓——Pie.这次的大版本升级中,藏着一个不起眼的特性:默认使用 HTTPS 为了将所有网络流量从明文(未加密的 ...

  4. 使用openssl生成SSL证书完全参考手册

    一般来说,配置HTTPS/SSL的步骤为: 1.生成足够强度的私钥.需要考虑:算法,广泛采用的一般是RSA.键长度,RSA默认为512,一般应选择2048.密码,虽然私钥不一定要加密存储,但是加密存储 ...

  5. Linux中快捷生成自签名ssl证书_113资讯网

    一.生成CA私钥 mkdir ca cd ca #创建私钥 (建议设置密码) openssl genrsa -des3 -out myCA.key 2048 生成CA证书 # 20 年有效期 open ...

  6. CA机构介绍(Certificate Authority 域名SSL证书颁发机构)

    SSL证书机构即CA机构的全称为Certificate Authority证书认证中心,只有通过WebTrust国际安全审计认证,根证书才能预装到主流浏览器,成为全球可信的ssl证书颁发机构. HTT ...

  7. 基于OpenSSL自建CA和颁发SSL证书

    关于SSL/TLS介绍见文章 SSL/TLS原理详解.关于证书授权中心CA以及数字证书等概念,请移步 OpenSSL 与 SSL 数字证书概念贴 . openssl是一个开源程序的套件.这个套件有三个 ...

  8. CA机构及SSL证书

    互联网安全形势日趋严峻,企业重视自身互联网安全已成必然,SSL认证成大势所趋.要部署SSL证书最首先就是选好CA机构!其次选择适合自己的SSL证书!今天就来介绍一下如何选择CA机构及SSL证书! 首先 ...

  9. CA证书介绍与格式转换

    CA证书介绍与格式转换 概念 PKCS 公钥加密标准(Public Key Cryptography Standards, PKCS),此一标准的设计与发布皆由RSA资讯安全公司(英语:RSA Sec ...

随机推荐

  1. l初识CSRF(跨站请求伪造)

    一 CSRF是什么 CSRF(Cross-site request forgery)跨站请求伪造,也被称为"One Click Attack"或者Session Riding,通常 ...

  2. celery Django 简单示例

    一.目录结构 二.创建worker文件夹 __init__.py # -*- coding:utf-8 -*-import osfrom celery import Celery, platforms ...

  3. 华为MDC自动驾驶

    华为MDC自动驾驶 智能驾驶汽车中,包含四个核心子系统:传感器.计算平台.执行器与应用算法,华为MDC( Mobile Data Center: 移动数据中心)定位为智能驾驶的计算平台.此平台集成了华 ...

  4. OneFlow 并行特色

    OneFlow 并行特色 在 Consistent 与 Mirrored 视角中,已经知道 OneFlow 提供了 mirrored 与 consistent 两种看待分布式系统的视角,并且提前知道了 ...

  5. Django(58)viewsets视图集详解

    前言 ViewSet 只是一种基于类的视图,它不提供任何方法处理程序(如 .get()或.post()),而是提供诸如.list()和 .create() 之类的操作. ViewSet 的方法处理程序 ...

  6. 又见 xcrun: error: invalid active developer path 错误

    每次升级完macOS都会被 Xcode command line tools missing xcrun 问候一遍,也是挺烦的. 这个春节过光顾着吃喝玩乐,过的蛮颓废的,感觉再也追不上朋友圈各位大佬了 ...

  7. 【NX二次开发】Block UI 整数表

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  8. docker0-常用命令-持续更新

    问君哪得清如许,为有源头活水来 1,帮助命令 docker version docker info docker 命令 --help 2,仓库\镜像 docker images 查看所有本地镜像 do ...

  9. bzoj2427 软件安装! 树dp

    软件安装 内存限制:128 MiB 时间限制:1000 ms 标准输入输出     题目描述 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi.我们希望从中选择一 些软 ...

  10. 复习Spring第二课--AOP原理及其实现方式

    AOP原理: AOP,面向方面的编程,使用AOP,你可以将处理方面(Aspect)的代码注入主程序,通常主程序的主要目的并不在于处理这些aspect.AOP可以防止代码混乱.AOP的应用范围包括:持久 ...