Пример URL-адреса теста: https://6195.playfabapi.com/swagger. Цепочка сертификатов для этого сайта: Starfield et c -> Starfield et c -> Amazon Root CA 1 -> Amazon -> * .playfabapi.com
Windows Server 2019 под управлением Windows Server 2019 docker контейнер (mcr.microsoft.com/windows/servercore:10.0.17763.973)
Команды PowerShell, выполняемые на docker контейнере:
Get-ChildItem -path Cert:\* -Recurse | where {$_.Subject –like '*Starfield*'}
(no results)
Get-ChildItem -path Cert:\* -Recurse | where {$_.Subject –like '*Amazon*'}
(No results)
Get-ChildItem -path Cert:\* -Recurse | where {$_.Subject –like '*PlayFab*'}
(No results)
Get-ChildItem -path Cert:\* -Recurse | where {$_.Subject –like '*'}
(About a dozen results, that all seem to be Microsoft-issued certificates)
curl --ssl-reqd --tlsv1.2 https://6195.playfabapi.com/swagger
(Successful json blob)
Мой вопрос: Почему команда curl успешна? Все, что я понимаю о Docker, сертификатах и curl, говорит о том, что команда curl должна завершиться ошибкой сертификата (вероятно, не доверяет или что-то в этом роде).
Я нашел похожий, но перевернутый вопрос: Проверка сертификата SSL не выполняется внутри контейнера docker на указанном c сервере . Как мне сделать обратное, сделать контейнер docker изолированным и заставить его проверять только его собственные сертификаты?