openssl原理的初步理解与私有CA服务器的建立

加密算法主要分为对称加密算法和对称加密算法

一。对称加密算法的原理:使用相同的密钥进行加密运算的算法就是对称加密算法
       加密过程(内容-->对称加密-->加密后的内容)
       解密过程(加密内容-->对称加密方式--》解密后的内容)
       优点与特点:速度块 加密相对安全 加密紧凑;缺点是不能用于大规模使用,会随参与人数的正佳而映像密钥的存储和管理,不支持数字签名和不可否认性
   
二.  非堆成加密的原理:非对称算法需要每个参与者产生一对密钥,且将公钥共享到服务器,保证了私 钥的安全
        加密解密过程:产生密钥对--> 通过公钥/私钥进行加密-->加密内容-->通过私钥/公钥进行解密-->解密后的内容
        优点:不需要发送密钥给接受者,密钥数目与参与者相同,没有复杂的密钥分发问题,在交换公钥钱不需要预先建立信任关系
        缺点:加密速度慢,会导致密文远大于加密前的长度  
        
三.单向加密的过程:(发送方=A  接受方=B 传输内容=O)
          1.A使用算法生成自己的数字签名,用自己的私钥对数字签名加密并与C打包
          2.A使用算法生成随机对称密钥加密整个数据,生成数据C1
          3.A再用B的公钥加密随机生成的对称密钥,生成最终的数据CC
          4.B先使用自己的私钥对数据CC机密,得到生成的随机对称密钥
          5。B再用A的公钥解密有A的私钥加密生成的数字就签名
          6.最后对比数字签名,确定该包是否由A发送过来的
        
         
       
  四. 证书的产生流程:        
         1.Client 能互联网下载CA的公钥,用于验证Server身份
         2.Server 通过加密算法生成一对密钥,将公钥发给CA认证机构,做数字证书
         3.CA 通过自己的私钥加密 Server 公钥并加上自己的数字签名后,将生成的数字证书发给Server
         4.Client 与 Server 通TCP的三次握手建立连接
         5.Client 发出HTTP的报文请求,并和Server协商使用哪种算法加密
         6.Server 响应报文并将公钥(CA证书)发送给客户端
         7.Client 能通过CA的公钥解密CA证书,得到Server的公钥和数字签名,Client 通过散列函数算出
                    Server公钥的数字签名与得到的数字签名对比,来验证Server身份,验证成功并发送数据请求
         8.Server 处理请求,并根据Client请求的资源类型,来访问相关资源做出响应报文,并记录日志
         9.Client 与 Server 通过TCP的四次挥手断开连接,通信完成

五.建立CA证书签署服务器

(一)CA服务器

1.生成密钥对

2.生成自签署证书

3.初始化工作环境

#touch /etc/pki/CA/{index.txt,serial}

#echio  01 > index.txt

(二)节点生成签署证书请求(这里以http服务为例)

1.生成密钥对

2.生成签署请求

3.使用scp将签署请求发送给CA服务器 使用scp即可

(三)CA为节点签署证书

1.验证证书的信息的真实性

2.签署证书

3.将证书发送给节点

#scp 证书名  服务器IP地址

(四)吊销证书

1.节点后去证书中的serial与subject信息,并将信息发送给CA服务器

# openssl x509 -in /path/to/certificate_file.crt -noout -serial -subject

2.CA服务器对比验证需要吊销的证书

3.吊销证书

# openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem

4.生成吊销列表

# echo 00 > /etc/pki/CA/crlnumber

5、更新证书吊销列表
         # cd /etc/pki/CA/crl/
         # openssl ca -gencrl -out thisca.crl

如果需要,查看crl文件的内容:
         # openssl crl -in /path/to/crlfile.crl -noout -text

注:openssl的各子命令的详细用法请使用# man openssl

openssl原理的初步理解与私有CA服务器的建立

时间: 2024-10-09 00:11:28

openssl原理的初步理解与私有CA服务器的建立的相关文章

私有CA服务器的搭建

openssl是实现ssl协议的应用程序,可以使用yum install -y openssll来安装,构建私有CA之前先来了解openssl的使用: openssl的主配置文件:/etc/pki/tls/openssl.cnf [CA_default] dir:CA的主目录 certs:已颁发证书的存储位置 crl_dir:已吊销证书的存储位置 database:证书索引文件 new_certs_dir:新颁发证书的存储位置 certificate:CA证书文件 serial:证书颁发时的当前

openssl工具的使用以及创建私有CA

openssl软件包在安装之后,主要会生成三段重要内容:加密库 ssl相关库文件 openssl命令行工具 下面就来介绍一下openssl命令行工具的使用: openssl和yum类似,有着许许多多的子命令: 如果要获得这些子命令的相关man文档,先使用whatis查看一下确定使用man的格式语法 其中常用的子命令有: 1.enc:实现对称加密,解密的命令 使用格式:openssl enc ciphername -a [-e] [-salt] -in filename -out filename

搭建私有CA服务器

1.CA是什么 CA(Certificate Authority)证书颁发机构主要负责证书的颁发.管理以及归档和吊销.证书内包含了拥有证书者的姓名.地址.电子邮件帐号.公钥.证书有效期.发放证书的CA.CA的数字签名等信息.证书主要有三大功能:加密.签名.身份验证. 2.搭建CA服务器 2.1 生成秘钥 [[email protected] CA]# cd /etc/pki/CA/ #切换到CA目录 [[email protected] CA]# (umask 077; openssl genr

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

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

OpenSSL建立私有CA

yum安装OpenSSL: 提示已经安装过了. openssl的主配置文件:/etc/pki/tls/openssl.cnf [CA_default] dir:CA的主目录 certs:已颁发证书的存储位置 crl_dir:已吊销证书的存储位置 database:证书索引文件 new_certs_dir:新颁发证书的存储位置 certificate:CA证书文件 serial:证书颁发时的当前序列号 crlnumber:吊销证书的当前序列号 crl:当前使用的CRL private_key:CA

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

我在这篇博客中讲了加密解密原理和相关算法及其实现:http://starli.blog.51cto.com/8813574/1671408 CA是什么?为什么需要CA? 先看下面的互联网安全通讯模型! 现在互联网上常用的安全通讯模型: 发送方发送数据时执行的步骤如下(分别对应于上图发送方的1.2.3): 1.发送方将需要在互联网上进行安全传输的数据采用单向加密算法提取数据的特征码,然后用自己的私钥加密这段特征码放在数据的尾部: 2.发送方生成一个一次性的对称加密算法的秘钥,然后使用对称加密算法和

openssl的加密、解密以及构建私有CA

SSL.TLS介绍: SSL:安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密. TLS:安全传输层协议(Transport Layer Security)用于在两个通信应用程序之间提供保密性和数据完整性.该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake).较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面,与具体

利用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提供

Linux系统搭建私有CA证书服务器

一.CA简介 CA是什么?CA是Certificate Authority的简写,从字面意思翻译过来是凭证管理中心,认证授权.它有点类似我们生活中的身份证颁发机构,这里的CA就相当于生活中颁发身份证的机构.不同于生活中的颁发机构,这里的CA是给服务器颁发证书.颁发证书的目的同生活中的办理身份证的目的类似,都是为了证明一件事,生活中的身份证可以证明我们是一个合法的公民,而服务器颁发证书的目的也是证明我们服务是一个合法的服务器,换句话说就是有了证书我们就可以清楚知道我们访问的服务器到底是不是我们真正