21 lines
		
	
	
		
			590 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			590 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| set -eu -o pipefail
 | |
| 
 | |
| 
 | |
| # Variables
 | |
| confFile=/tmp/$1.conf
 | |
| domainName=$2
 | |
| outDir=$3
 | |
| 
 | |
| 
 | |
| # Create certificate
 | |
| cp /etc/ssl/openssl.cnf "$confFile"
 | |
| echo "[subjectAltName]" >> "$confFile"
 | |
| echo "subjectAltName = DNS:$domainName, DNS:*.$domainName" >> "$confFile"
 | |
| mkdir -p $outDir
 | |
| openssl req -days 365 -newkey rsa:2048 -nodes -sha256 -x509 \
 | |
|             -config "$confFile" -extensions subjectAltName -subj "/CN=$domainName" \
 | |
|             -out "$outDir/$domainName.crt" -keyout "$outDir/$domainName.key"
 | |
| chmod -R 400 "$outDir"
 | |
| cp "$outDir/$domainName.crt" /usr/local/share/ca-certificates
 |