Сертификаты для андроид

Post Views: 10 403

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

Недавно Google добавил новую возможность хранить ключи: в своей собственной инфраструктуре благодаря Google Play App Signing. Основное отличие здесь заключается в том, что вы подписываете приложение специальным ключом загрузки, который Google проверяет и удаляет, заменяя его оригинальным ключом подписи приложения, который вы предоставили.

С его помощью можно управлять ключами подписи приложений как для новых, так и для опубликованных приложений, которые в свою очередь будут храниться у Google в их собственном хранилище ключей. Чтобы присоединиться к этой программе, необходимо подписаться на неё в своей Google Play Console. Стоит отметить, что в последствии отписаться от неё уже будет невозможно.

Таким образом, при подключении к Google Play App Signing происходит следующее:

  • Бессрочная регистрация вашего приложения в программе Google Play App Signing.
  • Передача вашего ключа подписи приложения в Google.
  • Регистрация нового ключа загрузки для всех последующих APK-файлов.

Такой способ очень полезен, поскольку в случае, если вы потеряли хранилище ключей, Google Play App Signing позволит сбросить ключ для установки нового. Согласитесь, это намного проще, чем каждый раз публиковать приложение заново с новым именем пакета и ключом.

Попробуем, используя этот способ, опубликовать новое приложение : Менеджер системных приложений.

Для начала необходимо создать ключ загрузки, по которому Google будет проверять APK. Для этого средствами Android Studio через меню Build — Generate Signed APK создадим новое хранилище ключей, в котором будет содержаться наш ключ загрузки. Создание подписи приложения будет происходить с помощью Gradle, а файл, содержащий путь до хранилища и пароли, вынесем из проекта и будем хранить отдельно.

signingConfigs { release { if (project.hasProperty(«Keys.repo»)) { def projectPropsFile = file(project.property(«Keys.repo») + «/system-app-manager.properties») if (projectPropsFile.exists()) { Properties props = new Properties() props.load(new FileInputStream(projectPropsFile)) storeFile file(file(project.property(«Keys.repo») + props)) storePassword props keyAlias props keyPassword props } } else { println «=======================================================» println » — Please configure release-compilation environment — e.g. in ~/.signing directory» println «=======================================================» } } }

О том, как это можно сделать для своего приложения, можно почитать в данной статье.

Теперь перейдём в консоль разработчика. Создадим новое приложение и дадим ему название. После этого нужно перейти в «Версии приложения» — «Управление рабочей версией» — «Создать выпуск». Здесь вам будет предложено подключиться к програме Google Play App Signing, нажимаем «Продолжить».

Если перейти в «Подписи приложения», то можно обнаружить, что был создан сертификат для подписи, однако сертификат загрузки остался пустым. Это потому, что мы ещё не загрузили первый подписанный APK файл.

Вернёмся в создание выпуска. После получения подтверждения о том, что мы подключились к программе, можно перейти к загрузке APK.

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

После того, как вы загрузите APK, подписанный ключом загрузки, его сертификат появится в «Подписи приложения».

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

Узнать, что приложение подписано Google, а не самим разработчиком, можно по следующему элементу метаданных, содержащемуся в тэге <application> в файле манифеста:

<meta-data android:name=»com.android.vending.derived.apk.id» android:value=»» />

Как сбросить ключ загрузки?

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

  1. Создать новый ключ загрузки аналогично тому, как это делалось в начале статьи. Затем его нужно будет экспортировать в сертификат PEM с помощью следующей команды. keytool -export -rfc -alias upload -file <upload_certificate.pem> -keystore <keystore.jks>
  2. После создания сертификата нужно обратиться в службу поддержки по следующей , заполнив все поля и прикрепив файл сертификата. Как только запрос будет обработан, вам на электронную почту придут инструкции по смене ключа.

Скачаем опубликованное приложение и посмотрим, что у него внутри. Для этого воспользуемся любым декомпилятором APK файлов.

Если открыть манифест приложения, то внутри можно обнаружить ту самую строку с метаданными, о которой мы говорили выше.

Данный идентификатор будет использоваться в инструментах отчётности об ошибках и по нему можно определить нужный APK-файл.

