一、理论基础

ssl:secure socket layer(安全套接层协议)的缩写,通过此协议可以保证两个应用通信的可靠性和保密性。
openssl:是ssl协议的实现。提供了对称加密算法、非对称加密算法以及秘钥证书管理等功能。
公钥私钥:公钥和私钥组成一个密钥对,必须配对使用。一般公钥公开,私钥自己保留。
        公钥加密,私钥解密,一般用于传输数据;
        私钥加密,公钥解密,一般用于数字签名、验证身份。
证书:全称是公钥证书,由第三方机构CA颁发。CA利用自己的私钥对真正的公钥施加数字签名并生成证书,客户拿到证书后,通过CA的公钥来对证书解密,拿到真正的公钥。证书有两种编码格式:
        1.pem:文本格式,以"-----BEGIN..."开头,以"-----end..."结尾,内容是base64编码,Apache和*nix服务器一般使用这种编码;
        2.der:二进制格式,不可读,windows服务器一般偏向使用这种。

二、什么是CA证书、自颁发证书和自签名证书?

三、CA证书和自签名证书的异同?

  如果你想要构建一个成功的网站,安全是关键因素之一,对于需要从访问者那里收集PIA(personally identifiable information,个人识别信息)的网站而言,尤其如此。

考虑一个需要输入社会保险号的网站,或更常见的,需要向其添加信用卡信息以完成购买行为的电子商务网站,在这样的网站上,安全不仅仅是来自那些访问者的期望,更是成功的关键。

如果你正在构建一个电子商务网站,首先就需要一个安全证书以便保证服务器的数据安全,对于证书的选择,即可以创建自签名证书,也可以从证书颁发机构(CA)获得由其签名的证书,让我们看看这两种证书的异同。

1、CA签名的证书和自签名证书的相似性

  无论你的证书是由CA签名的,还是自己签名的,有一件事是完全相同的:你会得到一个安全的网站。通过HTTPS/SSL连接发送的数据将被加密,第三方无法窃听。

既然自签名证书也能做到这一点,那为何要向CA付款呢?

CA告诉你的客户:此服务器信息已由”信任源点“验证,最常用的CA是Verisign。CA会验证你的域名的所有权并颁发证书,这就能保证网站是安全而且合法的。

使用自签名证书的问题是,几乎每一个Web浏览器都会检查HTTPS连接是否由可信的CA签名,如果该连接是自签名的,则会将其标记为潜在风险并弹出错误消息,你的客户对该站点信任度就会降低。

简要总结:CA签名的证书兼具“身份证明”和“加密”双重功能,而由于自证身份不可信,自签名证书就只有加密功能,用于无需身份证明的场合。

2、在何种情况下可以使用自签名证书?

  由于它们提供了相同的保护能力,所以能在任何使用CA签名证书的场合中使用自签名证书,但在某些场合特别适用自签名证书。例如,自签名证书非常适合测试HTTPS服务器,你不必仅仅为测试网站就要支付CA签名证书的费用,只需提醒测试人员他们的浏览器可能弹出警告信息。

也可以在需要输入隐私信息的情况下使用自签名证书,例如:

●用户名和密码表单

●收集个人(非财务)信息

当然,只有那些了解并信任你的人才会使用这样的网站。所以你看到了,归根结底就是“信任”二字。当你使用自签名证书时,你是在对客户说:“请相信我——我就是我说的我”;当你使用由CA签名的证书时,你是在说:“请相信我——因为Verisign可以证明我的身份”。

如果你在做电子商务,就需要一个CA签名证书。如果你使用自签名证书只是为了客户登录你的网站,那么他们可能会原谅你,但如果要求他们输入信用卡或Paypal的信息,那么你真的需要一个CA签名的证书,因为大多数人信任CA签名的证书,如果没有它,就不会通过HTTPS服务器做生意。所以如果你想在你的网站上卖东西,那就投资于证书吧,这只是做生意的成本。

链接:https://www.jianshu.com/p/45e804733a23

