установка сертификата cer на андроид

Что же за проблемы могли возникнуть?

Для организации такого рода архитектуры удалённого доступа довольно часто используются сертификаты, которые подписаны центрами не входящими в список стандартных. Почему Google такие нехорошие, и не включили в свою ОСь такую простую функцию, (наряду с такой, опять же, нужной функцией, как возможность прописать прокси-сервер) как установка дополнительных корневых сертификатов ЦА, тут мы обсуждать не собираемся.

Первым признаком того, что сервер использует самоподписанный сертификат является то, что, когда Вы открываете, откуда бы то ни было веб-ресурс с помощью, например, браузера Mozilla Firefox, программа выдает сообщение о том, что не может сама принять решение о том доверять ли сертификату для установления защищённого соединения или нет — она предоставляет право выбора Вам. Если у вас наблюдается такая картина, то эта статья как раз для Вас!

Так что же все-таки надо, чтобы запустить через citrix receiver приложения опубликованные на citrix xanapp вашего предприятия?

В первую очередь, как оказалось, необходимо установить Mozilla Firefox для Android. Очень странно, но ни один другой браузер не передаёт нужный для подключения файл (launch.ica) в программу-клиент. Знаем только то, что с Firefox все работает нормально.

Во вторую очередь нужна сама программа-клиент. Тут на Android Market у нас есть выбор: стабильный Citrix Receiver, либо находящийся на этапе тестирования Citrix Labs Receiver. Второй у нас не захотел принимать сертификат ни в какую, первый же — стабильный, после бессонной ночи таки у нас и заработал.

В-третьих, необходимо иметь root-доступ к вашему устройству, либо возможность извлекать и записывать обратно файлы через adb, хотя, в этом случае тоже требуется root-доступ (как его настроить Вы сможете узнать потратив немного времени на просмотр результатов, который выдал вам Google на запрос вида » root access howto» или » adb configure howto»).

Как получить подпись для приложений android?

Вы можете сгенерировать ключ разработчика двумя способами:

Генерация ключа подписи с помощью Android Studio

Установите Android Studio на свой компьютер и запустите программу.

Вам потребуется создать ключ загрузки и хранилище ключей. Сделать это можно следующим образом:

1. В строке меню выберите “Сборка” – “Сборка” – “Создать подписанный пакет / APK”.

2. В диалоговом окне “Создать подписанный пакет или APK” выберите “Пакет приложений Android” или “APK” и нажмите “Далее”.

Про сертификаты:  Displaying a remote SSL certificate details using CLI tools - Server Fault

3. Ниже поля для Путь к хранилищу ключей нажмите “Создать новый”.

4. В окне “Новое хранилище ключей” укажите следующую информацию о вашем хранилище ключей и ключе:

– Keystore

    • Путь к хранилищу ключей: выберите место, где должно быть создано хранилище ключей.
    • Пароль: создайте и подтвердите безопасный пароль для вашего хранилища ключей.

– Ключ

    • Псевдоним: введите идентифицирующее имя для вашего ключа.
    • Пароль: создайте и подтвердите безопасный пароль для вашего ключа. Это должно отличаться от пароля, который вы выбрали для хранилища ключей
    • Срок действия (в годах): установите период времени, в течение которого ваш ключ будет действителен. Ваш ключ должен быть действителен в течение не менее 25 лет, чтобы вы могли подписывать обновления приложения одним и тем же ключом в течение срока службы вашего приложения.
    • Сертификат: введите некоторую информацию о себе для своего сертификата. Эта информация не отображается в вашем приложении, но включена в ваш сертификат как часть APK.

7. Заполнив форму, нажмите кнопку ОК.

Теперь вы можете перейти в папку, которую указали для хранения ключей и скопировать файл *keystore.

Генерация ключа подписи с помощью Keytool

1. Загрузите и установите Java.

2. Установить каталог Java_Home.

3. Откройте командную строку (cmd.exe) как администратор, затем выполните следующую команду:
$ keytool -genkey -v -keystore [keystore_name].keystore -alias [alias_name] -keyalg RSA -keysize 2048 -validity 10000

