#!/bin/sh set -e # avoid problems with sudo path SYSREPOCFG=`which sysrepocfg` OPENSSL=`which openssl` # check that there is no SSH key with this name yet KEYSTORE_KEY=`$SYSREPOCFG -X -x "/ietf-keystore:keystore/asymmetric-keys/asymmetric-key[name='genkey']/name"` if [ -z "$KEYSTORE_KEY" ]; then # generate a new key PRIVPEM=`$OPENSSL genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -outform PEM 2>/dev/null` # remove header/footer PRIVKEY=`grep -v -- "-----" - </dev/null < genkey rsa2048 $PUBKEY $PRIVKEY " TMPFILE=`mktemp -u` printf -- "$CONFIG" > $TMPFILE # apply it to startup and running $SYSREPOCFG --edit=$TMPFILE -d startup -f xml -m ietf-keystore -v2 $SYSREPOCFG -C startup -m ietf-keystore -v2 # remove the tmp file rm $TMPFILE fi