Я создал самозаверяющий корневой центр сертификации, который, если я установлю его в Windows, Linux или даже с помощью хранилища сертификатов в firefox (windows / linux / macosx), будет отлично работать с моим завершающим прокси.
Я установил его в системную связку ключей и установил для сертификата постоянное доверие.
В сведениях о браузере Chrome указано: «Сертификат, полученный Chrome при этой попытке подключения, имеет неправильный формат, поэтому Chrome не может использовать его для защиты вашей информации. Тип ошибки: неверный сертификат».
Я использовал этот код для создания сертификата:
openssl genrsa -des3 -passout pass:***** -out private/server.key 4096
openssl req -batch -passin pass:***** -new -x509 -nodes -sha1 -days 3600 -key private/server.key -out server.crt -config ../openssl.cnf
Если проблема НЕ в том, что он искажен (потому что он работает везде), то что еще это может быть? Я неправильно его устанавливаю?
Обновить
Я попытался изменить атрибуты сертификата, но безуспешно:
openssl genrsa -des -passout pass:***** -out private/server.key 2048
openssl req -batch -passin pass:***** -new -x509 -nodes -sha256 -days 3600 -key private/server.key -out server.crt -config ../openssl.cnf
В конфигурации openssl по умолчанию используется промежуточный сертификат. basicConstraints=CA:TRUE
однако в моем случае, поскольку я использую промежуточный сертификат в качестве сертификата конечного пользователя, мне нужно сделать его basicConstraints=CA:FALSE
.
В windows / linux / firefox это не имеет значения, но настройки безопасности на Mac требуют этого.