您好,登錄后才能下訂單哦!
OpenSSL:俗稱安全套接字
它可以實現數據加密:
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。