К сожалению, оптимизации APK не происходит, как было заявлено разработчиками. Google Play должен предоставлять оптимизированный APK с нужными локалями и плотностью экрана. Однако если посмотреть, что находится в ресурсах декомпилированного APK, то можно обнаружить там все локализации, которые были созданы для приложения, и разметки экранов с плотностью.

Кроме декомпилятора это также можно проверить утилитой aapt.exe (Android Asset Packaging Tool), которая входит в состав Android SDK. Для этого нужно ввести следующую команду:

aapt dump badging apk_name.apk

Как подписаться, если приложение уже опубликовано?

В случае, если вы хотите подписать своё опубликованное приложение на Google Play App Signing, то вам нужно будет в консоли разработчика открыть проект приложения и затем выбрать «Управление релизом» — «Версии приложения».

В открывшемся окне помимо различный вариантов сборок и версий вашего приложения должно появиться приглашение подключиться к Google Play App Signing.

Вам перекинет на страницу «Подписи приложений» с описанием программы. Вам нужно будет оттуда скачать утилиту PEPK и с помощью неё выполнить следующую команду, заменив выделенные участки на свои:

java -jar pepk.jar —keystore=ваше_хранилище_ключей.keystore —alias=имя_ключа —output=новый_путь_для_созданного_сертификата —encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

Эта утилита позволяет вам извлечь определённый ключ из хранилища ключей и экспортировать его в PEM сертификат. Для примера попробуем экспортировать ключ для другого приложения. После ввода команды нас попросят ввести пароли от хранилища и от ключа, и если всё завершится без ошибок, значит операция выполнена успешно.

Если PEPK выдаёт ошибку на неправильный alias, хотя вы полностью уверены, что он верен — попробуйте написать его только маленькими буквами, если в нём имеются заглавные.

Затем на той же странице в консоли разработчика нужно нажать на «Закрытый ключ для подписи приложения» и выбрать наш созданный сертификат. Таким образом Google поймёт, что именно мы являемся разработчиком приложения. После этого можно приступать к созданию ключа загрузки, по которому в будущем будет происходить публикация всех APK-файлов.

Для этого нужно создать ключ тем же способом, каким мы создавали его в начале статьи. Затем с помощью стандартной утилиты Java под названием Keytool нужно будет экспортировать ключ в PEM сертификат с помощью следующей команды:

keytool -export -rfc -keystore ваше_хранилище_ключей -alias имя_ключа -file путь_для_сертификата

На странице консоли разработчика нажимаем «Сертификат открытого ключа загрузки» и выбираем созданный сертификат с ключом загрузки.

После проделанных операций у нас станет активна кнопка «Зарегистрировать», нажимаем её и, если нет никаких ошибок, Google Play App Signing будет подключён к вашему приложению и вы увидите отпечатки сертификата.

Теперь вы можете загружать новые APK, подписывая их своим ключом загрузки, после чего Google будет заменять его на ключ из собственного хранилища.

Новая технология от Google немного облегчила жизнь разработчикам, будем жать, когда она действительно облегчит выходной APK-файл.

Как добавить новый CA в системное хранилище сертификатов Android

