Obrigado, eu ri. Se você sabe que deseja criar multiplos de certificados, configure uma CA privada.
Mas, se você insiste, a criação de um certificado auto-assinado é apenas uma linha.
openssl req -newkey rsa:4096 -x509 -extensions x509_ca -keyout $HOME/ca.key -out $HOME/ca-$(date +%Y%m%d-%H%M).crt -days 3654
Isso, supondo que você tenha pré-configurado corretamente o arquivo openssl.conf.
Você precisará passar os valores do subjectAltName por meio de variáveis de ambiente, embora eles não possam ser especificados na linha de comando.
Ou seja:
SSLSAN="email:copy,DNS:www.example.org" openssl req …
E no arquivo openssl.conf:
# Global:
SSLSAN = email:copy
…
[req]
subjectAltName = ${ENV::SSLSAN}
…
[ org1_policy ]
subjectAltName = optional