Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Could not create SSL/TLD secure channel in Docker build

I have a Docker build script that functions just fine on a local machine but fails on my build server with the error "Could not create SSL/TLS secure channel." This happens when trying to retrieve an archive from a resource using TLS 1.2.

The download works just fine from the command line on the local machine; the trouble is in the Docker Windows image.

Here's what I've added to my Dockerfile in an attempt to get around this:

  • RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;
  • RUN "Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord;"

No matter what I do, when I run RUN [Net.ServicePointManager]::SecurityProtocol; in my Dockerfile I'm told that the only available protocols are Ssl3 and Tls, not Tls12.

Thanks for any advice.

like image 878
christok Avatar asked Oct 23 '25 04:10

christok


1 Answers

A bit late, but the RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; is lost when the RUN command is finished. You need to include that in the same RUN for example:

RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; `
Invoke-WebRequest "https://dist.nuget.org/win-x86-commandline/v$env:NUGET_VERSION/nuget.exe" -UseBasicParsing -OutFile "$env:ProgramFiles\NuGet\nuget.exe"
like image 140
Emil Helldin Avatar answered Oct 25 '25 20:10

Emil Helldin