#!/bin/bash

selfsigned=false

while getopts s opt; do
  case $opt in
    s)
      selfsigned=true
      ;;
  esac
done

shift $((OPTIND - 1))

domain=$1

openssl genrsa -out ${domain}.key 2048
openssl req -new -sha256 -key ${domain}.key -out ${domain}.csr

if $selfsigned; then
  openssl x509 -req -days 365 -in ${domain}.csr -signkey ${domain}.key -out ${domain}.crt
fi