Я пытаюсь подключиться к веб-серверу HTTPS через Android HttpClient
с самозаверяющими сертификатами клиента и сервера. Сертификаты и закрытый ключ хранятся в хранилище ключей PKCS # 12.
Я использую этот пример с разницей в загрузке хранилища ключей:
KeyStore trustStore = KeyStore.getInstance("PKCS12");
trustStore.load(new FileInputStream(keystoreFile), "mypass".toCharArray());
Хранилище ключей загружается правильно, так как я могу перечислить все сертификаты в нем.
Но при выполнении запроса GET я получаю:
09-07 22:01:05.197: ERROR/TTT(3716): IOException: java.io.IOException:
SSL handshake failure: Failure in SSL library, usually a protocol error
error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
(external/openssl/ssl/s3_pkt.c:1127 0x2e3b40:0x00000003)
Я тестирую это на Nexus S с ОС 2.3.4 и HTC Desire с ОС 2.2, а также эмулятор с ОС 2.1. Все они выдают одну и ту же ошибку. Я посмотрел на s3_pkt.c: 1053 , но не мог понять, в чем проблема.
Есть идеи?