我在 android 应用程序上使用 HTTPS 调用 REST 服务。我已经有这方面的工作代码,但现在我使用的是新安装的托管 REST 服务的服务器,我无法再建立连接。
这是一个例外:
javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x15b7768: Failure in SSL library, usually a protocol error
error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol (external/openssl/ssl/s23_clnt.c:683 0x402e5cc3:0x00000000)
该应用程序使用 Apache 类与 REST 服务进行交互。即使使用接受任何类型证书的虚拟 TrustManager,我也会收到此错误。
从 Android Navigator 调用 REST 服务时,连接已成功建立并且工作正常。
Android 手机运行 HTC 最新的 4.0.3 Android。
REST 服务是 Apache 上的托管 mod_perl 应用程序,配置了 SSL 支持。
在https://github.com/android/platform_external_openssl/blob/ics-mr0/ssl/s23_clnt.c浏览 OpenSSL 源代码除了低级问题之外没有给我任何提示。
关于如何进一步调试的任何建议?