Generate a self-hosted /dev certificate through configuration.
You can customize the generated certificate by declaring the environment variables of docker.
- Country Name:
CERT_C
- eg:
CERT_C=CN
- eg:
- State Or Province Name:
CERT_ST
- eg:
CERT_ST=BJ
- eg:
- Locality Name:
CERT_L
- eg:
CERT_L=HD
- eg:
- Organization Name:
CERT_O
- eg:
CERT_O=Lab
- eg:
- Organizational Unit Name:
CERT_OU
- eg:
CERT_OU=Dev
- eg:
- Common Name:
CERT_CN
- eg:
CERT_CN=Hello World
- eg:
- Domians:
CERT_DNS
- eg:
CERT_DNS=lab.com;*.lab.com;*.data.lab.com
- eg:
Use Docker
:
docker run --rm -it -e parameter=... -v `pwd`/certs:/ssl soulteary/certs-maker
Or use docker-compose
:
version: '2'
services:
certs-maker:
image: soulteary/certs-maker
environment:
- CERT_DNS=a.com;b.com;c.com;*.d.com;
volumes:
- ./certs:/ssl
Single domain name:
# docker run --rm -it -e CERT_DNS=domain.com -v `pwd`/certs:/ssl soulteary/certs-maker
User Input: { CERT_DNS: 'domain.com' }
Generating a RSA private key
..............................................................+++++
.......+++++
writing new private key to 'ssl/domain.com.key'
-----
# ls certs
domain.com.conf domain.com.crt domain.com.key
Wildcard domain name:
Single domain:
```bash
# docker run --rm -it -e CERT_DNS="*.domain.com" -v `pwd`/certs:/ssl soulteary/certs-maker
# or
# docker run --rm -it -e CERT_DNS=\*.domain.com -v `pwd`/certs:/ssl soulteary/certs-maker
User Input: { CERT_DNS: '*.domain.com' }
Generating a RSA private key
..................+++++
.......................................................+++++
writing new private key to 'ssl/*.domain.com.key'
-----
# ls certs
*.domain.com.conf *.domain.com.crt *.domain.com.key
Multiple domain names:
Single domain:
```bash
# docker run --rm -it -e CERT_DNS="a.com;*.domain.com;a.c.com" -v `pwd`/certs:/ssl soulteary/certs-maker
# or
# docker run --rm -it -e CERT_DNS=a.com\;\*.domain.com\;a.c.com -v `pwd`/certs:/ssl soulteary/certs-maker
User Input: { CERT_DNS: 'a.com;*.domain.com;a.c.com' }
Generating a RSA private key
...+++++
................................................................................................................................................+++++
writing new private key to 'ssl/a.com.key'
-----
# ls certs
a.com.conf a.com.crt a.com.key