我目前正在开发一个 Android 应用程序,我需要在该应用程序上执行连接到测试服务器的 SSLSocket。
问题是我们不会为此服务器购买证书,因为它是测试服务器,而不是生产服务器。
虽然它在模拟器上运行良好,但是在我的 S3 上它给了我这个错误:
06-01 00:36:17.355: I/System.out(13629): java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
此代码的最后一行抛出异常:
mSf = (SSLSocketFactory) SSLSocketFactory.getDefault();
mSocket = (SSLSocket) mSf.createSocket("myTestingServer.com", 443);
mSocket.startHandshake();
作为Android用户,我并不关心解决方案是代码还是降低安全检查,因为它是在我的S3上测试,一旦投入生产,证书应该是好的。这不是 HTTP 服务器,所以我不能使用 org.apache.http.org.ssl