這個問題類似於 Starting to use OpenSSL 但更具體和詳細,所以我認爲這是公平的問。將http服務器轉換爲https服務器需要什麼?
假設我有,做一個成功的GET場景
- 下一個簡單的HTTP服務器創建一個監聽套接字
- 客戶端連接
- 通過的recv
- 讀取數據解析GET請求,現在它知道哪個資源返回
- 通過發送寫入響應
- 關閉soc 012
此服務器是在Linux上用C++編寫的。
我的問題是,需要將此服務器轉換爲最小的https服務器? (特別是使用OpenSSL,但在一般意義上的答案是受歡迎的。)
這是我的理解(問號的意思是我不知道)
- 初始化庫
- 讀取服務器證書和私鑰以及其他配置
- 創建一個普通的監聽套接字(?)
- 客戶端連接
- 通過庫函數做握手(?)
- 握手完成
- 在開始接收和發送數據之前,我需要一個特殊的步驟嗎?
- 通過庫函數(?)讀取數據
- 數據看起來和HTTP GET完全一樣嗎?
- 如果這樣做,解析GET和獲取資源通過圖書館功能
- 寫回的數據(?)
- 關閉通過庫函數的連接(?)
總之,我希望它只需要向當前代碼添加一些額外的步驟,而不會影響HTTP解析。這個假設是否正確?
非常感謝任何能夠填補空白的人。
的最小SSL服務器在列出[答覆問題7080958] [1] [1]:HTTP://計算器。com/questions/7080958/openssl-code-works-on-xp-but-hangs-forever-in-vista-and-up –