На телефоне требуется root и busybox
На компьютере требуется openssl
Предполагается, что сертификат уже сгенерирован.
Берем сертификат в формате PEM, и выполняем следующую команду:
openssl x509 -inform PEM -subject_hash_old -in cacertificate.crt
В выводе первой строчкой будет что-то вроде 69241f1f — это первая часть имени для android-сертификата, полное имя должно заканчиваться на .0
Выполняем вторую команду чтобы получить сертификат почти в том виде, который нам нужен:
openssl x509 -inform PEM -text -in cacertificate.crt > 69241f1f.0​
Выполняем третью команду, чтобы получить отпечаток сертификата:
openssl x509 -in 69241f1f.0 -sha1 -noout -fingerprint​
Полученную строку вида
SHA1 Fingerprint=0D:88:A7:D1:33:40:F5:88:2A:C0:8F:78:66:91:FB:00:83:E5:67:9E
Дописываем в конец файла 69241f1f.0​
Так же, если сам сертификат в формате BASE64 находится в конце файла (начинается с ——BEGIN CERTIFICATE—— заканчивается на ——END CERTIFICATE——), то его надо перенести в начало файла, перед строкой Certificate:
В итоге получаем что-то вроде:
——BEGIN CERTIFICATE——
MIICVjCCAb+gAwIBAgIJALaCXPgoQVCSMA0GCSqGSIb3DQEBCwUAMEQxCzAJBgNV
BAYTAlJVMQwwCgYDVQQIFw0yMjA5MTQwODE4NDJaMEQxmMB8GA1UdIwQYMAgv/Mp
CzAJBgNVBAYTAlJVMQwwCgYXoj/6RX0/keGzDVQQIDANLSEIxDDAKBgNVBAcMA0t
CgwDTk5FMQswCQYDVQQLDAJJVDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
3AQCRbP2rHhAlc2LQCbhw/u1f8HtDiNmyd/0N+/uO9nwplB6PQswCQYDVQQLDAJ5
CpS8O5AQiCFXluDo61AOzAciVzG7UCLDU7bloRckxLobs27MV5WAw13o1eU+wgzg
7O9mK9dFDKtMjR8zZio9T1ejeSFTSwgN1gruAYTAlJVMQwwCgYDVQQIDANLSEIxD
CgwDTk5FMJVDCBnzANBgi8ToAWFz0nA3wne21qNoBsCAwEAAaNQME4wHQYDVR0OD
BBYEFD1lm7t01BwOxYRqt8J8ruWh0MLmMB8GA1UdIwQYMBaAFD1lm7t01BwOxYRq
t8J8ruWh0MLmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADgYEAxAXy5Stm
MvUoYQ8RsoHwnHl2mM4ppDIcy3Ia5ytRlCxHM+O6FdGgWsEwPgnKBgNVBAcMA0tI
H0R+4e/uNfHsZhoZVkDCManbBvcXOAfb42Uyp+449qz3JC5KGQjEMMAoGA1UEA1U
dX2IuEsGsGYhb8jIQjEMMAoGA1UEdTk5FM=
——END CERTIFICATE——
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
b6:82:5c:f8:28:41:50:92
Signature Algorithm: sha256WithRSAEncryption
Issuer: C = 12, ST = 123, L = 142, O = 123, OU = 16
Validity
Not Before: Sep 15 00:00:00 2015 GMT
Not After : Sep 14 00:00:00 2020 GMT
Subject: C = 12, ST = 123, L = 142, O = 123, OU = 16
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit)
Modulus:
00:dc:04:02:45:b3:f6:ac:78:40:95:cd:8b:40:26:
e1:c3:fb:b5:7f:c1:ed:0e:23:66:c9:df:f4:37:ef:
ee:3b:d9:f0:a6:50:7a:3f:98:2f:fc:ca:6c:1a:c1:
98:85:bf:23:0a:ec:ef:66:2b:d7:45:94:bc:3b:90:
e8:eb:50:0e:cc:07:22:57:31:bb:50:22:c3:53:b6:
e5:a1:17:24:c4:ba:1b:b3:6e:cc:57:95:80:c3:5d:
e8:d5:e5:3e:c2:0c:ff:0c:ab:10:88:21:57:96:e0:
4c:8d:1f:33:66:28:2b:ba:2f:13:a0:05:85:cf:49:
c0:df:09:de:db:5a:8d:a0:1b
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
3D:65:9B:BB:74:D4:1C:0E:C5:84:6A:B7:C2:7C:AE:E5:A1:D0:C2:E6
X509v3 Authority Key Identifier:
keyid:3D:65:9B:BB:74:D4:1C:0E:C5:84:6A:B7:C2:7C:AE:E5:A1:D0:C2:E6
X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: sha256WithRSAEncryption
c4:05:f2:e5:2b:66:32:f5:28:61:0f:11:b2:81:f0:9c:79:76:
98:ce:17:a2:3f:fa:45:7d:3f:91:e1:b3:a6:90:c8:73:2d:c8:
6b:9c:ad:46:15:81:6b:04:c0:f8:27:86:74:c5:8c:07:b1:74:
1f:44:7e:e1:ef:ee:36:8f:53:d5:e8:de:48:54:d2:c2:03:75:
7c:7b:19:86:86:55:90:30:8c:6a:76:c1:bd:c5:ce:01:f6:f8:
d9:4c:a9:fb:80:b1:1c:cf:8e:e8:57:4e:3d:ab:3d:c9:0b:90:
e9:22:d3:02:03:6c:c4:12:33:04:8a:24:76:96:7d:da:95:f6:
22:e1
SHA1 Fingerprint=0D:88:A7:D1:33:40:F5:88:2A:C0:8F:78:66:91:FB:00:83:E5:67:9E
Полученный файл копируем в /system/etc/security/cacerts/
Можно использовать любой ROOT-менеджер изнутри телефона (ADB, даже с su -c ‘mount -o rw,remount /system’ срабатывает не всегда).
После того как файл скопировался, перезагружаем телефон.
После перезагрузки идем в «Настройки — Безопасность — Надежные сертификаты — Система» и ищем там свой сертификат. Если появился — значит, работает, и можно спокойно настраивать IPSec без дополнительных извращений или же просматривать сайты пропущенные через MITM с подменой сертификата.

