Android - sprawdzanie poprawności certyfikatów z podpisem własnym oprócz zwykłych certyfikatów SSL

Mam aplikację na Androida, która wywołuje usługi internetowe przez SSL. W produkcji będziemy mieli normalne certyfikaty SSL podpisane przez zaufany urząd certyfikacji. Musimy jednak być w stanie obsługiwać certyfikaty z podpisem własnym (podpisane przez nasz własny CA).

Z powodzeniem wdrożyłem sugerowane rozwiązanie przyjmowania certyfikatów z podpisem własnym, ale nie zadziała to z powodu ryzyka, że ​​człowiek znajdzie się w środku ataku. Następnie utworzyłem menedżera zaufania, który sprawdza, czy łańcuch certyfikatów został faktycznie podpisany przez nasz CA.

Problem polega na tym, że muszę ominąć normalne sprawdzanie poprawności SSL - aplikacja będzie teraz rozmawiać tylko z serwerem, na którym zainstalowano jeden z naszych certyfikatów z podpisem własnym.

Jestem trochę zagubiony, obszernie przeszukałem, ale nic nie mogę znaleźć. Miałem nadzieję znaleźć sposób na programowe dodanie naszego CA do magazynu zaufania na urządzeniu, ponieważ byłby to najmniej inwazyjny sposób radzenia sobie z tym problemem.

Co chcę osiągnąć: 1. Pełna standardowa obsługa normalnych certyfikatów SSL. 2. Dodatkowe wsparcie dla samopodpisanych certyfikatów podpisanych przez nasz własny CA.

Jakakolwiek rada?

questionAnswers(1)

yourAnswerToTheQuestion