SSL基礎知識

SSL:(Server socket layer) 是一種保證網絡兩個節點進行安全通信的協議。

IETF對SSL進行了標準化,制定了RFC2246規範,並將其稱爲TLS。從技術上講,SSL3.0和TLS1.0差別非常小。

SSL和TLS建立在TCP/IP協議基礎上。建立在SSL上的HTTP協議稱爲HTTPS,默認端口443。


SSL使用加密技術實現會話雙方信息的安全傳遞,加密技術的基本原理:

數據從一端發送到另一端,發送者先對數據加密,然後再把它發給接收者。接收者收到後,必需先解密才獲得真正的數據。

除此外,SSL還採用身份認機制,確保通信雙方都能驗證對方真實身份。


獲取證書有兩種方式:

1.從權威機制購買證書。

安全證書由國際權威的證書機構(CA),如VeriSign和Thawte頒發,它們保證了證書的可信性。

一個安全證書只對一個IP有效,多個IP必需購買多個證書。

2.創建自我簽名的證書。

如果通信雙方只關心數據在網絡上的可以安全傳輸,並不需要對方進行身份驗證,這種情況下,可以創建自多簽名證書。

這證書達不到身份認證的目地,但可以用於加密通信。


用java的自我簽名工具簽名:

keytool -genkey -alias <別名>  -keyalg <加密算法>  -keystore <生成的證書保存路徑>

參數說明:

genkey:  生成一對非對稱密鑰

alias: 密鑰對的別名,這個別名對外公開

keyalg: 加密算法。常見的RSA(加密長度2048位)、RC4(128位)、DH(1024位)

keystore: 安全證書的保存路徑


例:
keytool -genkey -alias slkey -keyalg RSA -keystore e:\sk.keys


發佈了65 篇原創文章 · 獲贊 18 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章