Общие сведения о сертификатах безопасности.

В данной статье мы попытаемся с Вами ознакомиться с тем, что такое сертификат, зачем он нужен, как его получить и, в конечном итоге, как подписать приложение.
Сертификат — это электронный документ, дающий право приложениям быть примененными (установленными) в среде Symbian OS9.х для конкретного конечного пользователя. Документ выдвигает определенные требования разработчикам программного обеспечения в зависимости от развития операционных систем и аппаратных средств Nokia, что формирует стандартное условие на определение срока использования — срок действия сертификата. Сертификат содержит информацию, идентифицирующую держателя (компанию Symbian), от которого исходит сертификат. Издается центрами сертификации и выдается компанией Symbian.
Итак, Вы стали счастливым обладателем смартфона Nokia. И первым делом, после того, как ознакомились с ним, решите, что в Вашем телефоне должны быть установлены какие-либо программы или игры. Вы отправитесь на поиски интересного софта в Интернет, либо найдете интересную игрушку или же решите установить тему оформления. И вот, возможно, Вы первый раз столкнетесь с тем, что Ваш телефон начнет Вам писать какие-то непонятные для Вас сообщения, и, что самое неприятное, скажет не устанавливать приложения, которые Вы хотите в него поставить.
Давайте начнем рассматривать все по порядку.
Первое, что Вы должны сделать, перед тем, как начать установку какого-либо приложения в смартфон, — это отключить проверку сертификатов.
Это совсем не значит, что сейчас в Ваш смартфон можно будет установить любое приложение. Это необходимо потому, что сразу после покупки смартфона в нём предустановлены заводские настройки, которые по умолчанию не позволяют установить ненадежное, опасное, по мнению разработчиков системы Symbian, приложение. Нам надо с Вами разрешить установку ненадёжных приложений.
Делается это из Диспетчера приложений.
Дисп. приложений — > Функции — > Настройки — > Прогр. устан.- > Все, Проверка сертиф. — > отключена.
Зачем мы с Вами отключили проверку сертификатов:
* Если Вы пользуетесь официальным софтом, то для проверки подлинности сертификата безопасности Вам будет необходимо соединиться через Интернет по указанному адресу, что повлечет затраты некоего количества трафика, а также необходимости настройки выхода в Интернет через Вашего оператора.
* Если Вы используете неофициальный софт, то сертификат не пройдет проверку подлинности, и установка будет отменена. Для проверки используется либо указанный Вами принудительно Интернет адрес, либо адрес по умолчанию, установленный в настройках Диспетчера приложений.
Теперь, когда мы подготовились, можно попытаться установить наше первое приложение в телефон.
Далее мы рассмотрим с Вами поведение Вашего смарфона, что Вы будете наблюдать на экране телефона, как Вам реагировать на то или иное сообщение, и что они обозначают.
Наиболее распространенные сообщения об ошибках и методы их решения:
* «Срок действия сертификата истек»
Эта ошибка появляется, если Вы устанавливаете приложение, подписанное просроченным на данный момент времени сертификатом.
Решение проблемы:
1. Если Вы знаете, когда был получен сертификат, которым подписано приложение, то переведите дату на Вашем смартфоне на дату получения сертификата и устанавливайте теперь приложение. После успешной установки верните дату в телефоне на текущую.
2. Обычно пользователь не знает даты получения сертификата, поэтому самое простое — это перевести дату на полгода или год назад. Затем установить приложение. После его установки дату в смартфоне переведите на текущую.
3. Если же у вас есть неподписанная версия этого приложения, то подпишите его свежим сертификатом.
* «Срок действия сертификата еще не наступил»
Эта ошибка возникает с новыми сертификатами. Дата начала срока действия сертификата, которым подписана программа, ещё не наступила. Подобное может происходить из-за разницы в часовых поясах, места, где сертификат был выписан, и места, где Вы сейчас находитесь. Также возможной причиной может быть то, что Вами выставлена неверная дата в смартфоне.
Решение проблемы:
1. Необходимо проверить, правильно ли выставлена дата в смартфоне, и если она выставлена неверно, то изменить её на текущую.
2. Если же проблема заключается в том, что сертификат был лишь недавно получен, то переведите дату на смартфоне на один день вперед и установите приложение. Затем верните дату на текущую. Данная проблема через день уже не будет у Вас появляться, т.к. время действия сертификата уже вступит в силу.
* «Невозможно установить защищенное приложение из ненадежного источника»
Это означает, что устанавливаемое приложение не подписано персональным сертификатом. Такой сертификат создаётся для каждого смартфона отдельно, с привязкой к его IMEI.
Решение проблемы:
1. Вам необходимо получить сертификат под IMEI Вашего смартфона и подписать им приложение.
2. Подписать приложение OnLine, если это возможно.
* «Ошибка сертификата»
Данная ошибка появляется тогда, когда программа была подписана чужим сертификатом, т.е., таким, что создавался под другой IMEI. Также возможно, что Вы сделали ошибку при вводе Вашего IMEI для запроса на получение сертификата или OnLine подписки.
Решение проблемы:
1. Вам неоходимо подписать это приложение еще раз, только именно Вашим сертификатом и только неподписанную ранее версию. Обратите внимание: если Вы подпишите своим персональным сертификатом приложение, которое ранее уже было подписано другим, чужим сертификатом, то оно не установится на Ваш смартфон.
* «Установка запрещена», «Неверный сертификат»
Данные ошибки говорят о том, что Вы не отключили проверку сертификатов в настройках Диспетчера приложений.
Решение проблемы:
1. Перейдите в Диспетчер приложений на смартфоне.
Дисп. приложений — > Функции — > Настройки — > Прогр. устан.- > Все, Проверка сертиф. — > отключена.
* «Ошибка в сертификате — обратитесь к поставщику приложения!»
Эта ошибка говорит о том, что приложение, которое Вы пытаетесь установить, не имеет сертификата безопасности.
Решение проблемы:
1. Необходимо выполнить сертификацию этого приложения, т.е подписать.
* При попытке установки приложения, Ваш смартфон пытается соединиться с Интернетом
Это происходит из-за необходимости проверки подлинности сертификата безопасности, которым подписана программа. Для соединения используется либо указанный Вами принудительно Интернет адрес, либо адрес по умолчанию, установленный в настройках Диспетчера приложений.
Решение проблемы:
1. Необходимо в Диспетчере приложений отключить проверку сертификатов.
Дисп. приложений — > Функции — > Настройки — > Прогр. устан.- > Все, Проверка сертиф. — > отключена.
Что же такое
персональный сертификат безопасности
и каковы его функции:
* Персональный сертификат безопасности выдается только на один IMEI, т.е. для одного телефона, и привязан он к IMEI данного телефона. Именно поэтому установить приложение, подписанное сертификатом под чужой IMEI, невозможно.
* Единожды полученным сертификатом можно подписывать все требующие сертификации программы, но только для смартфона, на IMEI которого сертификат был выдан.
Какие существуют
виды сертификатов безопасности:
Приложения, которые устанавливает пользователь, взаимодействуют с операционной системой Symbian через набор API функций, и, соответственно, должны иметь права для обращения к ним. Во всех младших ОС это не регламентировалось, начиная с Symbian OS 9 была введена защита пользователя от вредоносных программ и от необдуманных действий самого пользователя.
Поэтому и можно говорить о подразделении сертификатов по правам доступа, их существует 3 вида:
1. Пользовательские (их называют общими) сертификаты:
o Приложение подписывается общим сертификатом и любой пользователь может его установить.
o Имеют доступ к функциям API операционной системы на 60%.
2. Symbian Signed capability (называют
персональным, личным сертификатом):
o Приложние требуют сертификата Symbian Signed, т.е. подписывается на один IMEI, соответственно, только для личного использования.
o Имеют доступ к функциям API операционной системы на 80%.
3. License/Platform capability
o Имеют доступ к функциям API операционной системы на 100%.
Как можно подписать приложение:
Имея уже персональный сертификат безопасности, программу можно подписать:
+ На персональном компьютере, используя программу SisSigner.
+ На смартфоне, используя программу MobileSigner .
+ На смартфоне, используя программу FreeSigner .
Тем, кто не получил личного сертификата, подписать программу можно:
+ Воспользовавшись услугой OnLine-подписи приложений.
+ Воспользовавшись услугой OnLine заказа сертификата.
+ Подписать универсальным сертификатом, не имеющим ограничений по Сapability.
+ Самостоятельно получить Symbian Signed Publisher ID сертификат.
+ Заказать и получить Symbian Signed Publisher ID сертификат на китайском форуме.
Дополнительная информация:
В связи с появившимся способом открытия полного доступа к системным файлам и папкам, стало возможно использовать так называемый универсальный сертификат (подходит для любого IMEI, предоставляет приложениям те же права, что есть и у самой ОС). А также появилась возможность полного отключения проверки сертификатов в телефоне.
Для этого необходимо:
1. Получить полный доступ к системным папкам, любым из предложенных способов:
o Полный доступ к системным папкам смартфона на базе Symbian OS 9.x (Используется ПК. Метод для старых прошивок. Устарел)
o Полный доступ к файловой системе смартфонов, работающих под управлением ОС 9.1 и 9.2 (Используется ПК. Метод для старых прошивок. Устарел)
o Полный доступ к системным папкам смартфона на базе Symbian OS 9.x (Без использования ПК. Метод для старых прошивок)
o Получение полного доступа к системным файлам и папкам для новых прошивок. Без использования ПК. Работает на новых прошивках для 9.1 и 9.2
o Метод получения полного доступа для всех смартфонов Symbian OS9x (включая 9.3 и 5800)
o Получения полного доступа к системным файлам и папкам для смартфонов Symbian OS 9.4
2. Установить универсальный сертификат:
Подписываем приложения универсальным сертификатом, не имеющим ограничений по Сapability
Этим мы получаем, описанную выше возможность, устанавливать приложения, подписанные универсальным сертификатом, который подходит для любого IMEI и предоставляет приложениям те же права, что есть и у самой ОС.
3. Установить модифицированный файл installserver.exe, использование которого отключает в ОС проверку сертификатов.
О том, как установить файл и скачать архив с этим файлом:
o Полный доступ к системным папкам смартфона на базе Symbian OS 9.x (третий способ). Без использования ПК.
o Получение полного доступа к системным файлам и папкам для новых прошивок. Без использования ПК. Работает на новых прошивках для 9.1 и 9.2
За статью благодарим : Червоная Ольга

