Подключить https, не могу определить контекст ssl, Google App Engine, Java

Я работаю над приложением Google App Engine, которому необходимо читать PDF-файлы из HTTPS-соединения, требующего принятия корневого сертификата.

Мне удалось прочитать из основного класса, получив доступ к хранилищу ключей с включенным сертификатом.

К сожалению, при использовании кода в App Engine мне сообщается, что я не могу использовать класс HttpsURLConnection для создания контекста SSL, который позволяет мне создать HTTPS-соединение с сервером.

URL url = new URL("https://sede.dgt.gob.es/WEB_TTRA_CONSULTA/ServletVisualizacion?params=nNo5ZWovvSC5yTu9s4kDdX4GzPZvWMyYo3P%2FsuhoF4DJImPyqstz8tHRwBQcTuZk%0D%0A&formato=PDF");

URLConnection conexion = url.openConnection();
((HttpsURLConnection) conexion).setSSLSocketFactory(sslSocketFactory);
conexion.connect();

InputStream is = conexion.getInputStream();

Какой вид я использую для этого?

Как получить доступ к хранилищу ключей на сервере? работать с бинарным файлом на диске?


person user1358518    schedule 14.11.2013    source источник


Ответы (1)


Вы должны использовать com.google.appengine.api.urlfetch.URLFetchService для вызова внешних URL-адресов в AppEngine.

person koma    schedule 14.11.2013
comment
AppEngine повторно реализует URLConnection поверх своего UrlFetchService, поэтому new Url().openConnection() обычно работает. Похоже, что у OP есть проблема с невозможностью установить собственное хранилище ключей, см. stackoverflow.com/questions/13042461/. - person Philipp Reichart; 19.11.2013