Я тестирую службу REST на виртуальной машине Windows, предоставляемой владельцем службы. У меня есть доступ уровня администратора к виртуальной машине через RDP.
Настройка теста заключается в изменении файла hosts на компьютере, на котором выполняется тест, чтобы указать service.location.net на IP-адрес виртуальной машины, а затем выполнить POST для https://service.location.net/endpoint
Моя проблема в том, что https-соединение отклоняется, поскольку отправляющая машина не может установить действительное https-соединение.
Я могу подделать это в моем коде проверки концепции, переопределив это из кода, но это не поможет перейти на следующий уровень проверки / интеграции.
Как мне найти или сгенерировать сертификат на виртуальной машине Windows и как мне затем импортировать / установить его на тестовом компьютере, который отправит на виртуальную машину POST?
Вы можете создать сертификат на виртуальной машине с помощью Powershell:
Эта первая команда создаст самоподписанный сертификат, который будет храниться в личном хранилище аппарата.
$cert = New-SelfSignedCertificate -DnsName "service.location.net" -CertStoreLocation "cert:\LocalMachine\My"
Затем эта команда экспортирует сертификат в c: \ temp (защищенный паролем)
Export-PfxCertificate $cert -Password (ConvertTo-SecureString -String "PASSWORD" -AsPlainText -Force) -FilePath c:\temp\cert.pfx
Наконец, вам нужно импортировать этот сертификат на тестовую машину, например, с помощью этой команды:
Import-PfxCertificate -FilePath "C:\temp\ExportedCert.pfx" -CertStoreLocation cert:\LocalMachine\root -Password (ConvertTo-SecureString -String "PASSWORD" -AsPlainText -Force)
https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-certificates-point-to-site
Следуйте этому сообщению службы поддержки Microsoft, чтобы узнать, как создать самозаверяющий корневой сертификат и сгенерировать клиентские сертификаты с помощью PowerShell в Windows 10 или Windows Server 2016.