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
 |