Ошибка «Сертификат безопасности сайта не является доверенным». Как ее исправить?

Доброго дня!

Я думаю, что почти каждый пользователь (особенно в последнее время) сталкивался с ошибкой в браузере о том, что сертификат такого-то сайта не является доверенным, и рекомендацией не посещать его.

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

Суть происходящего, и что это значит?

Дело в том, что когда вы подключаетесь к сайту, на котором установлен протокол SSL, то сервер передает браузеру цифровой документ (сертификат) о том, что сайт является подлинным (а не фейк или клон чего-то там…). Кстати, если с таким сайтом все хорошо, то браузеры их помечают «зеленым» замочком: на скрине ниже показано, как это выглядит в Chrome.

Однако, сертификаты могут выпускать, как всем известные организации (Symantec, Rapidssl, Comodo и др.), так и вообще кто-угодно. Разумеется, если браузер и ваша система «не знает» того, кто выпустил сертификат (или возникает подозрение в его правильности) — то появляется подобная ошибка.

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

Ну а в этой статье я хочу указать на несколько способов устранения подобной ошибки, если она стала появляться даже на белых и известных сайтах (например, на Google, Яндекс, VK и многих других. Их же вы не откажетесь посещать?).

*

Как устранить ошибку

1) Обратите внимание на адрес сайта

