ca数字证书

PKI(Public Key Infrastucture)介绍

核能气质少年 提交于 2020-01-19 01:58:01
PKI(Public Key Infrastucture)介绍 根据Wikipedia PKI词条整理。 PKI(Public Key Infrastucture)是一系列的规则、策略以及过程,可以用来创建、管理、分发、使用、存储、移除数字证书以及管理公钥加密。PKI是用来实现信息的安全传输,在包括电子贸易、网上银行、保密电邮等网络活动中。在一些活动中,简单的密码验证已经不再适用,需要更加严格的验证来确认信息交互参与者的身份并验证正在传输的信息。 在密码学中,PKI是一种将实体的标识(identity)与公钥绑定在一起的组织结构。这种绑定是通过 Certificate Authority(CA)注册和颁发证书的过程建立的。根据绑定的保证级别,这可以通过自动化过程或在人工监督下进行。 PKI中实现有效正确的注册的角色称之为Registration Authority(RA),RA负责接受对数字证书的请求,并对发出请求的实体进行身份验证。 一个实体必须根据该实体的信息在每个CA域中惟一地标识。第三方验证机构(VA)可以代表CA提供此实体信息。 公钥加密技术可以在不可靠的公共网络中实现安全通讯,并通过数字签名技术来验证实体的身份。PKI是这样一个系统,用来创建、存储、分发数字签名,这些数字签名用来验证一个特定的公钥属于某个特定实体。PKI创建数字签名,这些数字签名将公钥map到实体上

探究公钥、私钥、对称加密、非对称加密、hash加密、数字签名、数字证书、CA认证、https它们究竟是什么,它们分别解决了通信过程的哪些问题。

