Invoke-RestMethod – Could not establish trust relationship for the SSL/TLS secure channel

Just sharing another TIP from our real-world experience that we have gathered from one of the automation where we are using REST API to perform some operations.

On connecting the rest API using Invoke-Restmethod PowerShell we were getting error:

 

The underlying connection was closed – Could not establish trust relationship for the SSL/TLS secure channel

 

This is occurring because site itself has certificate issues and is hosted out of internal CA, rather than third-party CA.

To resolve this issue with PowerShell there are two solutions that we have found, we are using the later one but both of them works.

 

      1. ADD the following line to your code before the Invoke-RestMethod.

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}


      2. Another option is to utilize newer version of PowerShell i.e. pwsh

With newer version of PowerShell i.e., PowerShell core pwsh there is a parameter -SkipCertificateCheck has been added to Invoke-Restmethod

This can be utilized in these situations.

Our version is: PowerShell 7.2.6

Here is the example command:


Invoke-RestMethod -SkipCertificateCheck 'https://10.10.10.10:8443/oauth/token' -Method 'POST' -Headers $headers -Body $body


If you are also facing this same issue, above TIP will save you lot of your time.

 

 

Thanks for reading ….

Tech Wizard

 

https://techwizard.cloud

https://syscloudpro.com/

PowerShell Fast Track

 

Leave a comment