Author: Paolo Lulli <paolo@lulli.net>
added export feature
iron/libexec/iron/iron-client | 23 ++++++++++++++++++++---
diff --git a/iron/libexec/iron/iron-client b/iron/libexec/iron/iron-client index cca06eae9987034556e9ff056353c3396b05bf4c..b6eb66142ebd825acdd7f752f0dce902ef11bd8d 100755 --- a/iron/libexec/iron/iron-client +++ b/iron/libexec/iron/iron-client @@ -36,6 +36,22 @@ exit -1 fi } +function client_export_bundle() +{ + DOMAIN=$1 + client=$2 + CAPATH=$RCDIR/CA + CLIENT_CERTPATH=$RCDIR/${DOMAIN}/certs + target_dir="cert-$client" + mkdir -p $target_dir/CA + mkdir -p $target_dir/$domain + mkdir -p $target_dir/$domain/certs/$client + cp $CAPATH/ca.crt $target_dir/CA + cp $CLIENT_CERTPATH/$client/$client.crt $target_dir/$domain/certs/$client + openssl rsa -aes256 -in $CLIENT_CERTPATH/$client/$client.key --out $target_dir/$domain/certs/$client/$client.key + tar cvfz $target_dir.tar.gz $target_dir && rm -fr $target_dir +} + function client_home_setup_write() { @@ -91,15 +107,16 @@ client_create_csr $service $client fi if [ "$operation" = "setup" ]; then test -f ${RCFILE} || ( client_home_setup_write $service $client; echo "Edit values in ${RCFILE}"; exit 0) - #source ${RCFILE} - #client_home_setup_write $service $client + fi + if [ "$operation" = "export" ]; then + client_export_bundle $service $client fi if [ "$operation" = "delete" ]; then source ${RCFILE} #client_home_setup_delete $service $client fi else - echo "Usage: iron client <setup|csr|delete> <service> <client-id>" + echo "Usage: iron client <setup|csr|delete|export> <service> <client-id>" exit -1 fi