21 lines
		
	
	
		
			590 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			21 lines
		
	
	
		
			590 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | #!/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 |