我有一些代码用于连接到我们拥有的 Web 服务器。服务器具有自签名证书。我目前正在与信任任何证书连接
[System.Net.ServicePointManager]::ServerCertificateValidationCallback {$true}.
如何更改此设置,以便我可以使用自定义代码或针对本地商店中的证书测试远程服务器?例如,我可以将上面的代码更改为
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$customValidator}
我想要做的是,而不是信任任何/所有证书,我只想信任它与我拥有的公钥 cer 文件匹配,或者我想使用自定义代码测试证书。我不太清楚的是如何处理自定义验证以及代码中的什么位置。我需要编写一个完整的类来处理自定义 SSL 验证还是有更好的方法来做到这一点?
$url = "https://myWebServer"
$web = New-Object Net.WebClient
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
//[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { customSslCertValidation } #I would like to do something like this
$output = $web.DownloadString($url)
Write-Host $output