作者Qbsuran (Qbsuran)
看板C_and_CPP
標題[問題] 用Openssl架設HTTPS伺服器
時間Wed Nov 25 20:45:55 2015
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
OpenSSL
問題(Question):
因為作業需求,需要用C架設一個HTTPS伺服器(192.168.1.101)
目前Client端利用Chrome直接連網址,像是
https://192.168.1.101
Handshake(交換Key)已正常完成,但是Server端等不到Client端的HTTPS GET封包
用Wireshark抓封包發現完成Handshake後,Client端馬上送出FIN+ACK和RST結束連線
Client的Chrome開發人員工具有看得到HTTP表頭的封包,但是只有Requst URL跟簡單的User-agent
但是如果另外用C寫的Client端程式,Write的資料Server端收得到
是否Server端有少東西要主動通知Client可以送請求封包了?
預期的正確結果(Expected Output):
Server端收到Client端的HTTPS GET封包
錯誤結果(Wrong Output):
Client端沒有主動送出HTTPS GET封包
程式碼(Code):(請善用置底文網頁, 記得排版)
http://pastie.org/10579923
補充說明(Supplement):
Server端是在iOS(JB)上,執行Server程式的時候port 443已開啟
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.166.17
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1448455563.A.4C5.html
自己問題自己回, 似乎是Chrome安全性問題所以沒有送出GET封包, 換Safari就OK了
※ 編輯: Qbsuran (120.125.11.142), 11/26/2015 09:18:31
推 LunaFox: SSLv3 is disabled on Chrome, try TLSv1_server_method 11/28 18:26
→ Qbsuran: 成功了! 謝謝, 另外問一下, 那我應該要怎麼選擇method 11/28 23:19
→ LunaFox: 簡言之SSLv2v3都已被視為不安全,應使用TLS 1/1.1/1.2+ 11/29 23:04
→ Qbsuran: 感謝!這方面關鍵字有點難下 11/30 11:50