How to install Windows SSL certificates into your Docker Linux container

When using web applications inside a Docker Container you might come across SSL certificates that have to be installed on the running Container. Things get a little bit more complicated when you want to install Windows certificates into a Linux Image. Following you can see the steps to achieve this task.

Convert the Windows certificate into its Linux equivalent

Windows support the DER encoded certificates (.cer file ending) and you want to convert this certificate into a base-64 encoded one (.crt file ending), so that it can be read from Linux.

The tool I use for this operation is called openSSL for Windows. Install it on your Windows machine, make sure openSSL is added on the PATH of your Windows, navigate to the folder where the certificate can be found and run the following command in your command prompt:

openssl x509 -inform DER -in certificate.cer -out certificate.crt

Install the new certificate in your Container via Dockerfile

COPY certificate.crt /usr/local/share/ca-certificates/certificate.crt
RUN chmod 644 /usr/local/share/ca-certificates/certificate.crt
RUN update-ca-certificates

Pay special attention in the path we copy the certificate to (/usr/local/share/ca-certificates/). We also have to change the access rights of the file and lastly we install the certificate.

comments powered by Disqus