Nos openssl x509
documentos, ao usar openssl x509 -req
:
-extfile filename
file containing certificate extensions to use. If not specified then no extensions are added to the certificate.
-extensions section
the section to add certificate extensions from. If this option is not specified then the extensions should either be contained in the unnamed (default) section or the default section should contain a variable called "extensions" which contains the section to use. See the x509v3_config manual page for details of the extension section format.
Como o comando openssl x509 -req
não está usando as opções -extfile
ou -extensions
, e , seu openssl.cnf
tem uma seção padrão / sem nome que não tem uma variável "extensions" então seu certificado autoassinado gerado não terá as extensões.
Por isso, você pode tentar:
$ openssl x509 -req -in test.csr -signkey test.key -out test.pem -extensions v3_ca
Observação de que você deseja fazer o acima após ter editado seu openssl.cnf
para que a seção v3_ca
seja semelhante:
[ v3_ca ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = CA:TRUE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
isto é, que você adicionou a variável subjectAltName
a essa seção, assim como você tem na seção v3_req
. Sem isso, seu certificado autoassinado teria extensões, mas não as SANs que você deseja. (Eu também copiei as keyUsage
extensões de v3_req
, supondo que você queira aquelas em seu certificado emitido também.) Você pode ser tentado a reutilizar v3_req
seção, em vez de atualizar v3_ca
- mas você não quer fazer isso. Por quê? Porque v3_req
diz que o certificado é não uma CA:
[ v3_req ]
basicConstraints = CA:FALSE
...
E como você está gerando um certificado autoassinado, isso provavelmente não é o que você deseja.
Espero que isso ajude!