#!/bin/bash DIR="/etc/pki/libvirt-spice" SERVER_KEY=server-key.pem while [[ $# -gt 0 ]]; do case $1 in -c|--clean) CLEAN=1 shift # past argument ;; -h|--help) HELP=1 shift esac done if [ "$HELP" ]; then echo "$0 [--help] [--clean] [ip.address]" exit 0 fi if [ "$CLEAN" ]; then rm -f "$SERVER_KEY" rm -f ca-key.pem ca-cert.pem server-key.csr server-key.pem server-key.pem.secure server-cert.pem fi SERVER_IP="$1" if [ -z "$SERVER_IP" ]; then for i in `hostname -I`; do if [[ "$i" =~ [0-9]+\. ]];then if ! [[ "$i" =~ 192.168.12 ]]; then found_ip=$i break fi fi done read -p "IP address [$found_ip]: " SERVER_IP SERVER_IP=${SERVER_IP:-$found_ip} if [ -z "$SERVER_IP" ]; then echo "Error, server ip required." echo " Usage: $0 ip" exit -1 fi fi server_name_default=`hostname` read -p "Server name [$server_name_default]: " server_name server_name=${server_name:-$server_name_default} cat >v3.ext < subject.txt fi # now create a key that doesn't require a passphrase openssl rsa -in $SERVER_KEY -out $SERVER_KEY.insecure mv $SERVER_KEY $SERVER_KEY.secure mv $SERVER_KEY.insecure $SERVER_KEY # copy *.pem file to /etc/pki/libvirt-spice if [ ! -d "$DIR" ] then mkdir -p $DIR fi cp ./*.pem $DIR || exit chown :kvm $DIR/*pem || exit chmod g+rx $DIR/*pem || exit # echo --host-subject echo "your --host-subject is" \" `openssl x509 -noout -text -in server-cert.pem | grep Subject: | cut -f 10- -d " "` \" echo "Certificate installed in $DIR"