加密算法分类:
对称加密: 缺点:密钥传输困难,无法确认数据的来源 优点:加密效率高,适合加密大量的数据
非对称加密:缺点:加密效率不高,不适合加密大量数据 优点:可以确认数据的来源 公钥和私钥是成对出现
哈希算法: 哈希算法处理过的算法叫摘要(dgst)
哈希算法用处:确认数据没有被改动,不可逆,只可加密,不可解密
数据不同,得到的摘要不同,摘要相同,数据肯定相同
md5:128位 sha1sum:160位
base64编译: 都是文本,由52个大小写字母,/和+ 0-9数字组成64位,用64 个可见字符表示二进制,防止出现乱码 一个字节是8位,base64 按6位一组,如果不够6位用0来凑,
只要出现“=”就是用0凑的
|
openssl: openssl有交互式和批处理方式
openssl version:查看openssl的版本
对称加密:openssl enc -e -des3 -a -salt -in fstab -out fstab.enc
对称解密:openssl enc -d -des3 -a -salt -in fstab.enc -out fstab2
哈希算法:opssl dgst –md5 fstab =md5sum fstab (结果相同)
openssl dgst –sha512 fstab =sha512sum fstab(结果相同)
生成随机口令:
**生成随机口令:openssl rang -base64 9 | head -c10 (取前10位)
非对称加密:openssl genrsa -out app.key(生成私钥,一般文件名以key结尾)
从私钥中取出公钥:openssl rsa -in app.key -pubout -out app.pubkey(用私钥可以推出公钥,公钥不可以推出私钥)
被加密成私钥:openssl genrsa -out app.key -des3
解密:openssl rsa -in app.key -out app.key2
Openssl
搭建私有的CA:
1,先建立目录 /etc/pki/CA (centos7里默认有此目录,centos8需要创建)
2,创建CA所需要的文件: touch /etc/pki/CA/index.txt
echo 0F > serial
3,生成CA的私钥:cd /etc/pki/CA
openssl genrsa -out private/cakey.pem(权限是600)
4,生成CA的自签名证书:openssl req -new -key -x509 private/cakey.pem -out days3650-out /etc/pki/CA/cacert.pem
国家编号,省,市,公司,部门,服务器名称
Linux转到windows看:sz+文件名,并把后缀改成crt或cer
Linux上看:openssl x509 -in cacert.pem -noout -text
生成CA自签证书的第二种方法:cd /etc/pki/tls/certs中,有个makefile的文件,执行make app.crt 把国家编号,省,市,单位,职位,颁发的对象,把这些填好就生成CA证书了
用户申请CA
1,cd /data中
2,生成私钥:openssl genrsa -out app.key
3, 利用私钥生成证书申请:openssl req -new -key app.key -out app.csr(国家编号,省,单位必须填的一致)
4,颁发证书:openssl ca -in /data/app.csr -out /etc/pki/CA/certs/app.crt -days 100 (颁发证书前要cd /etc/pki/CA中)
答疑:如果颁发一样的证书,所填信息一样会报错,把/etc/pki/CA/index.txt.attr中的文件yes改成no,重新颁发就可以了
吊销证书
如何吊销证书:openssl ca -revoke /etc/pki/CA/newcerts/11.pem
生成吊销证书列表文件:openssl ca -gencrl -out /etc/pki/CA/crl.pem
建一个吊销编号:echo FF > crlnumber
把吊销文件传到windows中,后缀改成crl,就可以识别了