说到https,我们就不得不说tls/ssl,那说到tls/ssl,我们就不得不说证书机构(CA).证书.数字签名.私钥.公钥.对称加密.非对称加密.这些到底有什么用呢,正所谓存在即合理,这篇文章我就带你们捋一捋这其中的关系. 对称加密 对称加密是指双方持有相同的密钥进行通信,加密速度快,但是有一个安全问题,双方怎样获得相同的密钥?你总不能总是拿着U盘把密钥拷贝给对方吧. 常见的对称加密算法有DES.3DES.AES等 非对称加密 非对称加密,又称为公开密钥加密,是为了解决对称加密中的安全问题而…
加密解密(2)*客户端,服务器,CA(Certificate Authority),公钥,私钥,证书,签名,验证 各角色比喻 客户端:通常为请求方,要验证服务器的身份. 服务器:通常为响应方,有时也要验证客户端的身份. C     A :全拼为Certificate Authority,就是第三方验证机构.客户端与服务器只有在CA申请了证书之后才能证明身份合法. 加   密 :客户端或服务器把数据放在箱子里,然后用钥匙(公钥或私钥)将箱子锁上,再放到网络上传输,只有有用钥匙的人才能打开箱子. 根…
一.什么是CA? CA是证书的签发机构,它是公钥基础设施(Public Key Infrastructure,PKI)的核心.CA是负责签发证书.认证证书.管理已颁发证书的机关.CA 拥有一个证书(内含公钥和私钥).网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书.如果用户想得到一份属于自己的证书,他应先向 CA 提出申请.在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之…
本篇文章中,将描述如何使用go创建CA,并使用CA签署证书.在使用openssl创建证书时,遵循的步骤是 创建秘钥 > 创建CA > 生成要颁发证书的秘钥 > 使用CA签发证书.这种步骤,那么我们现在就来尝试下. 创建证书的颁发机构 首先,会从将从创建 CA 开始.CA 会被用来签署其他证书 // 对证书进行签名 ca := &x509.Certificate{ SerialNumber: big.NewInt(2019), Subject: pkix.Name{ CommonN…
1.CA CA(Certificate Authority)是数字证书认证中心的简称,是指发放数字证书.管理数字证书.废除数字证书的权威机构. 2.数字证书 如果向CA申请数字证书的单位为A.则他申请的数字证书中含有的内容为: a)A的公钥数据 b)对应私钥拥有者(也就是A)的身份信息 c)CA机构对数字证书进行了数字签名 d)包括了CA的名称.以便于依赖方找到CA的公钥.验证证书上的数字签名 Remarks:在第c)条中,当某个用户得到某个单位的数字证书时,要该数字证书进行认证,就是看看是不是…
用openssl为WEB服务器生成证书(自签名CA证书,服务器证书) 来源: https://www.cnblogs.com/osnosn/p/10608455.html 来自osnosn的博客 写于: 2019-03-28. 不想用自签名证书,想在网上申请一个免费服务器证书,见这篇: 去freessl.org申请免费ssl服务器证书 以下内容是用自签名证书,为网站生成服务器证书. 照着这一篇"用openssl为EAP-TLS生成证书(CA证书,服务器证书,用户证书)",建立所有文件.…
在https学习笔记二,已经弄清了数字证书的概念,组成和在https连接过程中,客户端是如何验证服务器端的证书的.这一章,主要介绍下如何使用openssl库来创建key file,以及生成root CA及签发子证书.学习主要参考官方文档:https://www.feistyduck.com/library/openssl-cookbook/online/ch-openssl.html# 一.openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用.健壮.功能完备…
一.背景说明 1.1 面临问题 最近一份产品检测报告建议使用基于pki的认证方式,由于产品已实现https,商量之下认为其意思是使用双向认证以处理中间人形式攻击. <信息安全工程>中接触过双向认证,但有两个问题. 第一个是当时最终的课程设计客户端是浏览器,服务端是tomcat双向认证只需要对两者进行配置并不需要自己真的实现代码. 第二个是虽然课程也有接近双向认证的实现代码,但当时是Java+JCE环境现在要用C+++OpenSSL环境,总体意思确实还是差不多但具体函数和参数差别还是不少. 所以…
一.openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用.健壮.功能完备的工具套件,用以支持SSL/TLS 协议的实现.官网:https://www.openssl.org/source/,其中有3个主要的用途:1.密码算法库(建立 RSA.DH.DSA key 参数,计算消息摘要,使用各种 Cipher加密/解密) 2.密钥和证书封装管理功能(建立 X.509 证书.证书签名请求(CSR)和CRLs(证书回收列表)):3.SSL通信API接口(SSL/TL…
第一步,生成私钥 $ openssl genrsa -out privatekey.pem 2048 查看生成的私钥内容 $ file privatekey.pem privatekey.pem: PEM RSA private key $ cat privatekey.pem -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEA8AWq2V3g4B9fN7Tj37k0Wmut70ylRyziebyE3baA24pgixgu 8wpXztHdF5Yix…