OpenSSL是一個強大的安全套接字層密碼庫恬口,主要包含三個方面的功能 密碼算法庫窍荧、SSL協(xié)議庫以及應(yīng)用程序辉懒。
Openssl命令的兩種模式:
- 交互模式: 直接輸入openssl進(jìn)入交互模式
- 批處理模式: 直接輸入openssl所需要的所有參數(shù)愉耙,則為批處理模式
Openssl密碼算法庫
對稱加密算法:
Openssl主要提供了八種對稱加密算法其中有七個分組加密算法和一個流加密算法RC4蔬蕊。七個分組加密算法分別為AES僧叉、DES奕枝、Blowfish、CAST瓶堕、IDEA隘道、RC2、RC5,這七個分組加密算法都支持電子密碼本模式(ECB)谭梗、加密分組鏈接模式(CBC)忘晤、加密反饋模式(CFB)和輸出反饋模式(OFB)四種常用的分組密碼加密模式。其中激捏,AES使用的加密反饋模式(CFB)和輸出反饋模式(OFB)分組長度是128位设塔,其它算法使用的則是64位。 其中的DES算法包括三個密鑰和兩個密鑰3DES算法远舅。
非對稱加密算法:
OpenSSL一共實現(xiàn)了4種非對稱加密算法闰蛔,包括DH算法、RSA算法图柏、DSA算法和橢圓曲線算法(EC)序六。DH算法一般用戶密鑰交換。RSA算法既可以用于密鑰交換蚤吹,也可以用于數(shù)字簽名难咕,當(dāng)然,如果你能夠忍受其緩慢的速度距辆,那么也可以用于數(shù)據(jù)加密余佃。DSA算法則一般只用于數(shù)字簽名
信息摘要算法:
OpenSSL實現(xiàn)了5種信息摘要算法,分別是MD2跨算、MD5爆土、MDC2、SHA(SHA1)和RIPEMD诸蚕。SHA算法事實上包括了SHA和SHA1兩種信息摘要算法步势,此外,OpenSSL還實現(xiàn)了DSS標(biāo)準(zhǔn)中規(guī)定的兩種信息摘要算法DSS和DSS1背犯。
秘鑰證書管理:
OpenSSL實現(xiàn)了ASN.1的證書和秘鑰相關(guān)標(biāo)準(zhǔn)坏瘩,提供了對證書、公鑰漠魏、私鑰倔矾、證書請求以及CRL等數(shù)據(jù)對象的DER、PEM和BASE64的編解碼功能柱锹。OpenSSL提供了產(chǎn)生各種公開密鑰對和對稱密鑰的方法哪自、函數(shù)和應(yīng)用程序,同時提供了對公鑰和私鑰的DER編解碼功能禁熏。并實現(xiàn)了私鑰的PKCS#12和PKCS#8的編解碼功能壤巷。OpenSSL在標(biāo)準(zhǔn)中提供了對私鑰的加密保護(hù)功能,使得密鑰可以安全地進(jìn)行存儲和分發(fā)瞧毙。
在此基礎(chǔ)上胧华,OpenSSL實現(xiàn)了對證書的X.509標(biāo)準(zhǔn)編解碼寄症、PKCS#12格式的編解碼以及PKCS#7的編解碼功能。并提供了一種文本數(shù)據(jù)庫矩动,支持證書的管理功能有巧,包括證書密鑰產(chǎn)生、請求產(chǎn)生铅忿、證書簽發(fā)剪决、吊銷和驗證等功能。
事實上檀训,OpenSSL提供的CA應(yīng)用程序就是一個小型的證書管理中心(CA)柑潦,實現(xiàn)了證書簽發(fā)的整個流程和證書管理的大部分機制。