Первое, что сделайте — просто обратите внимание на адрес сайта (возможно, что вы по ошибке набрали не тот URL). Также иногда такое происходит по вине сервера, на котором расположен сайт (возможно, вообще, сам сертификат просто устарел, ведь его выдают на определенное время). Попробуйте посетить другие сайты, если с ними все OK — то вероятнее всего, что проблема не в вашей системе, а у того конкретного сайта.

Пример ошибки «Сертификат безопасности сайта не является доверенным»

Однако, отмечу, что если ошибка появляется на очень известном сайте, которому вы (и многие другие пользователи) всецело доверяете — то высока вероятность проблемы в вашей системе…

2) Проверьте дату и время, установленные в Windows

Второй момент — подобная ошибка может выскакивать, если у вас в системе неверно задано время или дата. Для их корректировки и уточнения достаточно щелкнуть мышкой по «времени» в панели задач Windows (в правом нижнем углу экрана). См. скрин ниже.

Настройка даты и времени

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

Также обращаю внимание на то, что, если у вас постоянно сбивается время — вероятно у вас села батарейка на материнской плате. Представляет она из себя небольшую «таблетку», благодаря которой компьютер помнит введенные вами настройки, даже если вы его отключаете от сети (например, те же дата и время как-то высчитываются?).