CA证书、自颁发证书、自签名证书联系的更多相关文章

  1. 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名【转】

    自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行通信   如果你的规划需要创建多个证书,那么使用私有 ...

  2. 使用OpenSsl自己CA根证书,二级根证书和颁发证书(亲测步骤)

    ---恢复内容开始--- 一.介绍 企业自用, 到证书机构签发证书的费用和时间等都可以省下..... SSl证书的背景功用.......(省略万字,不废话) 可以参考: SSL证书_百度百科 X509 ...

  3. 使用openssl创建自签名证书及部署到IIS教程

    概要 本文讲解三个部分:1. 创建自签名证书2. 创建自己的证书颁发机构3. 以及如何配置IIS 创建自签名证书 首先,创建一个私钥文件: openssl genrsa -out myselfsign ...

  4. iOS使用自签名证书实现HTTPS请求

    概述 在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求. 默认情况下非HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向 ...

  5. iOS 用自签名证书实现 HTTPS 请求的原理

    在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求.默认情况下非HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info ...

  6. openssl实现自签名证书

    前言 证书的作用 加密通信数据,验证对象身份,保证数据完整性 什么是自签名证书 公认的证书往往都需要收费,如果客户端与服务端都是由我们自己来操控,那便可以使用自签名证书(说白了就是只是自己认可的证书) ...

  7. Thawte 企业版代码签名证书

      Thawte企业版代码签名证书 ,严格验证企业身份,如果您是个人开放者,请申请Thawte 个人代码签名证书.Thawte企业代码签名证书 可帮助程序开发者使用微软代码签名工具(Microsoft ...

  8. Win10内核驱动强制签名,申请沃通 EV代码签名证书

    2016年7月,微软在MSDN宣布从Windows 10的1607版本开始,强制要求所有新的Win10 内核驱动程序,必须获得Windows硬件开发者中心仪表盘门户的数字签名才能在系统中运行.这项政策 ...

  9. 使用 OpenSSL为WindowsServer远程桌面(RDP)创建自签名证书 (Self-signed SSL certificate)

    前言 笔者查阅很多资料,才写成此文章,如有错误,请读者们及时提出. 一般大家使用远程桌面(Remote Desktop)连接Windows Server时,总会有一个警告提示,如图1 图1 出现此警告 ...

随机推荐

  1. Bugku练习题---Web---计算器

    Bugku练习题---Web---计算器 flag:flag{8b4b2f83db2992d17d770be1db965147} 解题步骤: 1.观察题目,打开场景 2.场景打开后发现是一个验证码界面 ...

  2. Bugku练习题---MISC---蜜雪冰城~

    Bugku练习题---MISC---蜜雪冰城~ flag:flag{1251_521_m1xueb1n9chen9ti@nm1mi} 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现有好几个文件 ...

  3. Azure Terraform(十一)Azure DevOps Pipeline 内的动态临时变量的使用

    思路浅析 在我们分析的 Azure Terraform 系列文中有介绍到关于 Terraform 的状态文件远程存储的问题,我们在  Azure DevOps Pipeline 的 Task Job ...

  4. 分享我做Dotnet9博客网站时积累的一些资料

    从2019年使用WordPress搭建Dotnet9网站,到现在手撸代码开发,介绍中间使用的一些资源,绝无保留,希望对大家有用. 1. 申请域名.搭建WordPress网站 时间点:2019年11月 ...

  5. Android8.0 后台服务保活的一种思路

    原文地址:Android8.0 后台服务保活的一种思路 | Stars-One的杂货小窝 项目中有个MQ服务,需要一直连着,接收到消息会发送语音,且手机要在锁屏也要实现此功能 目前是使用广播机制实现, ...

  6. 安卓导航抽屉 Navigation Drawer 实现沉浸通知栏

    在使用 Navigation Drawer Activity 模版的时候,遇到了通知栏无法完全沉浸的问题,尝试搜索一些现有的解决方法,但是或多或少都会存在一些问题,通过反复尝试找到找到了一种比较靠谱的 ...

  7. SecureCRT使用SSH链接出现Password Authentication Failed,Please verify that the username and password are correct的解决办法(亲测有效)

  8. 443. String Compression - LeetCode

    Question 443. String Compression Solution 题目大意:把一个有序数组压缩, 思路:遍历数组 Java实现: public int compress(char[] ...

  9. [C++STL] 队列 queue 的入门

    队列结构 概念: 队列(queue):和栈相似,也是一种特殊的线性表.和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作.一般来说,进行插入操作的一端称为队尾,进行删除操作的一端称 ...

  10. 服务器安装mysql遇到的坑

    服务器安装mysql遇到的坑 一.CentOS7安装MySQL 1.下载:MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mys ...