java openssl是什么,讓我們一起了解一下?
OpenSSL是一個開源項目,其組成主要包括以下三個組件:多用途的命令行工具、加密算法庫、加密模塊應用庫。實現了ssl及tls,以及密鑰證書管理、對稱加密和非對稱加密 。
openssl的特點是什么?
1、數據保密性。
信息加密就是把明碼的輸入文件用加密算法轉換成加密的文件以實現數據的保密。加密的過程需要用到密鑰來加密數據然后再解密。沒有了密鑰,就無法解開加密的數據。數據加密之后,只有密鑰要用一個安全的方法傳送。加密過的數據可以公開地傳送。
2、數據完整性。
加密也能保證數據的一致性。例如:消息驗證碼(MAC),能夠校驗用戶提供的加密信息,接收者可以用MAC來校驗加密數據,保證數據在傳輸過程中沒有被篡改過。
3、安全驗證。
加密的另外一個用途是用來作為個人的標識,用戶的密鑰可以作為他的安全驗證的標識。SSL是利用公開密鑰的加密技術(RSA)來作為用戶端與服務器端在傳送機密資料時的加密通訊協定。
OpenSSL包含一個命令行工具用來完成OpenSSL庫中的所有功能,更好的是,它可能已經安裝到你的系統中了。
OpenSSL是一個強大的安全套接字層密碼庫,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不應該只將其作為一個庫來使用,它還是一個多用途的、跨平臺的密碼工具。
實戰操作,具體代碼如下:
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.? //這一步,請記住你輸入的密碼,IOS代碼里會用到 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
以上就是小編今天的分享了,希望可以幫助到大家。