Estou tendo um problema ao gerar um par de chaves com o nome alternativo do assunto usando o keytool
utilitário Java do Java 1.7. Estou tentando seguir as instruções encontradas aqui .
Um exemplo do comando que estou usando a seguir (este exemplo foi testado):
keytool -keystore c:\temp\keystore.jks -storepass changeme -keypass changeme -alias spam -genkeypair -keysize 2048 -keyalg RSA -dname "CN=spam.example.com, OU=Spam NA, O=Spam Inc, L=Anywhere, S=State, C=US" -ext san=dns:spam,ip:192.168.0.1
Em seguida, giro o CSR usando o seguinte comando:
keytool -keystore c:\temp\keystore.jks -storepass changeme -alias spam -certreq -file c:\temp\spam.csr
O que gera a seguinte solicitação de certificado:
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIC5TCCAc0CAQAwcDELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVN0YXRlMREwDwYDVQQHEwhBbnl3
aGVyZTERMA8GA1UEChMIU3BhbSBJbmMxEDAOBgNVBAsTB1NwYW0gTkExGTAXBgNVBAMTEHNwYW0u
ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCExCFepag4KH+j8xgR
BjI58hOEiFuSrkgbL5/1steru3+FwDb98R8XO90kKreq/Qt7s/oHbTpFOwotdkGVxA2x44/R5OYr
Qdfk3v32ypJTxms/8tu0Zi9wbH2ruA/h5AhtZ9TV/xLPFSe5eFvN0pUl90p+9zfd0ZCmPQ69k3Lb
JWlw7eIs7sD1yRqlYZL+HJWrsdtYTHjpqEURcZ5jN0H2YeM/eBWZr7eMKrT4xGRwotFj9AfHCiUj
HH4XTJgkrbBtw96pkPYMj/C7TfUE/slCxafEBIkVKlkHLBb9ra3PVfW/QoDGsf2FjtNKOKFxyy7p
A3A5ufdvrCVZ5EKWGrbbAgMBAAGgMDAuBgkqhkiG9w0BCQ4xITAfMB0GA1UdDgQWBBS1GytnaPx2
SAZCyto2BKh7Yw7bgTANBgkqhkiG9w0BAQsFAAOCAQEAIiwY6RIIJkgUQsdK2XiLJDhBnoxfsKjQ
zkWdZjETNxdD9LSng4AZroKjl05NRdjVkew5QM/gNt8s4jcI8OE0EOaZz6ZmlHK39bPtifJ9xlhy
0Q2Q5VAZ6mUB3BU4QF17MLmtEuI+FsG+S7ZKTK+j1Mcn8E+XvS5EbA0NJJkiIhfikr7nUEgB+qUU
CW0vM53FhVPO/piphNUuE60lMlomnDnCHW9xevAolb3rVCvqTdZ2q3G6BNFG07YEL/jaKKIctrnN
W6W4aGb6ppdXXExkx6EIj7hleoSxZHDVjxiIb3U16WFObtwCpTe9ygHcZtZswRkTzwJZLHipCkcQ
GY3lwA==
-----END NEW CERTIFICATE REQUEST-----
Quando examino o CSR usando o decodificador de CSR no SSL Shopper , ele não mostra que inclui a SAN especificada. Este certificado é para uso interno em nosso ambiente e a SAN é necessária porque os usuários podem estar acessando o site usando FQDN, apenas o nome do servidor ou o endereço IP.
Eu estou continuando a solução de problemas, mas eu não tenho que experimentou com certs, então eu estou em uma perda, ea maioria das outras pessoas em nosso ambiente não está usando keytool
para gerar seus certificados.
Pensamentos? Alternativas? Certamente, estou disposto a usar um método diferente para gerar a chave e o CSR, desde que eu possa importá-lo para um keystore Java em algum momento.
fonte
Respostas:
Você também precisa passar a
-ext
flag para o segundo comando:Em seguida, o certificado contém o nome alternativo:
fonte
keytool
documentos não parecem dizer (pelo menos para mim) que é necessário. Mas pelo menos é uma resposta com a qual posso viver e sei que não estou totalmente enlouquecendo. Obrigado.