0

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?

1 Answer 1

1

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.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.