Батарейка на материнской плате ПК

3) Попробуйте провести обновление корневых сертификатов

Еще один вариант, как можно попробовать решить эту проблему — установить обновление корневых сертификатов. Обновления можно скачать на сайте Microsoft для разных ОС. Для клиентских ОС (т.е. для обычных домашних пользователей) подойдут вот эти обновления: https://support.microsoft.com/

4) Установка «доверенных» сертификатов в систему

Этот способ хоть и рабочий, но хотелось бы предупредить, что он «может» стать источником проблем в безопасности вашей системы. По крайней мере, прибегать к этому советую только для таких крупных сайтов как Google, Яндекс и т.д.

Для избавления от ошибки, связанной с недостоверностью сертификата, должен подойти спец. пакет GeoTrust Primary Certification Authority.

Кстати, на этой страничке расположено еще несколько сертификатов, их также можно до-установить в систему.

Кстати, чтобы скачать GeoTrust Primary Certification Authority:

  1. нажмите правой кнопкой мышки по ссылке download и выберите вариант «сохранить ссылку как…»;

    Сохранить ссылку как…

  2. далее укажите папку на диске, куда будет скачан сертификат. Это будет файл формата PEM.

    Файл с расширением PEM

Теперь необходимо скачанный сертификат установить в систему. Как это делается, по шагам расскажу чуть ниже:

  1. сначала нажимаем сочетание кнопок Win+R, и вводим команду certmgr.msc, жмем OK;
  2. должен открыться центр сертификатов в Windows. Необходимо раскрыть вкладку «Доверенные корневые центры сертификации/сертификаты», щелкнуть по ней правой кнопкой мышки и выбрать «Все задачи — импорт».

    Импорт сертификата

  3. далее запустится мастер импорта сертификатов. Просто жмем «Далее».

    Мастер импорта сертификатов

  4. после нажмите кнопку «Обзор» и укажите ранее загруженный нами сертификат. Нажмите «Далее» (пример показан ниже);

    Указываем сертификат, который загрузили

  5. в следующем шаге укажите, что сертификаты нужно поместить в доверенные центры сертификации и нажмите «Далее».

    Поместить сертификаты в доверенные. Далее

  6. в следующем шаге вы должны увидеть, что импорт успешно завершен. Собственно, можно идти проверять, как будет отображаться сайт в браузере (может потребоваться перезагрузка ПК).

5) Обратите внимание на антивирусные утилиты

В некоторых случаях эта ошибка может возникать из-за того, что какая-нибудь программа (например, антивирус) проверяет https трафик. Это видит браузер, что пришедший сертификат не соответствует адресу, с которого он получен, и в результате появляется предупреждение/ошибка…

Поэтому, если у вас установлен антивирус/брандмауэр, проверьте и на время отключите настройку сканирования https трафика (см. пример настроек AVAST на скрине ниже).

Avast — основные настройки (отключение сканирование https трафика)

*

На этом у меня всё…

За дополнения по теме — отдельное мерси!

Всего доброго!