重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
OpenSSL:俗称安全套接字
成都创新互联公司致力于互联网品牌建设与网络营销,包括成都做网站、成都网站制作、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。成都创新互联公司为不同类型的客户提供良好的互联网应用定制及解决方案,成都创新互联公司核心团队十年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。
它可以实现数据加密:
SSL全称为:Secure Socket Layer可以在Internet上提供秘密性传输,其目标是保证两个应用间通信的保密性和可靠性,SSL能使用户/服务器应用之间的通信不被***者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。SSL协议要求建立在可靠的传输层协议(TCP)之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。
一、OpenSSL加密解密的种类及对应的算法
1、对称加密:使用同一种算法同一个密码对数据进行加密解密;
算法:DES、3DES、AES、Blowfish、Towfish、IDEA、RC6、CAST5
2、非对称加密之公钥加密:公钥从私钥中提取而来,使用私钥加密的文件,只能使用公钥解密,反 之亦然;
算法:RSA、 DSA、 ELGamal、 DH
3、非对称加密之单向加密:只能加密,不能解密,用于提取数据的特征码。
算法:md5、 sha系列256、384、512、128
二、OpenSSL一次加密通信的过程:
发送者:
1.使用单向加密算法提取数据特征码
2.使用自己的私钥加密特征码附加在数据后面
3.生成用于对称加密的临时密钥
4.用此临时密钥加密数据和已经使用私钥加密后的特征码
5.使用接收方的公钥加密此临时密钥,附加在对称加密后的数据后放
接受者:
使用自己的私钥解密加密的临时密钥,从而获取对称密钥
2.使用对称密钥解密对称加密的数据和私钥加密的特征码密文,从而获得数据和特征码密文 3.使用对方发送的公钥解密特征码密文,从而获得数据特征码
4.使用与对方同样的党项加密算法计算出数据特征码,并与解密而来的特征码进行比较
三、OpenSSL
OpenSSL 是一个强大的安全套接字层密码库,包括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
组成部分:
(1)libcrypto:加密、解密库文件;
(2)libssl: ssl协议实现
(3)openssl:多用途命令行工具,每种功能都使用专用的子命令来实现
2.openssl命令使用格式
openssl command [options] [csr_file] [options] [crt_file] [options]
#openssl+子命令+选项+参数
3.命令的分类:
标准命令
消息摘要命令
加密、解密相关的命令
4.可以通过输入openssl a 回车可以查看子命令
可以再次使用man命令来查看子命令的用法
四、使用OpenSSL加密、解密文件
1.对称加密
使用enc工具:
加密:# openssl enc -e -CIPHERNAME -a -salt -in /PATH/FROM/SOMEFILE -out /PATH/TO/SOMECIPHERFILE
解密:# openssl enc -d -CIPHERNAME -a -salt -in /PATH/FROM/SOMECIPHERFILE -out /PATH/TO/SOMEFILE
单向加密:
提取文件特征码
# openssl dgst -CIPHER /PATH/TO/SOMEFILE...
生成用户密码:
# openssl passwd -1 -salt 8bits随机数
-1:默认为md5算法
生成随机数:
# openssl rand -hex|-base64 NUM
-base64:文本编码
NUM:生成位数
可以使用生成的随机数来生成密码:
密码自动保存在/etc/shadow
公钥加密生成密钥对儿:
操作过程:生成私钥
# openssl genrsa -out /PATH/TO/PRIVATE_KEYFILE NUM_BITS
从私钥中手动提取公钥:
# openssl rsa -in /PATH/FROM/PRIVATE_KEY_FILE -pubout