Вы, кажется, говорите об аутентификации по сертификату клиента (где ваше устройство Android является клиентом).
Во-первых, вам нужно, чтобы клиент имел закрытый ключ, соответствующий открытому ключу в сертификате, который вы используете.пытаясь использовать (вот и весь смысл, иначе ничего бы не аутентифицировалось).PKCS # 12 является одним из обычных форматов для хранения закрытого ключа и сертификата.Если у вас есть только сертификат в файле der , у вас, вероятно, не будет закрытого ключа, поэтому он не будет работать.Из вашего вопроса не совсем понятно, что вы делаете с вашей переменной certificate
относительно KeyManagerFactory
(если у вас есть пользовательский X509KeyManager
, он должен вернуть закрытый ключ в своем методе getPrivateKey
, иначе он выиграетне работает).
Во-вторых, проверка подлинности клиента-сертификата всегда инициируется сервером, поэтому вам необходимо настроить сервер соответствующим образом (похоже, это уже имеет место, если ваш тест основан нана хранилище ключей PKCS # 12 работает).