4. Keytool запросит пароль хранилища ключей. Введите пароль и подтвердите.

5. Далее keytool запросит дополнительную информацию – имя, страну и т.д. Укажите всю требуемую информацию.

6. Затем keytool запросит пароль для псевдонима. Вернитесь, если он совпадает с паролем хранилища ключей. В противном случае введите пароль и подтвердите.

7. Готово – ваш ключ готов к копированию!

Скопированный файл ключа, вы можете добавить в Личном кабинете в качестве подписи для приложения Android.

Как установить доверенный сертификат ca на android-устройстве?

до Android KitKat вы должны root устройство для установки новых сертификатов.

от Android KitKat (4.0) до нуги (7.0) это возможно и легко. Я смог установить Charles Web Debbuging Proxy cert на мое некорневое устройство и успешно понюхать SSL-трафик.

извлечение из http://wiki.cacert.org/FAQ/ImportRootCert

перед Android версии 4.0, с Android версии пряники & Froyo, был один файл только для чтения (/system/etc/security / cacerts.bks), содержащий хранилище доверия со всеми сертификатами CA (“system”), которым доверяют по умолчанию на Android. Как системные приложения, так и все приложения, разработанные с Android SDK, используют это. Используйте эти инструкции по установке сертификатов CAcert на Android Gingerbread, Froyo,…

начиная с Android 4.0 (Android ICS / “Ice Cream Sandwich”, Android 4.3 “Jelly Bean” и Android 4.4 “KitKat”), система доверена сертификаты находятся в системном разделе (только для чтения) в папке “/system/etc/security/ ” как отдельные файлы. Тем не менее, пользователи теперь могут легко добавлять свои собственные “пользовательские” сертификаты, которые будут храниться в “/data/misc/keychain/certs-added”.

Про сертификаты:  Как получить сертификат 1С Совместимо

установленные системой сертификаты можно управлять на устройстве Android в разделе “Настройки” – > “Безопасность” – > “сертификаты” – > “Система”, тогда как доверенные сертификаты пользователя находятся в разделе “пользователь”. При использовании user trusted сертификаты, Android заставит пользователя Android устройства реализовать дополнительные меры безопасности: использование PIN-кода, шаблон блокировки или пароль для разблокировки устройства являются обязательными при использовании пользовательских сертификатов.

установка сертификатов CAcert как “доверенных пользователей” – сертификаты очень легко. Установка новых сертификатов как “system trusted” – сертификаты требуют больше работы (и требует корневого доступа), но у него есть преимущество избежать блокировки экрана Android требование.

от Android N и далее это становится немного сложнее, см. Этот экстракт из сайт Charles proxy:

начиная с Android N, вам нужно добавить конфигурацию в свое приложение, чтобы
доверяйте SSL-сертификатам, созданным прокси-сервером Charles SSL.
Это означает, что вы можете использовать SSL-проксирование только с приложениями, которые вы
управление.

чтобы настроить приложение на доверие Чарльзу, вы нужно добавить
Файл конфигурации сетевой безопасности в приложении. Этот файл может
переопределите системное значение по умолчанию, позволяя приложению доверять установленному пользователю
Сертификаты CA (например, корневой сертификат Charles). Можно указать
что это применимо только в отладочных сборках вашего приложения, так что
производственные сборки используют профиль доверия по умолчанию.

Добавить файл res / xml / network_security_config.xml для вашего приложения:

<network-security-config>    
    <debug-overrides> 
        <trust-anchors> 
            <!-- Trust user added CAs while debuggable only -->
            <certificates src="user" /> 
        </trust-anchors>    
    </debug-overrides>  
</network-security-config>

затем добавить ссылку на этот файл в манифест вашего приложения выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?> 
<manifest>
    <application android:networkSecurityConfig="@xml/network_security_config">
    </application> 
</manifest>

Как установить сертификат trusted ca на android-устройство?

Я создал свой собственный сертификат CA, и теперь я хочу установить его на своем устройстве Android Froyo (HTC Desire Z), чтобы устройство доверяло моему сертификату.

