通过OpenSSL搭建私有CA及加密解密介绍

加密incode:对明文(可读懂的信息)进行翻译,使用不同的算法对明文以代码形式(密码)实施加密。该过程的逆过程称为 解密(descode),即将该编码信息转化为明文的过程

常见的加密算法和协议:

1、对称加密

2、公钥加密(非对称加密)

3、单向加密

4、认证协议

对称加密:加密和解密使用同一个密钥,依赖于,算法和密钥,其安全性依赖于密钥而非算法
常见算法:DES、3DES、 AES、Blowfish、IDEA、Twofish、CAST5、Rc6
 特性:1)加密解密使用同一密钥
             2)将明文分隔成固定大小的块,逐个进行加密
 缺陷:1)密钥过多
          2)密钥分发
非对称加密:即公钥加密,

密钥对儿:私钥(仅允许个人使用)和公钥(公开给所有人获取)
公钥从私钥中提取而来(使用公钥加密的数据,只能使用与此公钥配对儿的私钥解密,反之亦然)

用处:

1)身份认证:私钥拥有者用自己私钥加密的数据,只要用其公钥能解密,即可认证其身份
        2)密钥交换:任何一个人计划与被通讯方通信之前,首先获取到对方的公钥,自己生成一个加密密码,用对方的公钥加密,并发给对方
        3)数据加密
算法:RSA、DSA 实现数字签名、ELGamal
特性:1)密钥长度较大,512bit,2048bits,4096bits
         2)加密解密分别使用密钥对儿中的密钥对进行
         3)常用于数据签名和密钥交换
单向加密:数据能加密但不能解密,用于提取数据的特征码

特性:

1)定长输出:无论原来的数据是多大级别,其加密结果长度一样
         2)雪崩效应: 原始数据微小改变,将会导致结果巨大变化;
         3)不可逆:
算法:MD5:128bits定长输出、SHA1:160bit定长输出、SHA256、 SHA384、SHA512、CRC32循环冗余校验

下面说说OpenSSL如何搭建CA

Openssl是SSL的开源实现(可以免费下载应用程序),是一种安全机密程序,主要用于提高远程登录访问的安全性。也是目前加密算法所使用的工具之一,功能很强大。

       Openssl为网络通信提供安全及数据完整性的一种安全协议,包括了主要的密码算法、常用的密钥和证书封装管理功能(CA)以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用,例如我们将会使用Openssl实现私有CA,并实现证书颁发。

openssl的组成部分:
           libscrypto:加密、解密库文件
           libssl:ssl协议实现
           openssl:多用途命令行工具,每种功能都使用专用的子命令来实现

SSL:(Secure Socket Layer)安全套接字层,通过一种机制在互联网上提供密钥传输。其主要目标是保证两个应用间通信数据的保密性和可靠性,可在服务器端和用户端同时支持的一种加密算法。目前主流版本SSLV2、SSLV3(常用)。

使用OpenSSL构建私有CA:
        1、生成私钥:
        2、生成自签署证书:

(1)私钥用于签发证书时,向证书添加数字签名使用;
        (2)证书:每个通信方导入此证书至"受信任的证书颁发机构"

配置文件:/etc/pki/tls/openssl.cnf

工作目录:/etc/pki/CA/

建立私有CA思路:
                 1、生成私钥文件   /etc/pki/CA/private/cakey.pem(存放)
                 #  cd /etc/pki/CA
                 #  (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
                 2、生成自签证书
                 # openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days #

-new:生成新的证书签署请求
                   -key:私钥文件路径,用于提取公钥
                   -days -N:证书有效时长,单位为"天"
                   -out:输出文件保存位置
                   -x509:直接输出自签署的证书文件,通常只有构建CA时才这么用,如果没有x509则为签署请求
                 3、提供辅助文件
给节点发证书:

1、节点申请证书:在证书申请的主机进行如下步骤
                       (1)生成私钥
                       (2)生成证书签署请求
                       注意:其中的subject信息部分,要与CA的保持一致
                                Common Name要使用此主机在通信真实使用名字
                      (3)把请求发送给CA;让CA以便发出请求
              2、CA签发证书
                        (1)验证请求者信息
                        (2)签署证书
                        # openssl ca -in /PATH/FROM/CSR_FILE -out /PATH/TO/CRT_FILE -days N
                        (3)把签署好的证书发还给请求者

下面以http为例具体实现CA的搭建:

# cd /etc/httpd/
      # ls

# touch index.txt
      # echo 01 > serial

# mkdir ssl
      # cd ssl
      # (umask 077;openssl genrsa -out httpd.key 1024) 生成密钥
      # ll

      # openssl req -new -key httpd.key -out httpd.csr 证书签署请求
      -->输入相关信息
      -->两次回车使用空密码
      # ll

      # openssl ca -in /etc/httpd/ssl/httpd.csr -out /etc/httpd/ssl/http.crt -days 3650  签署证书 直接签署证书

出现红色标识部分,说明 签署成功

吊销证书:
    1、获取吊销证书的序列号

