一、理论基础

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. XCTF练习题---MISC---wireshark1

    XCTF练习题---MISC---wireshark1 flag:flag{ffb7567a1d4f4abdffdb54e022f8facd} 解题步骤: 1.观察题目,下载附件 2.得到一个wire ...

  2. Go语言学习——指针、new和make

    指针 Go语言中不存在指针操作,只需要记住两个符号: &:取地址 *:根据地址取值 vscode 打开多个标签页 settings.json中输入"workbench.editor. ...

  3. OAuth 2.1 框架

    OAuth 2.1 Draft 当前版本:v2-1-05 失效时间:2022/09/08 本文对部分原文翻译,同时加了一些笔记,以便理解. 单词 译意 identifiler 识别码 Resource ...

  4. 容器内的Linux诊断工具0x.tools

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 Linux上有大量的问题诊断工具,如perf.bcc等,但这些诊断工具,虽然功能强大,但却需要很高的权限才可以使用 ...

  5. MySQL8新增降序索引

    MySQL8新增降序索引 桃花坞里桃花庵,桃花庵里桃花仙.桃花仙人种桃树,又摘桃花卖酒钱. 一.MySQL5.7 降序索引 MySQL在语法上很早就已经支持降序索引,但实际上创建的却仍然是升序索引,如 ...

  6. 有关 ThreadLocal 的一切

    早上好,各位新老读者们,我是七淅(xī). 今天和大家分享的是面试常驻嘉宾:ThreadLocal 当初鹅厂一面就有问到它,问题的答案在下面正文的第 2 点. 1. 底层结构 ThreadLocal ...

  7. 微信H5页面唤醒APP并传参跳转uniapp

    主要实现是利用微信内置浏览器支持的<wx-open-launch-app>开放标签可以让你的H5网页拉起APP   在链接https://developers.weixin.qq.com/ ...

  8. python 动态规划(背包问题和最长公共子串)

    背包问题 现在要往一个可以装4个单位重量的背包里怎么装价值最高:A重量1个单位,价值15:B重量3个单位,价值20:C重量4个重量,价值30 使用动态规划填充空格 class SolutionBag: ...

  9. 【低码】asp.net core 实体类可生产 CRUD 后台管理界面

    前言介绍 喜欢小规模团队的"单打独斗",有的时候即使在大公司,也经常做着3-5个人团队的小项目,相信很多人有类似的经历. 本文介绍如何将项目中已存在的[实体类],直接生产出 CRUD 后台管理界面. ...

  10. Linux常用命令(超详细)

    一.基本命令 1.1 关机和重启 关机 shutdown -h now 立刻关机 shutdown -h 5 5分钟后关机 poweroff 立刻关机 重启 shutdown -r now 立刻重启 ...