Self-signed certificates for Android OS
Self-Signed Certificates
Users have a need to add self-signed certificates for Android OS.
This process is relatively simple, but it also has its own features and nuances.
General Information
Terminology
A self-signed certificate is a digital certificate that is not issued or verified by a third party, such as a Certificate Authority (CA). Instead, it is created and signed by the user or organization that uses it.
Simply put, it is a certificate created by the user or organization that uses it.
Necessity
The use of self-signed certificates is most commonly used for:
Application Testing
Developers often use self-signed certificates for testing applications before their publication. This allows them to create a secure connection, for example, between the application and the server, without the need to purchase a certificate from a certification authority.
Internal Use
In some companies, self-signed certificates are used within internal networks to encrypt data and ensure security.
Risks and Limitations
The use of self-signed certificates carries certain risks and difficulties in their use. Key risks include:
- System distrust.
Since self-signed certificates are not verified and not issued by certification authorities, they often trigger security warnings in browsers and applications. This can alarm users.
- Vulnerability of each certificate.
The use of self-signed certificates can increase the risk of attacks such as "man-in-the-middle" (MITM), where a malefactor can intercept data between two parties.
Возможные взаимодействия с сертификатами
Создание сертификатов
С алгоритмом действия для создания самоподписанного сертификата можно в отдельной инструкции: Создание самоподписанных сертификатов SSL с помощью инструмента OpenSSL на Ubuntu
Добавление сертификатов
Если пользователю для работы приложения необходим сертификат, он может установить его сам, вручную. Созданные сертификат будет подтверждать, что приложению разрешен доступ к конкретным функциям и данным.
Алгоритм установки сертификата
- На устройстве необходимо открыть "Настройки".
- Необходим перейти в раздел: "Безопасность и конфиденциальность" > "Дополнительные настройки безопасности" > "Шифрование и учетные данные".
- Далее необходимо выбрать раздел "Установка сертификатов" > "Сертификат WI-FI".
- Находим и нажимаем на иконку меню, в виде трех горизонтальных полосок.
- Выбираем место, где был сохранён сертификат.
- Нажимаем на файл. Возможно, нужно будет ввести пароль к хранилищу ключей и нажимаем "ОК".
- Вводим название сертификата.
- Нажимаем "ОК"
Удаление сертификатов
Каждый пользователь может удалить самоподписанный сертификат, найдя его в списке сертификатов. Для этого необходимо:
- Открыть приложение "Настройки".
- Нажать: "Безопасность и конфиденциальность" > "Дополнительные настройки безопасности" "Шифрование и учетные данные".
- Необходимо перейти в раздел "Хранилище учетных данных".
Таким образом попав в хранилище сертификатов, можно делать уже следующие действия с ними:
- (Не рекомендуется) Для удаления всех сертификатов на устройстве необходимо нажать "Очистить все учетные данные" > "ОК".
- (Рекомендуется) Для удаление конкретных сертификатов на устройстве необходимо нажать "Учетные данные пользователя" > выбрать нужные учетные данные для удаления.
Примечания
Использование сети WI-FI, защищенную WPA-Enterprise. Можно при подключении использовать настройки WPA/WPA2/WPA3-Enterprise для дополнительной защиты. Чтобы это сделать, нужно:
- Открыть приложение "Настройки".
- Нажать на раздел "Сеть и интернет" > "Интернет" > "Добавить сеть ", с помощью иконки "+"
- Ввести данные, полученные у администратора сети.
Настройки "Не проверять".
Сохраненные настройки Enterprise, которые отключают проверку подлинности сертификата сервера, не затрагиваются. Однако вы не можете изменять их и создавать новые.
Настройки WPA/WPA2/WPA3-Enterprise доступны как пользователям частным лицам, так пользователям сотрудникам организаций.
Тонкости и нюансы
Проработка проблемы с коллизией между сервером и клиентом.
В данном случае необходимо вводить доменное имя не в полном формате, а с использованием "*".
"abcdef.technomedia.ru"- неправильно
"*.technomedia.ru"- правильно
Итоговый результат
Пользователи умеют создавать и взаимодействовать с самоподписанными сертификатами.