简述如何利用openssl创建私有CA

我在这篇博客中讲了加密解密原理和相关算法及其实现:http://starli.blog.51cto.com/8813574/1671408

CA是什么?为什么需要CA? 先看下面的互联网安全通讯模型!

现在互联网上常用的安全通讯模型:

发送方发送数据时执行的步骤如下(分别对应于上图发送方的1、2、3):

1、发送方将需要在互联网上进行安全传输的数据采用单向加密算法提取数据的特征码,然后用自己的私钥加密这段特征码放在数据的尾部;

2、发送方生成一个一次性的对称加密算法的秘钥,然后使用对称加密算法和生成的秘钥将数据和加密后的特征码加密后生成密文;

3、将上一步对称加密用到的秘钥使用接收方的公钥加密后放在密文的后面;随后就可以将数据放到互联网上进行传输。

接收方接收到数据后执行的步骤如下(分别对应于上图接收方的1、2、3):

1、接收方接收到数据后,用自己的私钥解密加密后的对称加密算法的秘钥。(如果能解密则能验证数据的机密性)

2、接收方用解密后得到的对称加密算法的秘钥后使用与发送方同样的对称加密算法解密加密的数据和加密的数据的特征码。

3、接收方使用与发送方相同的单向加密算法提取解密后的数据的特征码,而后使用发送方的公钥对上一步解密得到的加密的数据的特征码(如果能解密,则可以发送接收方的身份),并比较这两个特征码进行比较是否一致。(如果一致,则可以验证数据的完整)。

在上面的通讯过程中,由于公钥是公开的,任何人都可以得到并使用。那么在互联网上的安全通讯过程中,通讯双方如何可靠的得到对方的公钥呢?这就需要一种手段来实现。CA其实就是实现让通讯双方可靠的得到对方公钥的一种手段。CA的实现方式是通过给通讯者颁发证书,目前通用的证书格式为x509,证书基本格式如下:

如果想使用证书在互联网上进行安全通讯,那么就需要构建私有CA,颁发证书时也有一个流程 ,具体流程和步骤如下:

建立私有CA服务器:

1、给CA自己生成私钥

2、然后提取CA的私钥中的公钥给自己颁发一个自签证书

3、初始化CA工作环境

客户端申请证书

1、在本地生成证书签署请求

2、将请求复制到CA服务器上

3、CA签署证书

4、将证书传给客户端

有了CA颁发的证书之后,通讯过程如下(这个过程也称之为ssl会话建立的过程):

未完待续。。。。。

时间: 2024-08-02 06:58:46

简述如何利用openssl创建私有CA的相关文章

OpenSSH的应用和利用OpenSSL创建私有CA签证给httpd服务器开https

https http over ssl = https 443/tcp                ssl: v3                tls: v1 https:// SSL会话的简化过程                (1) 客户端发送可供选择的加密方式,并向服务器请求证书:                (2) 服务器端发送证书以及选定的加密方式给客户端:                (3) 客户端取得证书并进行证书验正:                    如果信任给其发

OpenSSH的应用和利用OpenSSL创建私有CA签证给httpd服务器开起https

一.OpenSSH OpenSSH与SSH协议是远程登录的首选连接工具.它加密所有流量,以消除窃听,连接劫持和其它攻击.OpenSSH常常被误认以为与OpenSSL有关系,但实际上这两个项目的有不同的目的,不同的发展团队,名称相近只是因为两者有同样的软件发展目标──提供开放源代码的加密通讯软件. OpenSSH的套件包括以下工具: 远程操作使用 SSH, SCP,和 SFTP. 密钥管理 ssh-add, ssh-keysign, ssh-keyscan和ssh-keygen 服务端组成 ssh

在企业内部使用openssl创建私有CA

随着计算机技术的发展,信息网络技术的应用日益深入,这些应用改进了企业工作方式,提高了工作效率.而如何确保在网络中传输的身份认证.机密性.完整性.合法性.不可抵赖性等问题成为企业进一步发展和推动企业信息化应用的关键.要解决这些问题,需要用到CA认证功能.而当企业的应用仅仅在企业内部实现时,我们只需要在企业内部自建CA服务器,完成认证功能,而无需采用第三方机构提供的CA,在总体上节省成本. 使用openssl可以实现企业内部自建CA,首先我们需要安装openssl 软件包,利用openssl创建CA

利用openssl实现私有CA以及mysql服务器的ssl连接的配置

利用openssl实现私有CA以及mysql服务器的ssl连接的配置 一.CA简介 CA 也拥有一个证书(内含公钥和私钥).网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书. 如果用户想得到一份属于自己的证书,他应先向 CA 提出申请.在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者. 如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对

利用OpenSSL构建私有CA

实验环境: CentOS release 6.6(Final)  两台 IP地址: 服务器端:172.16.31.3 客户端:172.16.31.2 查看系统书否已安装openSSL执行命令"rpm –qa openssl" [[email protected] ~]# rpm -qa openssl openssl-1.0.1e-30.el6.x86_64 OpenSSL本身是一种ssl的开源方式用以实现https的数据加密传输,但OpenSSL的功能绝不仅限于此,OpenSSL提供

加密/解密&利用OpenSSL构建私有CA

在互联网安全及个人隐私状况日益严峻的今天,加密技术变得尤为重要并且不可或缺.在密码雪中,加密是指将明文信息隐匿起来,使之在缺少特殊信息时不可读.本文所讲的主要是在互联网传输数据时所用的加密方式.我们都知道OSI&TCP/IP网络参考模型,通常我们会把这两个模型分为通信子网和资源子网两部分,但是在构建网络的初期,信息从发送端送达到接受端都非常困难所以在设计模型之初并没有考虑过多的安全因素,以至于通信子网和资源子网都没有涉及到数据加密的内容.为了解决这个问题,网景公司在资源子网和通信子网之间添加了半

使用OpenSSL创建私有CA、签署证书

OpenSSL工具包是Linux上SSL v2/v3和TLS v1协议的实现方式之一,并建提供了常用的加密解密功能. OpenSSL主要由三部分组成: 1:libcrypto:加密库,主要用来实现加密.解密的功能库 2:libssl:实现SSL服务器端功能会话库 3:openssl命令行工具:/usr/bin/openssl 本文仅是介绍如何通过openssl命令创建私有CA,以及如何申请证书.签署证书等过程. 证书主要包含的就是拥有者自身的属性信息.公钥以及CA的签名,核心就是用户的公钥.服务

使用OpenSSL创建私有CA

使用OpenSSL创建私有CA 首先确认安装了openssl和openssl-libs [[email protected] ~]# rpm -qa | grep openssl openssl-libs-1.0.1e-42.el7.x86_64 openssl-1.0.1e-42.el7.x86_64 配置文件/etc/pki/tls/openssl.cnf是ini风格的,其中比较常用的配置就是CA自身的配置和req发证请求相关的配置.配置文件中各配置项的作用描述得很详细了,没必要逐项解释,需

使用 OpenSSL 创建私有 CA:3 用户证书

OpenSSL 创建私有 CA 三部曲:使用 OpenSSL 创建私有 CA:1 根证书使用 OpenSSL 创建私有 CA:2 中间证书使用 OpenSSL 创建私有 CA:3 用户证书 在前文<使用 OpenSSL 创建私有 CA:2 中间证书>中我们介绍了如何创建中间证书,并生成证书链.本文我们将介绍如何为应用生成用户证书(web 站点的 ssl 证书),并把证书部署到应用服务器上和客户端上.说明:本系列文章的演示环境为 Ubuntu 18.04,OpenSSL 的版本为 1.1.0g.