Veja a resposta de Massimo para o modo Direito de fazê-lo.
Caso contrário, você pode adicionar IPs à SAN do certificado criando um arquivo de configuração com o seguinte (mais quaisquer outras opções desejadas):
[ v3_ca ]
subjectAltName = IP:1.2.3.4
Ou se você tiver vários IPs ...
[ v3_ca ]
subjectAltName = @alt_names
[alt_names]
IP.1 = 1.2.3.4
IP.2 = 2.3.4.5
IP.3 = 3.4.5.6
Em seguida, emita o comando normal do OpenSSL para criar o certificado com as seguintes adições:
-extfile configuration_file_mentioned_above.cnf -extensions v3_ca
Observação: a linha acima geralmente começa com openssl x509 -req
se você estiver com problemas.
O arquivo de configuração mais simples e válido seria algo assim (salvei isso como example.cfg
):
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_ca
[ req_distinguished_name ]
commonName = TypeCommonNameHere
[v3_ca]
subjectAltName = @alt_names
[alt_names]
IP.1 = 203.0.113.1
IP.2 = 192.0.2.1
IP.3 = 198.51.100.1
Em seguida, execute:
openssl req -x509 -nodes -days 3653 -newkey rsa:2048 -keyout example.key -out example.pem -config example.cfg
Ele pedirá o nome comum para o certificado e escreverá example.key e example.pem com as chaves privada e pública (respectivamente). Além disso, você tem que colocar os IPs no arquivo de configuração, mas não pode colocar o nome comum lá (você pode, mas ainda precisa digitá-lo quando o OpenSSL solicitar).
Além disso, este exemplo usa um arquivo de configuração inteiro, em que a resposta original supõe que você já tinha um arquivo de configuração e o aumentava com as informações de SAN de um arquivo de configuração de extensão (provavelmente é mais confuso, mas a razão pela qual não usou os argumentos dados na resposta original)