2016-02-11 5 views
1

У меня есть клиент-серверное приложение (клиент Android, сервер Apache Http), сообщающееся посредством взаимной аутентификации (TLS 1.2). Проблема: Иногда соединение (логин) выходит из строя с ошибкой SSL.Ошибка подключения квитирования SSL с использованием сертификата клиента и дооснащения

Это работает:

  1. сертификат клиента Записаться
  2. Войти

Это делает не работы:

  1. Записаться с Сертификат lient
  2. Войти
  3. Удаление сертификата клиента
  4. Записаться («же») сертификат клиента
  5. Войти

Примечание: Убийство приложение после шага 4, а затем запустить его и выполнить шаг 5 работ ,

Возможные объяснения, что я могу думать:

  1. Некоторые старые ресурсы быть повторно использованы (как старый сертификат клиента). Похоже, что все релевантное (OkHttpClient и т. Д.) Повторно создается, как ожидалось.
  2. Пересмотр SSL Возможно, это повреждено при использовании новых учетных данных? Есть ли способ отключить его?

Android (клиент) журналы:

02-11 15:58:29.827 21352-23374/com.mycompany E/com.mycompany.Connection﹕ ERROR Read error: ssl=0x99116c00: Failure in SSL library, usually a protocol error error:1409441B:SSL routines:SSL3_READ_BYTES:tlsv1 alert decrypt error (external/openssl/ssl/s3_pkt.c:1303 0x9928fa60:0x00000003) error:140940E5:SSL routines:SSL3_READ_BYTES:ssl handshake failure (external/openssl/ssl/s3_pkt.c:1036 0xa613bcc5:0x00000000) retrofit.RetrofitError: Read error: ssl=0x99116c00: Failure in SSL library, usually a protocol error error:1409441B:SSL routines:SSL3_READ_BYTES:tlsv1 alert decrypt error (external/openssl/ssl/s3_pkt.c:1303 0x9928fa60:0x00000003) error:140940E5:SSL routines:SSL3_READ_BYTES:ssl handshake failure (external/openssl/ssl/s3_pkt.c:1036 0xa613bcc5:0x00000000)

журналы сервера:

[Thu Feb 11 14:58:16.736172 2016] [ssl:error] [pid 4424:tid 2088] [client 194.161.218.157:36836] AH02261: Re-negotiation handshake failed [Thu Feb 11 14:58:16.736172 2016] [ssl:error] [pid 4424:tid 2088] SSL Library Error: error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01 [Thu Feb 11 14:58:16.736172 2016] [ssl:error] [pid 4424:tid 2088] SSL Library Error: error:04067072:rsa routines:RSA_EAY_PUBLIC_DECRYPT:padding check failed [Thu Feb 11 14:58:16.736172 2016] [ssl:error] [pid 4424:tid 2088] SSL Library Error: error:1408807B:SSL routines:ssl3_get_cert_verify:bad signature [Thu Feb 11 14:59:24.655282 2016] [ssl:error] [pid 4424:tid 2088] [client 194.161.218.157:34530] AH02261: Re-negotiation handshake failed [Thu Feb 11 14:59:24.655282 2016] [ssl:error] [pid 4424:tid 2088] SSL Library Error: error:04067084:rsa routines:RSA_EAY_PUBLIC_DECRYPT:data too large for modulus [Thu Feb 11 14:59:24.655282 2016] [ssl:error] [pid 4424:tid 2088] SSL Library Error: error:1408807B:SSL routines:ssl3_get_cert_verify:bad signature

Моя установка:
Android версии 5.1.1
дооснащения версия 1.9.0
OkHttp версия 2.7.2
Apache HTTP сервер версии 2.4.17

Любые подсказки, что может быть неправильно или предложения, что нужно сделать, чтобы получить в нижней части этого?

ответ

0

Я обошел эту проблему, не устанавливая ConnectionPool явно на другом адаптере (таким образом, тот же, используемый по умолчанию, экземпляр повторно используется).