Skip to content
This repository was archived by the owner on Jun 7, 2024. It is now read-only.

SSL and TLS 1.0

treestryder edited this page Dec 27, 2019 · 3 revisions

Workday no longer supports SSL and TLS 1.0. As this WorkdayAPI module uses the Powershell Invoke-RestMethod, which uses the .Net WebRequest object, it is bound by .Net's default behavior.

To force .Net to use the newer cryptography protocols at the system level, ensure you have the latest .Net update and set the following registry values.

### Set strong cryptography on 32 bit .Net Framework (version 4 and above)
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord


### Set strong cryptography on 64 bit .Net Framework (version 4 and above)
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

As an alternative, the Powershell session can be temporarily set to use TLS 1.2 by running the following line in a wrapper script. This will not be added to the WorkdayAPI module, as it would override the system's settings, possibly downgrading connections.

[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12

To set the session back to using the system default security protocol.

[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::SystemDefault
Clone this wiki locally