使用opnessl进行文件加密

  • 加密
    [root@feitian ~]# openssl  enc -des3  -salt -a   -in /etc/inittab  -out /mnt/inittab.des3
    enter des-ede3-cbc encryption password:          #输入密码
    Verifying - enter des-ede3-cbc encryption password:  #重复输入密码
                -a  基于64位的库进行加密
                -salt  在加密时使用salt
                -des3  基于对称加密算法DES3,就是你的加密使用的算法
                - in  要加密的文件
                - out 要输出到那个文件
  • 解密
    openssl enc -des3 -d -salt -a -in /mnt/inittab.des3 -out /mnt/inittab

提取数据的特征码

    #首先使用sha1sum和md5sum进行提取数据特征码
    [root@feitian mnt]# sha1sum  inittab
    22a27cacaf1d552fe38d71f98fd7bd2d6f6f6ac2  inittab
    [root@feitian mnt]# md5sum  inittab
    48068226d869ca629629554d324e69c8  inittab
    [root@feitian mnt]# openssl  dgst -sha1  inittab
    SHA1(inittab)= 22a27cacaf1d552fe38d71f98fd7bd2d6f6f6
    [root@feitian mnt]# openssl  dgst -md5  inittab
    MD5(inittab)= 48068226d869ca629629554d324e69c8
    [root@feitian mnt]# openssl  dgst -md5  inittab
    MD5(inittab)= 48068226d869ca629629554d324e69c8

注意这里使用相同的算法提取特征码,结果一样

使用openssl生成密码串

    [root@feitian mnt]# openssl  passwd -1
    Password: 
    Verifying - Password: 
    $1$Cb1P8fiX$Q0TBrZs678KPL1XDJoezA1

这里和我们/etc/shadow中保存的密码一样,这里注意salt相同,相同的密码加密结果相同

    [root@feitian mnt]# openssl   passwd -1  -salt Cb1P8fiX
    Password: 
    $1$Cb1P8fiX$Q0TBrZs678KPL1XDJoezA1

使用openssl生成伪随机数

[root@feitian mnt]# openssl  rand  -base64  45
MdGPzBDVF1gcSomGHcP3Iaz***ndb6yYpdTFYLgP+X0F5sWR+oIFp/RL9Y6D
#45是加密长度

openssl实现私有CA

  • genrsa 生成rsa的私钥(一般CA证书使用rsa)
  • gendsa生成dsa的私钥

    
        #第一步生成私钥:
        [root@feitian mnt]# (umask 077 ;openssl  genrsa  1024 >serverkey
        #注意使用括号,是指定命令在子shell中执行,执行完直接退出
        #生成公钥
        [root@feitian mnt]# openssl  rsa -in  serverkey  -pubout
        #生成CA
        [root@feitian mnt]# openssl req -new -x509 -key serv
        #使用文本查看证书信息
        [root@feitian mnt]# openssl  x509 -text -in server.crt
        erkey  -out server.crt -days 365
    #修改CA的配置文件,更改生成默认值
         [root@feitian tls]# pwd
        /etc/pki/tls
        [root@feitian tls]# vim openssl.cnf 
        #私钥的存放地址
         [root@feitian private]# pwd
        /etc/pki/CA/private
        [root@feitian private]# (uamsk 077;openssl  genrsa  -out cakey.pem  2048)
        [root@feitian private]# cd ..
      [root@feitian CA]# openssl  req -new -x509  -key  cakey.pem  -out  cacert.pem
        #创建需要的目录
        [[root@feitian CA]# mkdir  certs newcerts crl 
        [root@feitian CA]# touch index.txt 
      [root@feitian CA]# touch serial
    
        #另外一个主机先CA模拟申请证书
        #首先创建私钥
        [root@loveyu ssl]# (umaskt 077;openssl genrsa -out httpd.key 1024)
         #填写好证书信息,向CA提交
        [root@loveyu ssl]# openssl req -new -key httpd.key -out httpd.csr
        [root@feitian mnt]# openssl   ca -in  httpd.csr  -out  httpd.crt  -days 100