Ali Kahoot
Ali Kahoot

Reputation: 3589

Adding SSL certificates to Website to Docker

I have a website that runs on ssl i.e. https, I want to deploy it to Docker Windows Containers with Docker Desktop for Windows. So I wanted to ask how can it be done, I have added the certificates to the container, and when I use

 RUN powershell -NoProfile -Command   certmgr.exe -add MyCert.cer -s -r localMachine trustedpublisher

It gives this error.

certmgr.exe : The term 'certmgr.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

So can you explain how would it be done?

Upvotes: 0

Views: 2734

Answers (1)

Ali Kahoot
Ali Kahoot

Reputation: 3589

certmgr.exe

needs Visual Studio so it cant be run in Containers. Following is a way to do it if it helps anyone. Add this in the docker file when you are creating the image

RUN mkdir C:\cert

#cert folder contains the certificates YourCertificate.cer & Name.pfx
ADD cert/ /cert    

RUN powershell -NoProfile -Command \
    certutil -addstore "Root" "C:/cert/YourCertificate.cer"

RUN powershell -NoProfile -Command \
    certutil -importpfx -p "password" "C:/cert/Name.pfx"

RUN powershell -NoProfile -Command \    
New-WebBinding -Name "YourWebsite" -IP "*" -Port 1234 -Protocol https

RUN powershell -NoProfile -Command \
get-item cert:\LocalMachine\MY\thumbprint-of-your-cert | New-Item 0.0.0.0!1234

1234 is the port which you can bind with your website. It will bind your website to the certificate.

Upvotes: 1

Related Questions