加密解密技术基础,创建私有CA

为什么要加密:

数据在互联网双传播是不安全的,通过任何网关的时候都有可能被劫持、篡改、或者冒名传输数据。

加密类型:
        单向加密:加密之后可以得到定长的特征码,相同数据特征码相同,主要用户确定数据完整性 常见的 md5 sha1 sha256 ....

        对称加密:主要用于对数据加密,保证数据的私密性,通常有一个秘钥进行加密解密,常见的(3DES,AES)
        公钥加密:通常由一对秘钥组成,使用者通过工具生成一个私钥,(必须保证其私密性) 然后通过私钥生成与之配对的公钥,私钥加密的数据公钥能解密,公钥加密的数据,私钥能解密。

                    作用:身份认证、密钥交换。常见的(RSA,DSA)
SSL会话主要步骤:
    1.client发送自己的加密方式和随机数给servise

    2.servise发送自己随机数给client带上之前的client随机数 以及加密算法

    3.client 获取servise证书之后确认证书的真实性,取出公钥  ,发送以下信息给服务器端:一个随机数;编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送;客户端握手结束通知;

    4.servise 收到第三个随机数生成回话秘钥,然后双方通过商定的加密方式进行加密通信。
ssl 数据加密解密过程 :
    1.servise 通过单项加密算法对数据加密之后获取特征码 (保证数据完整性)

     2.通过对称加密算法对数据和特征码进行加密 (保证数据私密性) 

    3.通过私钥加密对称加密的密码,(秘钥交换,身份验证)

    4.将数据发送给client

    5. client 收到之后先用servise的公钥解密加密之后的密码。 确认身份并获取密码

    6.通过密码解密数据

     7 对密码进行对应的单向加密算法。并与特征码比对,确认其完整性
创建私有CA:

1.生成秘钥
[root@localhost private]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 1024)
2.生成自签证书
[root@localhost private]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365

  • umask 077; 用括号将命令扩起来,让命令在当前shell的子进程中运行,生成权限为666-077=600
  • -new 生成新证书
  • -x509 自签证书
  • -key 自签时的私钥路径
  • -out 生成的请求文件路径;如果自签操作将直接生成签署过的证书;
  • -day 生成证书的有效时间(天)
    3.为CA提供所需的目录及文件;
    [root@localhost CA]# touch /etc/pki/CA/{serial,index.txt}
    [root@localhost CA]# echo 01 > /etc/pki/CA/serial
    index.txt:ca数据库
    serial:证书序号
要用到证书进行安全通信的服务器,需要向CA请求签署证书:
1. 用到证书的主机生成私钥;
    `[root@localhost etc]# mkdir /etc/httpd/ssl`
    ` [root@localhost ssl]# (umask  077; openssl  genrsa -out  /etc/httpd/ssl/192.168.1.78.key  1024)`
2. 生成证书签署请求
   ` [root@localhost ssl]# openssl req -new -key /etc/httpd/ssl/192.168.1.78.key -out /etc/httpd/ssl/192.168.1.78.csr -days 365`
3. 将请求通过可靠方式发送给CA主机;
   `[root@localhost ssl]# scp 192.168.1.78.csr [email protected]:/tmp/`
4.服务器签署证书
    `[root@localhost CA]# openssl ca -in /tmp/192.168.1.78.csr -out /etc/pki/CA/certs/192.168.1.78.crt -days 365`
 5.查看证书
  `[root@localhost CA]#  openssl  x509  -in /etc/pki/CA/certs/192.168.1.78.crt  -noout  -serial  -subject`

你可能感兴趣的:(加密解密技术基础,创建私有CA)