2013-04-02 87 views
16

我正在通過在post方法中傳遞登錄憑證來製作應用程序,以通過HTTPS登錄到aspx網站。使用Charles Proxy檢查響應時,我可以在seal.verisign.com上看到SSL握手失敗錯誤,然後我將其帶回登錄頁面。我不知道我需要做什麼來解決這個問題。iOS應用程序SSL握手失敗

我在iPhone模擬器中測試這個。

我無權訪問服務器實施。

任何想法?

謝謝!

回答

1

服務器可能沒有針對您所使用的網址的有效證書。 你檢查了嗎?

如果您使用瀏覽器嘗試網址,它會給您一個警告嗎?

12

也許在實際設備上測試會給更多的洞察力?

做,在查爾斯:

  1. 轉到代理:代理設置...
  2. 代理選項卡:在HTTP代理服務器端口輸入 「8888」:場
  3. SSL選項卡:確保「啓用SSL代理」 是

在您的開發計算機:

  1. 轉到系統偏好設置:網絡:Wifi:高級:TCP/IP標籤:記下IPV4地址:(即: 10.0.1.101)

在您的iDevice:

  1. 轉到http://charlesproxy.com/charles.crt從您的設備和下載查爾斯SSL證書
  2. 好該證書作爲可信的(一定要禁用或刪除它,一旦你完成)
  3. 轉到設置應用:無線上網:爲您的網絡
  4. 在HTTP代理選擇詳細披露按鈕(圓形藍色按鈕,用白色箭頭),選擇「手動」
  5. 輸入從步驟(DEV機1)到服務器字段中的地址,並且從步驟(查爾斯2)

最後的端口號:

  1. 重啓查爾斯
  2. 潤Safari上的iDevice進行測試。這應該會提示Charles顯示一個對話框以允許或拒絕SSL代理。顯然允許,你應該很好去。

更多信息查爾斯的網站:http://www.charlesproxy.com/documentation/proxying/ssl-proxying/

而且,你得到的連接的響應:(NSURLConnection的*)連接didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)挑戰的方法?

+1

「在你的iDevice上」的第一步是我不知道的,而且肯定已經救了我幾個小時。謝謝。 – dezinezync

0

您必須在移動設備上安裝SSL證書。

在線搜索如何爲Charles Proxy安裝SSL證書。

+1

請注意[此處不允許公開自我推銷](https://stackoverflow.com/help/behavior)。我建議你編輯你的博客鏈接出你的答案。他們只能在您的個人資料頁面中使用。 –

3

您需要安裝SSL證書才能解決此問題。

按照以下步驟

  1. 打開的Safari瀏覽器在地址欄中的iOS模擬器

  2. 類型「www.charlesproxy.com/getssl」

  3. 安裝SSL證書
  4. 重啓查爾斯代理
+1

http:// chls。pro/ssl是快捷方式的URL – Vaiden

5

如果安裝證書還是不幫你,那麼它可能是由於SSL鋼釘。

從charlesproxy.com:

SSL鋼釘 注意,一些應用程序實現SSL證書釘扎這意味着它們特別驗證的根證書。由於該應用程序本身正在驗證根證書,因此它不會接受Charles的證書,並且會導致連接失敗。如果您已成功安裝Charles root SSL證書並可使用Safari中的SSL代理瀏覽SSL網站,但應用程序失敗,則然後SSL固定可能是問題

+0

有沒有解決Charles Proxy的SSL固定問題的方法? – tingason

57

在iOS> = 10.3,安裝查爾斯代理證書(按照@阿希什 - 維爾馬的出色答卷)後,還需要通過設置來啓用它 - >一般 - >關於 - >證書信任設置

Enable SSL root certificate on iOS 10.3 and up

完全安裝位置:http://www.devsbedevin.com/debugging-ios-ssl-traffic/

+4

謝謝sooo多!!!浪費了很多時間與此 – schirrmacher

+2

謝謝。由於不知道這個步驟而浪費了幾個小時 –

+1

謝謝!非常感謝。超級有用。 – petezurich

0

刪除所有舊用戶憑證,然後重新安裝新的SSL證書。