Как создать сертификат root, который работает в браузере Android Chrome? - PullRequest
0 голосов
/ 03 февраля 2020

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

Я понял это и добавил сертификат в хранилище доверенных сертификатов моего Android телефона, но по какой-то причине Chrome на Android все еще говорит "The identity of this website has not been verified. Server's certificate is not trusted."

Я думаю, что проблема может быть в том, что это не root сертификат, Android еще не доверяет? Я гуглил вокруг, и, кажется, кто-то говорит о том, как установка basicConstraints в CA:TRUE может решить эту проблему, но вам также может понадобиться использовать Key Usage?

Я пробовал несколько вариантов предложенного подходы, но, кажется, ничего не работает. Мой вопрос прост: какую конфигурацию мне нужно использовать, чтобы Chrome на Android мог принять мой самозаверяющий сертификат как действительный? Я хочу отладить уведомления pu sh локально в моей среде разработки, и для них требуется HTTPS.

Это моя текущая конфигурация для создания сертификатов, которая позволяет Chrome подключаться (через https://192.168.1.155:8080), но все еще имеет сказать «сертификат сервера не является доверенным». Можно ли изменить его, чтобы исправить эту ошибку?

req.cnf:

[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = US
ST = VA
L = SomeCity
O = MyCompany
OU = MyDivision
CN = localhost
[v3_req]
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = DNS:localhost,IP:192.168.1.155,IP:127.0.0.1

openssl req -newkey rsa:2048 -x509 -nodes -keyout key.pem -new -out cert.pem -config req.cnf -sha256 -days 3650

1 Ответ

0 голосов
/ 05 февраля 2020

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

Есть ли причина, по которой вы не используете Lets Encrypt? Его бесплатный и единственный недостаток на данный момент - это 90-дневный сертификат, который вы можете легко обновить с помощью скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...