Как не пойти в жопу с сертификатами SSL
Всем салют.
Я столкнулся с проблемой в виде необходимости сертификата SSL на Windows для… да для всего.
Запустить новый проект на реакт, ангуляр, .NET (вот буквально минуту назад созданный)? Ок, но при попытке на него зайти, выдаёт ERR_SSL_PROTOCOL_ERROR.
Перепробовал ставить локальный сертификат при помощи powershell скрипта, и mkcert. Всё кладётся, сертификат виден в руте у винды. Ошибку выдаёт один хрен.
Уже и в докер вместе с сертификатом засовывал - не помогает.
На любом другом компе, в том числе и виндоус, всё работает ок, только не на корпоративном (именно с ним и траблы).
ПыСы: надменность линуксоидов меня отпугнула от линукса на много лет. Теперь сам смотрю на винду и как-то зубы скрипят. Впрочем, не оправдание для понтов, просто никогда ещё не хотелось так расхреначить комп.
Edit: так бомбит, что про вопрос забыл. Кто сталкивался с таким, поделитесь пожалуйста опытом
на корпоративном иди к админам, там может быть политиками безопасности заблокировано
"Корпоративный" сервер использует "политики" с сервера "ещё более корпоративного"?
"На любом другом компе, в том числе и виндоус" - эти компы не подчиняются политике "корпоративного" сервера?
Столько вопросов, и так мало ответов :)
Компы вне корпоративной сети - работает.
Компы в сети - Error SSL что мы обсуждаем (пробовал на 3х, все windows 11, с одинаковым результатом).
Без логов сервера и клиента сложно угадывать. Может действительно рептилоиды (главный админ) сертификаты подменяют, а может банально dns не корректно сконфигурирован.
The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
and APPID
{YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY}
to the user $PIDOR$ SID (S-1-2-34-5678900012-1234567890-1234567890-123456) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.
охуенные у вас там специалисты
это и есть их тема. уж точно эта тема им должна быть ближе, чем рандомным пидорам на реакторе
А ты в dev-сервер его прокидывал? Он из env его берёт, насколько помню.
Чот тип
HTTPS=true SSL_CRT_FILE=./.cert/cert.pem SSL_KEY_FILE=./.cert/key.pem yarn start
Вместо yarn start - команда, которая dev-сервер запускает
Винда 11 с фаерволом и скрытыми прикрутками, о которых я познаю в дороге (к примеру, команда Set-ExecutioPolicy через powershell делает работу, но перебивается «более конкретной политикой», и о таком я уже не знаю)
В первую очередь, я бы посмотрел на права доступа к сертификату (хранилищу ключей) для учётных записей, от которых запускаются твои сервисы. Во вторую очередь - нужны логи.
Если подмен сертификатов - это не миф, то он 100% есть в компании (которая занимается медицинскими данными и должна соответствовать стандартам вроде ISO 27001 и проверяется агентствами вроде FDA в Америке).
Сперва, выцарапаю админа по этому поводу
а зачем тебе вообще ssl локально?
каспер может мешать, свои сертификаты подсовывать, яндекс браузер тоже к сертификатам привередливый, настройки тлсы ссли в свойствах ИЕксплорера проверить ...
если это внутри компании то вероятно там подменяется сертификат на шлюзе для расшифровки трафика? Это прямая дорога к админам, да и вобще с этого стоило начинать
Про этот прикол не знал. Тогда да, звучит как ситуация только с одним выходом
Или это вне корпоративной сети?
Просто в порядке бреда, самое простое - не идет ли автоматическая переадресация с http на https? Вроде у меня было такое пару лет назад, что хром начал автоматически заходить по
https://localhost:3000 а надо http://localhost:3000
Какие личные данные на локальном сервере... У вас на дев сервере бэк вместо моков реальные данные что ли гоняет... Ну странно это. А переадресация на https решается через chrome://flags, я бы в эту сторону гуглил, если все-таки нужно будет на http попасть
Как я понял проблему - запуск локального сервера для разработки (реакт, ангуляр...) и переход на локалхост. В большинстве случаев там не нужен никакой сертификат и все прекрасно работает по http, но условия могут отличаться. Если на локалхосте строго нужен https, то мне тоже будет интересно решение проблемы, на всякий случай, вдруг пригодится когда...
С другой стороны, зачем ставить сертификат, если достаточен доступ по http.
К слову, нам на корпоративных компах на локалхосте никакие сертификаты и https не нужны
проверь в разных браузерах. и второе: ты в которое хранилище сертификат клал? для надежности можно напихать вообще во все
"для надежности можно напихать вообще во все" - как вариант (мне тоже кажется что проблема с правами доступа).
на этой же машине в разных браузерах. с ними тоже всякие приколы случаются
Trusted Root Certification Authorities
по идее туда и надо...
The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
and APPID
{YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY}
to the user $PIDOR$ SID (S-1-2-34-5678900012-1234567890-1234567890-123456) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.
Возможно действительно в политике что то такое прописано, а может и ещё что (я в системе управления правами в Windows вообще не разбираюсь).
Глянул конфиги, сразу выдает, что мой AppID не записан под HKEY_CLASSES_ROOT и предлагает записать. Я бы попробовал на своём (админка то есть), но делать то, что не знаешь на корпоративном - плохая идея.
За наводку - спасибо. Я и не подозревал, что есть такое в винде. А за «легко гуглится» - будь добр пойти нахуй, ибо токсичное. Одно дело сказать такое заебавшему новичку, который сам искать не хочет. Другое дело, что я над этой сисадминской темой корячусь уже три недели, гугля всё и вся, ибо на старте понятия не имел, как на практике настраиваются сертификаты (жрёт фокус и время, и отсутствие восприятия прогресса не помогает). Не говоря уже то, что я фуллстек разраб, а не сисадмин / платформ инженер, хоть и на предыдущем месте хуярил много терраформ с ямлами для поднятия сервисов.
Ну, нахуй слать тоже дело такое. Назвался фулстаком, будь добр со стаком со своим разберись. Https как бы не вчера стандартом стал. Сложно ну сложно, чито поделать. Зато после этого глубже понимание происходящего будет.
виндовый curl что пишет? C:\Windows\System32\curl.exe -v https://hostname
The request was aborted: Could not create SSL/TLS secure channel.
С http нормально, получает данные с кодом 200
Я думаю, что в этом разделе что-то важное было убрано:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL . Сравни содержимое с теми машинами, откуда работает.
> корп прокси перепаковывает все сертификаты
Это, или у меня разрешений на моего пользователя нет, как описано ещё чуть выше. Исправить можно, админка есть и человек выше показал как. Но лезть сам не буду, ибо эту матчасть я не вкурил и могу что-то поломать. Потом как решу отпишусь пошагово что и как было