java openssl是什么,讓我們一起了解一下?
OpenSSL是一個(gè)開(kāi)源項(xiàng)目,其組成主要包括以下三個(gè)組件:多用途的命令行工具、加密算法庫(kù)、加密模塊應(yīng)用庫(kù)。實(shí)現(xiàn)了ssl及tls,以及密鑰證書管理、對(duì)稱加密和非對(duì)稱加密 。
openssl的特點(diǎn)是什么?
1、數(shù)據(jù)保密性。
信息加密就是把明碼的輸入文件用加密算法轉(zhuǎn)換成加密的文件以實(shí)現(xiàn)數(shù)據(jù)的保密。加密的過(guò)程需要用到密鑰來(lái)加密數(shù)據(jù)然后再解密。沒(méi)有了密鑰,就無(wú)法解開(kāi)加密的數(shù)據(jù)。數(shù)據(jù)加密之后,只有密鑰要用一個(gè)安全的方法傳送。加密過(guò)的數(shù)據(jù)可以公開(kāi)地傳送。
2、數(shù)據(jù)完整性。
加密也能保證數(shù)據(jù)的一致性。例如:消息驗(yàn)證碼(MAC),能夠校驗(yàn)用戶提供的加密信息,接收者可以用MAC來(lái)校驗(yàn)加密數(shù)據(jù),保證數(shù)據(jù)在傳輸過(guò)程中沒(méi)有被篡改過(guò)。
3、安全驗(yàn)證。
加密的另外一個(gè)用途是用來(lái)作為個(gè)人的標(biāo)識(shí),用戶的密鑰可以作為他的安全驗(yàn)證的標(biāo)識(shí)。SSL是利用公開(kāi)密鑰的加密技術(shù)(RSA)來(lái)作為用戶端與服務(wù)器端在傳送機(jī)密資料時(shí)的加密通訊協(xié)定。
OpenSSL包含一個(gè)命令行工具用來(lái)完成OpenSSL庫(kù)中的所有功能,更好的是,它可能已經(jīng)安裝到你的系統(tǒng)中了。
OpenSSL是一個(gè)強(qiáng)大的安全套接字層密碼庫(kù),Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不應(yīng)該只將其作為一個(gè)庫(kù)來(lái)使用,它還是一個(gè)多用途的、跨平臺(tái)的密碼工具。
實(shí)戰(zhàn)操作,具體代碼如下:
openssl?genrsa?-out?private_key.pem?1024 openssl?req?-new?-key?private_key.pem?-out?rsaCertReq.csr openssl?x509?-req?-days?3650?-in?rsaCertReq.csr?-signkey?private_key.pem?-out?rsaCert.crt openssl?x509?-outform?der?-in?rsaCert.crt?-out?public_key.der???????????????//?Create?public_key.der?For?IOS openssl?pkcs12?-export?-out?private_key.p12?-inkey?private_key.pem?-in?rsaCert.crt??//?Create?private_key.p12?For?IOS.? //這一步,請(qǐng)記住你輸入的密碼,IOS代碼里會(huì)用到 openssl?rsa?-in?private_key.pem?-out?rsa_public_key.pem?-pubout?????????????//?Create?rsa_public_key.pem?For?Java openssl?pkcs8?-topk8?-in?private_key.pem?-out?pkcs8_private_key.pem?-nocrypt?????//?Create?pkcs8_private_key.pem?For?Java
以上就是小編今天的分享了,希望可以幫助到大家。