Java 用于验证自签名证书的应用程序引擎URLfetch

Java 用于验证自签名证书的应用程序引擎URLfetch,java,google-app-engine,Java,Google App Engine,我正在尝试使用向我的后端服务发出Https请求 我使用HttpsURLConnection是因为我的后端使用的是自签名证书,我需要验证该证书是否可信 这个片段 ... URL url = new URL("https://example.com/api"); HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(); conn.setSSLSocketFactory(sslContext.getSocketFactor

我正在尝试使用向我的后端服务发出Https请求

我使用HttpsURLConnection是因为我的后端使用的是自签名证书,我需要验证该证书是否可信

这个片段

...
URL url = new URL("https://example.com/api");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setSSLSocketFactory(sslContext.getSocketFactory());
投掷

java.lang.ClassCastException: com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection cannot be cast to javax.net.ssl.HttpsURLConnection
我知道appengine为
url.openConnection()
使用自己的处理程序,该处理程序返回
httpsurlconnection
的同级,这就是强制转换失败的原因


有没有办法将HttpsURLConnection与URLfetch一起使用?是否有其他选项可以通过Https连接到我的后端?

看看这个类似于我的选项。您可以在urlfetch低级api()中启用/禁用证书验证。但这对自签名证书不起作用。。。也谢谢你的链接。似乎不支持
HttpsURLConnection
。。。我认为这是可能的,因为appengine white列出了HttpsURLConnection。我想我必须为我的后端找一个CA