早过忘川 提交于 2020-01-15 20:29:39
一、准备   1. 角色:小白、美美、小黑。   2. 剧情:小白和美美在谈恋爱;小黑对美美求而不得、心生怨念,所以从中作梗。   3. 需求:小白要与美美需通过网络进行通信,联络感情,所以必须保证通信的安全性。 二、由通信过程中可能出现的问题来引出公钥、私钥、对称加密、非对称加密、hash加密、数字签名、数字证书、CA认证、https的相关知识     1. 场景1: 小白和美美在 http 协议下进行通信。     1.1 能否完成通信 :能。     1.2 还可能出现其他问题 :容易受到网络中间人攻击:在http协议下进行通信,信息是没有进行加密的,在透明的网络环境中,一旦信息被小黑截获,小黑可以查看、篡改信息内容,难以保证信息的安全。—— 问题所在:信息没加密。     1.3 解决办法 :引入“公钥、私钥”对信息进行加密,详情见“场景2”。    2. 场景2: 小白和美美依旧是在 http 协议下进行通信,但小白先准备了一对秘钥(公钥+私钥),私钥由小白自己保管,公钥则交给了美美。通信时,小白先用“小白的私钥”对信息进行加密,然后再发送给美美;美美收到信息后,用“小白的公钥”进行解密,得到明文。美美要给小白发信息时,先用“小白的公钥”对信息进行加密,然后再发送给小白;小白收到回复后,用“小白的私钥”进行解密,得到明文。     2.1 公钥、私钥     (1

# openssl 生成ssl证书详解

烈酒焚心 提交于 2020-01-10 20:05:09
1.概念 数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。数字证书是一种权威性的电子文档,可以由权威公正的第三方机构,即CA(例如中国各地方的CA公司)中心签发的证书,也可以由企业级CA系统进行签发。 一般证书分有三类,根证书、服务器证书和客户端证书。根证书,是生成服务器证书和客户端证书的基础,是信任的源头,也可以叫自签发证书,即CA证书。服务器证书,由根证书签发,配置在服务器上的证书。客户端证书,由根证书签发,配置在服务器上,并发送给客户,让客户安装在浏览器里的证书。 接下来,认识了证书的基本概念之后,我们来认识下这几个概念,公钥/私钥/签名/验证签名/加密/解密/对称加密/非对称加密。 我们一般的加密是用一个密码加密文件,然后解密也用同样的密码。这很好理解,这个是对称加密。而有些加密时,加密用的一个密码,而解密用另外一组密码,这个叫非对称加密,意思就是加密解密的密码不一样。其实这是数学上的一个素数积求因子的原理应用,其结果就是用这一组密钥中的一个来加密数据,用另一个来解密,或许有人已经想到了,没错这就是所谓的公钥和私钥。公钥和私钥都可以用来加密数据,而他们的区别是,公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥加密数据

etcd 启用 https

こ雲淡風輕ζ 提交于 2020-01-06 05:45:09
文章目录 1, 生成 TLS 秘钥对 2,拷贝密钥对到所有节点 3,配置 etcd 使用证书 4,测试 etcd 是否正常 5,配置 kube-apiserver 使用 CA 连接 etcd 6,测试 kube-apiserver 7,未解决的问题 SSL/TSL 认证分单向认证和双向认证两种方式。简单说就是单向认证只是客户端对服务端的身份进行验证,双向认证是客户端和服务端互相进行身份认证。就比如,我们登录淘宝买东西,为了防止我们登录的是假淘宝网站,此时我们通过浏览器打开淘宝买东西时,浏览器会验证我们登录的网站是否是真的淘宝的网站,而淘宝网站不关心我们是否“合法”,这就是单向认证。而双向认证是服务端也需要对客户端做出认证。 因为大部分 kubernetes 基于内网部署,而内网应该都会采用私有 IP 地址通讯,权威 CA 好像只能签署域名证书,对于签署到 IP 可能无法实现。所以我们需要预先自建 CA 签发证书。 Generate self-signed certificates 官方参考文档 官方推荐使用 cfssl 来自建 CA 签发证书,当然你也可以用众人熟知的 OpenSSL 或者 easy-rsa 。以下步骤遵循官方文档: 1, 生成 TLS 秘钥对 生成步骤: 1,下载 cfssl 2,初始化证书颁发机构 3,配置 CA 选项 4,生成服务器端证书 5,生成对等证书 6

面试-HTTPS-身份认证

空扰寡人 提交于 2020-01-02 03:15:28
作者:浩哥的日常 链接:https://zhuanlan.zhihu.com/p/89905893 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 TLS 传输层安全性协定 TLS(Transport Layer Security),及其前身安全套接层 SSL(Secure Sockets Layer)是一种安全协议,目的是为网际网路通信,提供安全及数据完整性保障。 如图, TLS 在建立连接时是需要 客户端发送 ClientHello(包含支持的协议版本、加密算法和 随机数A (Client random) )到服务端 服务端返回 ServerHello、公钥、证书、 随机数B (Server random) 到客户端 客户端使用CA证书验证返回证书无误后。生成 随机数C (Premaster secret) ,用公钥对其加密,发送到服务端 服务端用 私钥 解密得到 随机数C (Premaster secret) ,随后根据已经得到的 随机数ABC生成对称密钥(hello的时候确定的加密算法) ,并对需要发送的数据进行对称加密发送 客户端使用对称密钥(客户端也用随机数ABC生成对称密钥)对数据进行解密。 双方手持对称密钥 使用对称加密算法通讯 而这一流程 服务端的证书 是至关重要的。 证书 证书用来证明公钥拥有者身份的凭证 首先我们需要知道

https学习笔记三----OpenSSL生成root CA及签发证书

…衆ロ難τιáo~ 提交于 2019-12-22 17:14:12
在https学习笔记二,已经弄清了数字证书的概念,组成和在https连接过程中,客户端是如何验证服务器端的证书的。这一章,主要介绍下如何使用openssl库来创建key file,以及生成root CA及签发子证书。学习主要参考官方文档:https://www.feistyduck.com/library/openssl-cookbook/online/ch-openssl.html# 一、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/TLS 客户端以及服务器的测试,处理S/MIME 或者加密邮件)。 二、安装openssl(linux CentOS7 32位) 如果使用的是unix操作系统,可能安装系统的时候,这个库就已经有且存在了。但是在使用前,需要注意下当前openssl的库的版本 。 openssl version OpenSSL

Fabric CA证书管理教程

自闭症网瘾萝莉.ら 提交于 2019-12-16 11:06:48
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Fabric-CA是Hyperledger Fabric自带的证书管理工具,对于开发和测试非常方便。在这个教程中我们将探索Fabric-CA的使用方法并利用它完成用户的注册/Register和登记/Enrollment。 Hyperledger Fabric是一个许可制的区块链平台,在访问Fabric网络之前必须先进行身份识别并获得访问许可。Fabric网络中的身份是使用数字证书实现的,因此需要CA来处理证书的管理。 虽然Hyperledger Fabric允许使用第三方CA软件来管理用户证书,但出于方便考虑也自带了一个Fabric CA工具可以作为Fabric网络中的CA。由于Fabric自带的应用实例都是使用Fabric CA,因此我们在这个教程中将探索Fabric CA,特别是它在用户注册登记中的应用。 在这片文章中,我们使用部署在First网络上的Fabcar应用,这个实例应用包含了链码和客户端应用,其中的enrolAdmin.js和registerUser.js实现了基于Fabric CA的注册登记。 为了让整个过程展示的更清晰,我们调整了代码。同时我们也会查看Fabric CA的数据库,以便更好的理解在登记和注册时Fabric CA的运行机制。 相关教程推荐: Hyperledger Fabric

openssl生成SSL证书的流程

喜欢而已 提交于 2019-12-11 19:41:02
SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socketlayer(SSL),SSL安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。 SSL网站不同于一般的Web站点,它使用的是“HTTPS”协议,而不是普通的“HTTP”协议。因此它的URL(统一资源定位器)格式为“https://www.baidu.com”。 什么是x509证书链 x509证书一般会用到三类文件,key,csr,crt。 Key是私用密钥,openssl格式,通常是rsa算法。 csr是证书请求文件,用于申请证书。在制作csr文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥。 crt是CA认证后的证书文件(windows下面的csr,其实是crt),签署人用自己的key给你签署的凭证。 概念 首先要有一个CA根证书,然后用CA根证书来签发用户证书。 用户进行证书申请

kubernetes实践之六:CFSSL构建本地CA

谁说胖子不能爱 提交于 2019-12-10 10:46:23
http://blog.itpub.net/28624388/viewspace-2152064/ 一:前言 SSL: Secure Sockets Layer,标准化后叫"TLS",http协议默认情况下是不加密内容的,这样就很可能在内容传播的时候被别人监听到,对于安全性要求较高的场合,必须要加密,https就是带加密的http协议。 消息-->[公钥]-->加密后的信息-->[私钥]-->消息 CA : certificate authority 认证证书的第三方机构。 X.509 : 证书标准,主要定义了证书中应该包含哪些内容.其详情可以参考RFC5280,SSL使用的就是这种证书标准. PEM : Privacy Enhanced Mail,同样的X.509证书,可能有不同的编码格式,pem是其中的一种编码格式。该种格式以“------BEGIN------”开头,以“------END------”结尾,中间内容是BASE64编码。 CSR : Certificate Signing Request,即证书签名请求,这个并不是证书,而是向权威证书颁发机构获得签名证书的申请 CRT / CER :certificate 证书。 PKI : public key infrastructure公钥基础设施。使用内部托管的认证中心(CA

LNMP-Nginx配置SSL-ssl工作流程

非 Y 不嫁゛ 提交于 2019-12-10 06:15:45
SLL工作流程: 浏览器发送一个https的请求给服务器; 服务器要有一套数字证书,可以自己制作(后面的操作就是阿铭自己制作的证书),也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出>提示页面,这套证书其实就是一对公钥和私钥; 服务器会把公钥传输给客户端; 客户端(浏览器)收到公钥后,会验证其是否合法有效,无效会有警告提醒,有效则会生成一串随机数,并用收到的公钥加密; 客户端把加密后的随机字符串传输给服务器; 服务器收到加密随机字符串后,先用私钥解密(公钥加密,私钥解密),获取到这一串随机数后,再用这串随机字符串加密传输的数据(该加密为对称加密,所谓对称加密,就是将数据和私钥也就是这个随机字符串>通过某种算法混合在一起,这样除非知道私钥,否则无法获取数据内容); 服务器把加密后的数据传输给客户端; 客户端收到数据后,再用自己的私钥也就是那个随机字符串解密; 一、实验 配置SSL之前,需要检查nginx是否有该模块–with-http_ssl_module,如果没有该模块需要重新编译nginx,具体操作参考nginx编译安装文档,openssl该命令需要安装openssl包获得!! 1:生成私钥 [root@proxy conf ~]# openssl genrsa -des3 -out tmp.key 2048 2