小c学Linux(24)--openssl 数据加密

openssl:

libcrypto:通用加密库
libssl:实现了TSL/SSL等功能库
openssl:多用途命令行工具

对称加密:

#加密
openssl enc -des3 -a -salt -in /path/to/file.in -out /path/to/file.out
#解密
openssl -d -des3 -a -salt -in /path/to/file.out -out /path/to/file.in

单向加密:

特性:

  • One-Way
  • Collision-free
    算法:

  • md5:128bits

  • sha1:160bits
  • sha512:512bits
    工具:sha1sum,md5sum,chsum,openssl dgst

单向加密

openssl dgst -sha1 [-out file_name] /path/to/somefile

MAC:消息摘要码

应用:用于实心在网络通信中保证所传输数据的完整性,是单向加密的延伸应用
机制:

CBC-MAC
HMAC:使用md5和sha1算法:

用户认证

工具:passwd,openssl passwd

openssl passwd -1

公钥加密:公钥加密,私钥解密

密钥对儿:

公钥:pkey
私钥:skey

算法:RSA,EIGamal
绝大多数都使用RSA

工具:gpg,openssl rsautl

数字签名:私钥加密,公钥解密

算法:RSA,EIGamal,DSA
DSA:Digital Signature Algorithm

密钥交换:IKE

算法:DH,公钥加密
Diffie-Hellman

数字证书

证书格式:x509,pkcs
x509格式:

公钥和有效期限:
持有者的个人身份信息
证书的使用方式
CA的信息
CA的数字签名

谁给CA发证书呢?自签署证书,自己证明自己。

一个机构不仅能够颁发证书,还能够吊销证书,整个框架组合起来就是PKI(pki: public key Infrastucture)公钥基础设施。

自己制作证书:

  1. 生成一对儿密钥
  2. 把所需信息和公钥按固定格式制作成证书申请

用openssl实现私有CA:

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

生成密钥对儿:

(umask 077;openssl genrsa -out private/cakey.pem 2048)

例:客户机—CA服务主机证书验证

#1.服务端生成CA自签证书:
openssl req -new -key private/cakey.pem -out cacert.pem -days 3655

#2.创建CA信息文件
touch index.txt serial crlnumber

#3.证书编号
echo 01 > serial 

客户端www.xiaoc.com用openssl实现证书申请:

mkdir /etc/httpd/ssl
cd /etc/httpd/ssl

#1.生成密钥对儿,(括号表示在当前shell的子shell中执行该指令)
(umask 077;openssl genrsa -out httpd.key 1024)

#2.生成证书签署请求
openssl req -new -key private/httpd.key -out httpd.csr

#3.将csr文件证书发给CA服务器签署
scp httpd.csr 172.16.36.207:/tmp/

#4.CA服务器签署后生成crt文件
openssl ca -in /tmp/httpd.csr -out /tmp/httpd.crt -days 3655

#5.签署后文件发回客户端
scp httpd.crt 172.16.36.208:/etc/httpd/ssl/

#6.配置主机使用证书

#7.吊销证书
openssl ca -revoke /path/to/somefile.crt
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值