Android хранит сертификаты CA в своем хранилище ключей Java в /system/etc/security/cacerts.bks . Я скопировал файл на свой компьютер, добавил свой сертификат с помощью portecle 1.5 и подтолкнул его обратно к устройству.

теперь Android, похоже, не перезагружает файл автоматически. Я прочитал в нескольких сообщениях в блоге, что мне нужно перезагрузите устройство. Это приводит к тому, что файл снова перезаписывается оригинальным.

моя следующая попытка состояла в том, чтобы установить сертификат с SD-карты, скопировав его и используя соответствующую опцию из меню настроек. Устройство говорит мне, что сертификат был установлен, но, по-видимому, он не доверяет сертификату. Кроме того, когда я пытаюсь скопировать хранилище ключей на свой компьютер, я все еще нахожу оригинальный запас cacerts.bks .

Про сертификаты:  Развод с баллами Спасибо от Сбербанк, а так же OneTwoTrip и Спортмастер. | Пикабу

Итак, каков правильный способ установите мой собственный корневой сертификат CA на устройстве Android 2.2 в качестве доверенного сертификата? Есть ли способ сделать это программно?

Немножко предыстории:

Стоит у нас в конторе Citrix XenApp для обеспечения удалённой работы из офиса. Что это за зверь и с чем его едят рассказывать не будем — кому это надо, те давно в курсе. В этой совместной с записи мы хотим рассказать об установке корневого сертификата и настройке клиентской части — Citrix Receiver для Android.

В принципе, клиент не самый убогий — пользоваться можно, а если Вы где-то в поездке, а на руках только телефон на Android или планшет — это единственный выход для быстрого подключения и исправления что-либо через рабочий компьютер. Вроде бы софтина не особо мудрёная да и настроек особо много не требует, а если Вы используете веб-интерфейс для запуска приложений, как это сделано в нашей организации, то и совсем никаких… Но не все бывает так безоблачно!

От требований (если они все выполнены) переходим к действию.

Для удобства будем перечислять все по пунктам.

1. Заходим с устройства на Android Market и устанавливаем Firefox. 2. Заходим с устройства на Android Market и устанавливаем Citrix Receiver. 3.1.1 (3.1.х для тех кто предпочитает прямой доступ) С помощью файлового менеджера копируем файл /system/etc/security/cacerts.bks cacerts.

bks на карту SD. 3.1.2 Подключаем устройство как накопитель к компьютеру с Linux. 3.1.3 Копируем файл cacerts.bks с корня карточки в вашу домашнюю папку. 3.2.1 (adb) копируем сертификат $ adb pull /system/etc/security/cacerts.bks cacerts.bks

4. Этот пункт предполагает, что Вы уже установили и настроили JRE 1.6 и прописана переменная окружения JAVA_HOME (в моем случае JAVA_HOME=/usr/lib/jvm/java-6-sun/). Скачиваем пакет bouncycastle.org/download/bcprov-jdk16-146.jar и кидаем его в папку $JAVA_HOME/jre/lib/ext/ Если у вас установлен JDK, то этот пакет, надо так же закинуть в папку /usr/lib/jvm/java-6-openjdk/jre/lib/ext wget bouncycastle.org/download/bcprov-jdk16-146.jar sudo cp bcprov-jdk16-146.

5. Кидаем файл сертификата CompanyCA.crt так же в домашнюю папку. Если его у Вас нет, но Вы соглашались принять сертификат при переходе на веб-интерфейс XenApp, то его можно экспортировать из Firefox. Как это сделать — подскажет Google. Можем лишь уточнить, что шифрование нужно X.509 PEM.

Установка собственного корневого сертификата в android и запуск citrix xenapp web interface

В принципе, мы с shoguevara довольно давно заморачивались вопросом установки корневого сертификата в Android устройство и даже находили парочку не самых тривиальных инструкций, но до этого в таком действии надобности не было. Надобность же появилась после приобретения планшета на Android.

Оцените статью
Мой сертификат
Добавить комментарий