PKI(Public Key Infrastructure ) 即"公钥基础设施",是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。
认证中心CA 作为PKI 的核心部分,CA 实现了PKI 中一些很重要的功能,概括地说,认证中心(CA)的功能有:证书发放、证书更新、证书撤销和证书验证。CA 的核心功能就是发放和管理数字证书,具体描述如下:
(1)接收验证最终用户数字证书的申请。
(2)确定是否接受最终用户数字证书的申请-证书的审批。
(3)向申请者颁发、拒绝颁发数字证书-证书的发放。
(4)接收、处理最终用户的数字证书更新请求-证书的更新。
(5)接收最终用户数字证书的查询、撤销。
(6)产生和发布证书废止列表(CRL)。
(7)数字证书的归档。
(8)密钥归档。
(9)历史数据归档。
我们先来看看如何使用OPENSSL对数据进行加密与解密:
openssl enc -ciphername(算法名称)
-in filename
the input filename, standard input by default. 输入文件名,标准的默认输入。
-out filename
the output filename, standard output by default. 输出文件名,标准的默认输出。
-e
encrypt the input data: this is the default. 默认加密输入的数据。
-d
decrypt the input data. 解密输入的数据。
现在我们对/tmp下的fstab文件进行加密:
# openssl idea-ofb -in fstab -e -out fstab.secret
这样就对文件完成加密了,目录下是不是多了一个fstab.secret这个就是加密后的文件。
我们看看加密文件的内容:
# cat fstab.secret
全身乱码看不懂吧,这时我们把源文件fstab删除掉,这样就很好的起到了保密工作。
# rm -f fstab
现在我们用这个加密的文件,把我们源文件给还原回来。
# openssl idea-ofb -in fstab.secret -d -out fstab
文件回来了吧,而且内容也正常。
其他扩展的openssl命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
openssl:
# openssl version
# 加密文件
openssl enc -des3 -in /path/to/somefile -e -out /path/to/somefile.des3
# 解密文件
openssl enc -des3 -in /path/to/somefile.des3 -d -out /path/to/somefile
# 一致性校验
openssl dgst -md5 -hex /path/to/somefile
md5sum
# 评估加密算法的加密速度
openssl speed
# 加密密码 -salt 参数是在加密前给密码加上其他字符一并加密
man sslpasswd
openssl passwd -1 -salt
# 生成随机密码
openssl rand -base64 num
openssl rand -hex num
如何使用openssl生成一个私钥:
openssl genrsa -out filename [字符位数]
generate an RSA private key 生成一个RSA 私钥。
我们现在来生成一个2048位的私钥:
# openssl genrsa -out mytckey 2048
# chmod 600 mytckey
私钥是不能随便让人看的,所以改下权限,除了自己,所有人都不能看。
提取公钥:
# openssl rsa -in mytckey -pubout
制作一个证书的签署请求命令介绍:
openssl
req
PKCS#10 X.509 Certificate Signing Request (CSR) Management. 证书签署请求管理。
-new
this option generates a new certificate request. 这个选项是生成一个新证书的请求。
-key