У меня проблема с генерацией пары ключей с альтернативным именем субъекта с помощью keytool
утилиты Java из Java 1.7. Я пытаюсь следовать инструкциям, найденным здесь .
Ниже приведен пример команды, которую я использую (этот пример был протестирован):
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
Затем я генерирую CSR с помощью следующей команды:
keytool -keystore c:\temp\keystore.jks -storepass changeme -alias spam -certreq -file c:\temp\spam.csr
Который генерирует следующий запрос сертификата:
-----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-----
Когда я проверяю CSR с помощью CSR Decoder в SSL Shopper , он не показывает, что он включает в себя указанную SAN. Этот сертификат предназначен для внутреннего использования в нашей среде, и SAN требуется, поскольку пользователи могут получать доступ к сайту с использованием полного доменного имени, только имени сервера или IP-адреса.
Я продолжаю устранять неполадки, но у меня нет такого опыта с сертификатами, поэтому я в растерянности, и большинство других людей в нашей среде не используют keytool
для создания своих сертификатов.
Мысли? Альтернативы? Я, конечно, готов использовать другой метод для генерации ключа и CSR, если в какой-то момент я могу импортировать его в хранилище ключей Java.
источник
Ответы:
Вам также необходимо передать
-ext
флаг второй команде:Тогда сертификат содержит альтернативное имя:
источник
keytool
документы, кажется, не говорят (по крайней мере мне), что это требуется. Но, по крайней мере, это ответ, с которым я могу жить, и я знаю, что я не схожу с ума. Благодарю.