У меня следующий код, который подключается через HTTPS, но я получаю следующую ошибку при попытке подключения.
WARN / System.err (9456): javax.net.ssl.SSLHandshakeException:
org.bouncycastle.jce.exception.ExtCertPathValidatorException: не удалось проверить подпись сертификата.
Как мне решить это?
Доверять всем сертификатам? Как я могу это сделать?
Это не будет проблемой, так как я подключаюсь только к одному серверу.
FY Я уже внедрил EasyX509TrustManager как класс в моем приложении.
Заранее спасибо.
try {
HttpClient client = new DefaultHttpClient();
// Setting up parameters
SchemeRegistry schemeRegistry = new SchemeRegistry();
// http scheme
schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
// https scheme
schemeRegistry.register(new Scheme("https", new EasySSLSocketFactory(), 443));
HttpParams params = new BasicHttpParams();
params.setParameter(ConnManagerPNames.MAX_TOTAL_CONNECTIONS, 30);
params.setParameter(ConnManagerPNames.MAX_CONNECTIONS_PER_ROUTE, new ConnPerRouteBean(30));
params.setParameter(HttpProtocolParams.USE_EXPECT_CONTINUE, false);
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
ClientConnectionManager cm = new ThreadSafeClientConnManager(params, schemeRegistry);
DefaultHttpClient httpClient = new DefaultHttpClient(cm, client.getParams());
// Example send HttpsPost request
final String url = "https://www.xxxx.com/web/restricted/form/formelement";
// Do the HTTPS Post
HttpPost httpPost = new HttpPost(url);
ArrayList<NameValuePair> postParameters;
postParameters = new ArrayList<NameValuePair>(2);
postParameters.add(new BasicNameValuePair("usr_name", username));
postParameters.add(new BasicNameValuePair("usr_password", password));
System.out.println(postParameters);
HttpResponse response = httpClient.execute(httpPost);
Log.w("Response ","Status line : "+ response.toString());
Привет, Питер,
Спасибо за ваш ответ, я последовал вашему совету и сообщение, которое не удалось проверить, пропало. Однако теперь я получаю следующее сообщение:
09-26 23: 47: 20.381: WARN / ResponseProcessCookies (10704): Файл cookie отклонен: «BasicClientCookie [версия = 0, имя = ObFormLoginCookie, домен = www.kpn.com, путь = / web / limited / form?» formelement = 512663, экспирации = NULL]». Атрибут недопустимого пути "/ web / limited / form? Formelement = 512663". Путь происхождения: "/ Интернет / ограничено / форма / formelement = 512663"
09-26 23: 47: 20.461: ПРЕДУПРЕЖДЕНИЕ / Ответ (10704): Строка состояния: org.apache.http.message.BasicHttpResponse@407afb98
Так что, похоже, что-то не так в заголовках?