openssl命令的格式是"openssl command command-options args",command部分有很多種命令,這些命令需要依賴于openssl命令才能執行,所以稱為偽命令(pseudo-command),每個偽命令都有各自的功能,大部分command都可以直接man command查看命令的用法和功能。
OpenSSL是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協議,并提供豐富的應用程序供測試或其它目的使用。在OpenSSL被曝出現嚴重安全漏洞后,發現多數通過SSL協議加密的網站使用名為OpenSSL的開源軟件包。由于這是互聯網應用最廣泛的安全傳輸方法,被網銀、在線支付、電商網站、門戶網站、電子郵件等重要網站廣泛使用,所以該漏洞影響范圍廣大。
OpenSSL有兩種運行模式:交互模式和批處理模式。
直接輸入openssl回車進入交互模式,輸入帶命令選項的openssl進入批處理模式。
OpenSSL整個軟件包大概可以分成三個主要的功能部分:密碼算法庫、SSL協議庫以及應用程序。OpenSSL的目錄結構自然也是圍繞這三個功能部分進行規劃的。
對稱加密算法
OpenSSL一共提供了8種對稱加密算法,其中7種是分組加密算法,僅有的一種流加密算法是RC4。這7種分組加密算法分別是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持電子密碼本模式(ECB)、加密分組鏈接模式(CBC)、加密反饋模式(CFB)和輸出反饋模式(OFB)四種常用的分組密碼加密模式。其中,AES使用的加密反饋模式(CFB)和輸出反饋模式(OFB)分組長度是128位,其它算法使用的則是64位。事實上,DES算法里面不僅僅是常用的DES算法,還支持三個密鑰和兩個密鑰3DES算法。
非對稱加密算法
OpenSSL一共實現了4種非對稱加密算法,包括DH算法、RSA算法、DSA算法和橢圓曲線算法(EC)。DH算法一般用戶密鑰交換。RSA算法既可以用于密鑰交換,也可以用于數字簽名,當然,如果你能夠忍受其緩慢的速度,那么也可以用于數據加密。DSA算法則一般只用于數字簽名。
信息摘要算法
OpenSSL實現了5種信息摘要算法,分別是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA算法事實上包括了SHA和SHA1兩種信息摘要算法,此外,OpenSSL還實現了DSS標準中規定的兩種信息摘要算法DSS和DSS1。
密鑰和證書管理
密鑰和證書管理是PKI的一個重要組成部分,OpenSSL為之提供了豐富的功能,支持多種標準。
首先,OpenSSL實現了ASN.1的證書和密鑰相關標準,提供了對證書、公鑰、私鑰、證書請求以及CRL等數據對象的DER、PEM和BASE64的編解碼功能。OpenSSL提供了產生各種公開密鑰對和對稱密鑰的方法、函數和應用程序,同時提供了對公鑰和私鑰的DER編解碼功能。并實現了私鑰的PKCS#12和PKCS#8的編解碼功能。OpenSSL在標準中提供了對私鑰的加密保護功能,使得密鑰可以安全地進行存儲和分發。
新聞熱點
疑難解答