首页 文章

Codename One中的HTTPS(SSL)连接问题

提问于
浏览
2

我现在遇到了HTTPS / SSL问题 . 我正在使用Codename One在Windows 10 / Java 8 v121上进行开发 .

当我尝试调用HTTP(没有SSL)连接时,我被拒绝了[https://www.codenameone.com/blog/ios-http-urls.html] . 我认为这个电话甚至不会打到服务器上 . 我试图在我的codenameone_settings.properties文件中包含"build hint"但无济于事 .

接下来,我尝试使用自签名证书,并生成"Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"异常 . 所以,我认为错误是因为我的证书是自签名的,但它不是......

然后我从[https://www.sslforfree.com/]获得了免费证书,它仍然会导致 SAME 异常消息 . 但是,这个cerficate适用于我的Firefox浏览器 . 我还使用Simple DNS Plus(对于Windows)进行了经过测试的签名证书域名,以便在我的Firefox浏览器中正常工作(即正确命中服务器而没有不安全连接消息) .

我想了解如何: -

  • 获取“构建提示”以适用于iOS(在Codename One模拟器中),因此它调用http(没有ssl)连接 .

  • 如何解决Java异常 .

谢谢!

1 回答

  • 3

    只需在开发阶段使用 http URL,当您准备发布时,请购买正版SSL证书并将 http 更改为 https . 这是为了您自己的利益,因为未加密的Web服务调用将使您的应用容易受到中间人攻击 .

    要在开发阶段使您的http在iOS上工作,请添加此构建提示:

    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 .

相关问题