2017-03-09 75 views
2

我現在陷入了HTTPS/SSL問題。我正在開發基於Codename One的Windows 10/Java 8 v121。Codename One中的HTTPS(SSL)連接問題

當我試圖調用一個HTTP(沒有SSL)連接時,我被拒絕,並參考[https://www.codenameone.com/blog/ios-http-urls.html]。我不認爲這個電話甚至會打到服務器上。我試圖在我的codenameone_settings.properties文件中包含「構建提示」,但無濟於事。

接下來,我試圖用自簽名證書和它產生了「產生的原因:sun.security.provider.certpath.SunCertPathBuilderException:無法找到有效的認證路徑要求的目標」異常。所以,我認爲是錯誤造成的,因爲我的證書是自簽名的,但它不是...

然後我接到了[https://www.sslforfree.com/]自由證書,它仍然是造成SAME異常消息。不過,這個證書可以在我的Firefox瀏覽器中正常工作。我還使用Simple DNS Plus(用於Windows)爲經過測試的簽名證書域名在我的Firefox瀏覽器中正常工作(即,正確命中服務器且沒有不安全連接消息)。

我想了解如何: -

  1. 獲得「打造提示」爲iOS的工作(在代號一個仿真),所以它調用HTTP(無SSL)連接。

  2. 如何解決Java異常。

謝謝!

+0

當你調用'http'而不是'https'時,你得到了什麼? – Diamond

+0

我得到這個輸出:「警告:蘋果將不再接受你嘗試連接到http:// localhost/accounts/login的應用程序的http URL連接以瞭解更多信息https://www.codenameone.com/blog/ ios-http-urls.html「 – ikevin8me

+1

查看我的回答以下 – Diamond

回答

3

只需在開發階段使用http URL,當您準備發佈時,請購買正版SSL證書並將http更改爲https。這是爲了您自己的利益,因爲未加密的Web服務調用將使您的應用程序容易受到中間人攻擊。

要在iOS上的HTTP工作期間開發階段,添加此構建提示:

ios.plistInject=<key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict><key>CFBundleURLTypes</key><array><dict><key>CFBundleURLName</key><string>com.mycompany.myapp</string></dict><dict><key>CFBundleURLSchemes</key><array><string>MyApp</string></array></dict></array> 

也有類似的問題之前,我回答here

+1

謝謝,哥們! 「構建提示」現在正在工作。 (我上次沒有更改pakcage名稱和應用程序名稱) – ikevin8me