带你探索CA和SSL证书

目录

一、什么是CA?

二、什么是SSL证书?

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

    3.1 证书的分类:

    3.2证书格式:

四、SSL和TSL

五、PSK介绍

六、nginx配置介绍


一、什么是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证书分类和文件种类?

       3.1 证书的分类:

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

        3.2证书格式:

  • CER:服务器证书、CA根证书链。CRT证书的微软型式,可以在微软系统环境下将.crt转换为.cer(.both DER编码的.cer,或base64 [PEM]编码的.cer)。
  • KEY:私钥。KEY扩展名用于私钥。 键可以被编码为二进制DER或ASCII PEM。
  • CRT:中间证书、证书文件。可以是二进制格式,可以是文本格式,与 .DER 格式相同,不保存私钥常用于 Apache,Nginx 等。CRT扩展用于证书。 证书可以被编码为二进制DER或ASCII PEM。 CER和CRT扩展几乎是同义词。 最常见的于Unix 或类Unix系统。
  • CSR:证书签名请求认证请求由三个主要部分组成:认证请求信息、签名算法标识符和认证请求信息上的数字签名。第一部分包含重要信息,包括公钥。请求者的签名防止实体请求他人公钥的伪造证书。因此,生成CSR需要私钥,但私钥不是CSR的一部分。
  • PEM:一般是文本格式,可保存证书,可保存私钥
  • DER .CER:文件是二进制格式,只保存证书,不保存私钥
  • PFX .P12:二进制格式,同时包含证书和私钥,一般有密码保护
  • JKS:二进制格式,同时包含证书和私钥,一般有密码保护。常用于 Weblogic,Tomcat,Jboss。
  • PFK:常用于 IIS 等。
  • 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: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设置协商加密算法时,优先使用我们服务端的加密套件,而不是客户端浏览器的加密套件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/691362.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

书生作业:RAG

视频:https://www.bilibili.com/video/BV1QA4m1F7t4/ 教程:https://github.com/InternLM/Tutorial/blob/camp2/huixiangdou/readme.md 作业:https://github.com/InternLM/Tutorial/blob/camp2/huixiangdou/homework.md 项目地址:h…

【Vue基础】Vue在组件数据传递详解

Vue核心基础-CSDN博客 先回顾Vue特性: Vue.js 是一个用于构建用户界面的渐进式框架,具有许多强大的特性。以下是一些主要的 Vue 特性: 响应式数据:Vue 使用双向绑定来实现数据的响应式更新。当数据发生变化时,视图会自…

【0003day】VOSviewer分析

这个软件也可以用知网,也可以用web of science。 首先,需要创建数据。这个数据如何创建,需要参考对应的教程。(本文以web of science为平台来做分析。) 首先,创建对应的数据库。 一直下一步 让后选择完…

【全开源】JAVA同城组局同城找搭子系统源码支持微信小程序微信公众号H5 APP

让你周末不孤单 发布活动:用户可以发布自己想要进行的活动,包括活动类型、时间、地点等信息,方便其他用户查找和参与。搜索搭档:用户可以根据活动类型、时间、地点等信息,搜索附近的搭档,快速找到志同道合…

基于springboot的代驾管理系统的设计与实现

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…

2024.1IDEA 到2026年

链接:https://pan.baidu.com/s/1hjJEV5A5k1Z9JbPyBXywSw?pwd9g4i 提取码:9g4i解压之后,按照 操作说明.txt 操作; IntelliJ IDEA 2024.1 (Ultimate Edition) Build #IU-241.14494.240, built on March 28, 2024 Licensed to gurgles tumbles You have…

STM32快速入门(串口传输之USART)

STM32快速入门(串口传输之USART) 前言 USART串口传输能实现信息在设备之间的点对点传输,支持单工、半双工、全全双工,一般是有三个引脚:TX、RX、SW_RX(共地)。不需要一根线来同步时钟。最大优…

论文盲审吐槽多,谁给盲审不负责的老师买单?如何看待浙江大学「一刀切」的研究生学位论文双盲评审制度?

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验,帮助大家尽早适应研究生生活,尽快了解科研的本质。祝一切顺利!—…

生产性服务业与生活性服务业如何区分

服务业的兴旺发达是现代经济的显著特征,是经济社会发展的必然趋势,是衡量经济发展现代化、国际化、高端化的重要标志。生产性服务业和生活性服务业是服务业的重要组成部分,是当前中国经济最具活力的产业,也是未来经济发展最具潜力…

【matlab基础知识代码】(十八)无约束最优化问题

min下面的x称为优化向量或者是决策变量 匿名函数法 >> f(x)(x(1)^2-2*x(1))*exp(-x(1)^2-x(2)^2-x(1)*x(2)); x0[0; 0]; [x,b,c,d]fminsearch(f,x0), x 0.6111 -0.3056 b -0.6414 c 1 d 包含以下字段的 struct: iterations: 72 funcCount: 137 algor…

Python---Numpy万字总结(2)

NumPy的应用(2) 数组对象的方法 获取描述统计信息 描述统计信息主要包括数据的集中趋势、离散程度和频数分析等,其中集中趋势主要看均值和中位数,离散程度可以看极值、方差、标准差等 array1 np.random.randint(1, 100, 10) …

Django简介

Django 1.安装Django pip install djangopython的包的分布 \python- python.exe- Scripts- pip.exe- django-admin.exe [工具,创建django项目]- Lib- 内置模块- site-packages [安装的包]- pymysql- flask- django [框架的源码]2.创建项目 Django项目会有…