SSL简介

引自:https://baike.baidu.com/item/ssl/320778?fr=aladdin

SSL

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。

提供服务

  1. 认证用户和服务器,确保数据发送到正确的客户机和服务器;
  2. 加密数据以防止数据中途被窃取;
  3. 维护数据的完整性,确保数据在传输过程中不被改变。

服务器类型

  1. Tomcat 5.x
  2. Nginx
  3. IIS
  4. Apache 2.x
  5. IBM HTTP SERVER 6.0 [1]

工作流程

服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器回复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。

SSL协议提供的安全通道有以下三个特性:

  • 机密性:SSL协议使用密钥加密通信数据。
  • 可靠性:服务器和客户都会被认证,客户的认证是可选的。
  • 完整性:SSL协议会对传送的数据进行完整性检查。

从SSL 协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种情况下,Visa和 MasterCard两大信用卡公组织制定了SET协议,为网上信用卡支付提供了全球性的标准。

购买SSL证书

一般到购买域名的地方去购买,我是阿里云买的,所以是在阿里云买的,个人版免费(其他腾讯等未知),有效期1年,过期后可继续申请。

1.购买地址

阿里云证书购买地址:https://yundun.console.aliyun.com/?spm=a2c1d.8251892.aliyun_sidebar.10.97845b76PIxDqx&p=cas#/overview/cn-hangzhou

2.选择个人版证书

购买

3.证书申请

购买成功后回到证书控制台,显示有一个未签发的证书,如下:

然后点击“证书申请”,即可显示如下界面,一般需要注意的是域名和域名验证方式,域名验证方式我一般选自动DNS,它会自动在阿里云域名控制台为域名添加验证解析信息,其他一般自动填充阿里云对应账号信息。然后验证信息,提交审核。快的话几分钟就申请成功了。

4.下载证书

回到控制台会显示,已签发,然后就可以下载该证书了。

需要注意的是:SSL证书格式与常见服务器类型的对应关系

服务器类型 证书文件(后缀或文件类型) 秘钥文件
Tomcat .pfx .txt
IIS .pfx .txt
Nginx .pem .key
Apache .crt .key

在https配置中上传证书

如下面是七牛云的,pem格式说明服务器是Nginx

上传后,一般需要认证,快的话几分钟就好,慢就说不好。

相关链接

证书格式的相互转换:DER、CRT、CER、PEM:https://blog.csdn.net/haidao1101/article/details/99717437

本文由博客一文多发平台 OpenWrite 发布!

最新文章

  1. 前端MVVM框架设计及实现(一)
  2. [转] How to change font settings for all UI elements (toolbar and context menus, property editors, etc.)
  3. 通过SEP禁用USB
  4. 深入理解Fsync----JBD内核调试 专业打杂程序员 @github yy哥
  5. 要开始深入VMM了。
  6. My.Ioc 代码示例——属性和方法注入
  7. PHP 字符串正则替换函数preg_replace使用说明
  8. [bzoj 1409] Password 矩阵快速幂+欧拉函数
  9. CentOS7卸载自带jdk安装自己的JDK1.8
  10. 163邮箱 SMTP发送邮件注意点
  11. springboot实现简单的文件上传
  12. spring 启动找不到shiro中 自定义的realm对应的class问题
  13. mysql 和 sqlserver中备份一张表的区别
  14. ES6学习笔记<一> let const class extends super
  15. dbcp 连接池参数说明
  16. 《数据挖掘:R语言实战》
  17. python 百度图片爬虫
  18. (转)FastDFS文件存储
  19. JQuery表单元素过滤选择器
  20. 调用数据库--stone

热门文章

  1. win+L键失灵了怎么办?
  2. flask-sqlalchemy 迁移数据(生成数据库表)与 查询数据
  3. python——直接插入排序
  4. 2019年10月13日 linux习题 wangqingchao
  5. 深入理解计算机系统 第八章 异常控制流 Part1 第二遍
  6. Linux 解决ntfs文件系统问题,支持外设(U盘等设备)的即插即拔
  7. ASP.NET Core 1.0: Deploy to IIS
  8. JDBC事务的简单使用
  9. dubbo分布式Service不可以创建Error creating bean with name 'XXXXXX'
  10. hdu 1817 Necklace of Beads (polya)