package ca.etsmtl.applets.etsmobile.http; import android.content.Context; import com.octo.android.robospice.request.springandroid.SpringAndroidSpiceRequest; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import ca.etsmtl.applets.etsmobile.model.EventList; import ca.etsmtl.applets.etsmobile2.R; public class AppletsApiCalendarRequest extends SpringAndroidSpiceRequest<EventList> { private Context context; private String startDate = ""; private String endDate = ""; public AppletsApiCalendarRequest(Context context, String startDate, String endDate) { super(EventList.class); this.context = context; this.startDate = startDate; this.endDate = endDate; } @Override public EventList loadDataFromNetwork() throws Exception { String url = context.getString(R.string.applets_api_calendar, "ets", startDate, endDate); TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } @Override public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } } }; SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); HostnameVerifier allHostsValid = new HostnameVerifier() { public boolean verify(String hostname, SSLSession session) { return true; } }; HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid); return getRestTemplate().getForObject(url, EventList.class); } }