对称加密
    DES: Data Encription Standard, 56bit
    3DES:
    AES: Advanced
        AES192, AES256, AES512
    Blowdfish

单向加密
    MD4
    MD5:  命令工具 md5sum 或 openssl dgst -md5 inittab
    SHA1: 命令工具 shalsum 或 openssl dgst -sha1 inittab
    SHA192, SHA256, SHA384
    CRC-32(不提供加密,只提供校验,可能撞车)

公钥加密
    身份认证(数字签名)
    数据加密
    秘钥交换

    RSA: 加密/签名
    DSA: 签名
    ElGamal: 商业算法

OpenSSL: SSL的开源实现
三部分组成:
    libcrypto:通用加密库,提供各种加密函数
    libssl:TSL/SSL的实现
            基于会话的,实现了身份认证,数据加密性和会话完整性的TLS/SSL库
    openssl: 多用途命令行工具
            实现私有证书颁发机构
        子命令:(通过openssl ?打开子命令集合,用whatis 子命令查看)
            openssl speed 测试每种加密在本机的运行时间
            openssl enc -des3 -salt -a(基于64) -in /etc/inittab  -out ./inittab.des3 加密文件inittab
            openssl enc -des3 -d(解密)    -a -in /etc/inittab.des3  -out ./inittab 解密文件inittab
            openssl passwd -1 -salt XXX 给字符加密

openssl实现私有CA:
1,生成一对秘钥的方法
    openssl genrsa 2048(指定秘钥位数) > server.key  生成私钥的同时重定向保存,并修改文件文件权限600
    openssl rsa -in setver.key -pubout >    server.pub 提取公钥的同时重定向保存
2,生成自签署证书
    openssl req -new -x509 -key setver1024.key  -out setver.crt -days 365
    //根据私钥生成CA证书,可以用openssl x509 -text -in setver.crt 查看内容,只有CA才用x509

CA服务器自签名CA完整过程:
root#vim /etc/pki/tls/openssl 根据里面的内容设置一些信息
root#cd /etc/pki/CA
root#(umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
root#openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem
root#mkdir certs newcerts crl
root#touch index.txt
root#echo 01 > serial

WEB服务器获得CA签名过程:
root#cd /etc/httpd/ssl
root#(umask 077; openssl genrsa -out httpd.key 1024 ) 生成WEB服务器的私钥
root#openssl req -new -key httpd.key -out httpd.csr  向CA申请证书
root#openssl ca -in httpd.csr -out httpd.crt -days 365


备份地址: 【openssl以及加密