# openssl x509 -in /PATH/FROM/CRT_FILE  -serial -subject
      # openssl x509 -in /etc/httpd/ssl/http.crt  -serial -subject

    2、实现证书吊销:根据证书持有者
      确保一致
      (1)吊销证书
      # openssl ca -revoke /PATH/FROMCRT_FILE
      (2)生成吊销证书的编号
      echo 01 > /etc/pki/CA/crlnumber
      (3)更新证书吊销列表
      # openssl crl -gencrl -out THISCA.crl

时间: 2024-08-05 16:01:28

通过OpenSSL搭建私有CA及加密解密介绍的相关文章

openssl搭建私有CA

数据加密.CA.OpenSSL SSL security socket layer,安全套接字层 openssl (软件) 加密算法和协议: 对称加密:加密和解密使用同一密钥:(依赖于算法和密钥,其安全性依赖于密钥而非算法) 常见算法:des  3des(常用)  idea  cast5 特性:加密.解密使用同一密钥:将明文分隔成固定大小的块,逐个进行加密 缺陷:密钥过多和密钥分发 非对称加密: 密钥对儿:公钥(public key)和私钥(secret key) 公钥从私钥中提取而来,使用公钥

OpenSSL <搭建私有CA>

CA  Server : el7-2 (172.16.1.51)  ,颁发证书 CA  Client  : el7-1 (172.16.1.52)  ,申请证书 1)CA自签证书 ###################生成私钥 [[email protected]   ~]# openssl genrsa  -out  /etc/pki/CA/private/cakey.pem 2048 Generating   RSA private key, 2048 bit long modulus ..

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

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

加密、解密   以及OpenSSL建立私有CA

加密.解密,以及OpenSSL建立私有CA 加密技术是互联网最常用的安全保密手段,其利用技术手段把重要的数据加密后传送,到达目的地后再用相同或不同的手段进行解密. 加密技术包括两个元素:算法和密钥 常用的加密技术:对称加密.非对称加密.单向加密 以上几种加密技术各有千秋,经常组合起来使用 1.对称加密 加密和解密使用同一个密钥,将明文分隔成固定大小的块,逐个进行加密: 常见算法:DES  3DES  Twofish  IDEA  IDEA  CAST5  RC6 Blowfish 2.非对称加密

加密解密基础及openssl构建私有CA初步

方今社会,互联网的普及给我们的生活带来了极大的便利,但任何事物都有其两面性:窗户打开了,阳光和新鲜的空气进来了,苍蝇也进来了.如何在利用互联网带来便利的同时,又尽量规避其风险,保护自己网络通信中信息的安全及私密,成为了一个热门话题,下面本文将主要探讨两个方面的问题,不当之处还请各位前辈不吝斧正. (一)加密解密基础 首先要搞清楚的一个问题是,我们平时的网络通信存在哪些风险呢?目前互联网上常见的攻击方式有两种:主动攻击和被动攻击.主动攻击包括报文伪装.重复.消息篡改.拒绝服务等:被动攻击主要是监听

加密、解密以及OpenSSL建立私有CA

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用.大多数开源程序,商业软件加密核心都是基于openssl实现的. 数据安全性的基本法则: (1)数据的保密性:信息加密就是把明码的输入文件用加密算法转换成加密的文件以实现数据的保密.加密的过程需要用到密钥来加密数据然后再解密.没有了密钥,就无法解开加密的数据.数据加密之后,只有密钥要用一个安全的方法传送.加密过的数据可以公开地传送. (2)完整性:

加密、解密,以及OpenSSL建立私有CA

概述: 理论部分主要介绍了: 对称加密.非对称加密.单向加密.密钥交换.CA.PKI 操作部分主要有: 对称加密.非对称加密.单向加密的实现,已经openssl常用功能,生成密码.生成随机数已经使用openssl创建私有CA 系统环境说明: [[email protected] ~]# cat /etc/redhat-release  CentOS release 6.6 (Final) [[email protected] ~]# uname -rm 2.6.32-504.el6.x86_64

OpenSSL以及私有CA的搭建

首先我们肯定会问什么是OpneSSL,以及OpenSSL有什么用?当让这不仅是刚接触Linux的我想知道,相信大多数人和我一样也非常想知道,因为OpenSSL是linux上基础的服务之一,了解它的应用可以帮助我们更好的了解linux.那么我们先了解下什么是OpenSSL已经它有什么用. 一.OpenSSL及其应用 首先我们要了解SSL是什么?SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输.Netscape公司在推出第一个Web浏览

使用Openssl构建私有CA

使用Openssl构建私有CA Openssl是SSL的开源实现,是一种安全机密程序,主要用于提高远程登录访问的安全性.也是目前加密算法所使用的工具之一,功能很强大. Openssl为网络通信提供安全及数据完整性的一种安全协议,包括了主要的密码算法.常用的密钥和证书封装管理功能(CA)以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用,例如我们将会使用Openssl实现私有CA,并实现证书颁发. OpenSSL:SSL的开源实现 libcrypto:通用加密库,提供了各种加密函数 lib