Java keytool простой способ добавить сертификат сервера из URL / порта (для Windows) - PullRequest
0 голосов
/ 19 ноября 2018

Я хочу импортировать сертификат CA в хранилище ключей Java.Я нашел этот ответ с некоторыми командами Unix.

Я понимаю, что keytool работает в Windows так же, как в Linux, не так ли?

Но чтоо openssl?

Я установил openssl в Windows, затем запустил его, и он работает нормально.Но как я могу заменить код ниже?

</dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ${HOST}.cert

Или я могу заменить openssl чем-то другим?

1 Ответ

0 голосов
/ 20 ноября 2018

Вероятно, самый простой способ - использовать KeyStore Explorer . Просто используйте функцию «Проверка SSL» и затем нажмите «Импорт»:

enter image description here

В качестве альтернативы вы можете заменить </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ${HOST}.cert ручными шагами. Если вы выполните

openssl s_client -connect -connect www.google.com:443

будет выводиться что-то вроде этого:

depth=2 OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = US, O = Google Trust Services, CN = Google Internet Authority G3
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google LLC, CN = www.google.com
verify return:1
---
Certificate chain
 0 s:/C=US/ST=California/L=Mountain View/O=Google LLC/CN=www.google.com
   i:/C=US/O=Google Trust Services/CN=Google Internet Authority G3
 1 s:/C=US/O=Google Trust Services/CN=Google Internet Authority G3
   i:/OU=GlobalSign Root CA - R2/O=GlobalSign/CN=GlobalSign
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIEgjCCA2qgAwIBAgIIZ20sUt50wGgwDQYJKoZIhvcNAQELBQAwVDELMAkGA1UE
BhMCVVMxHjAcBgNVBAoTFUdvb2dsZSBUcnVzdCBTZXJ2aWNlczElMCMGA1UEAxMc
...
htkxJVFaLUXScpkNQagWzehkj9BGdV4oztKMgTU8hcZEsiDKF0aZmaMfAXAF6u0r
0n9sKu3Ap0uSR0+G4PVDcJkJzw2UiUsu8IkkHy3HjKt4zCCrATjZ4FPgtFHSWv8d
ZmUdWJhgJ30s/EvOKn1uQ6QlPWaCJKc9W6JaJQTX6PjPDMs0sK90ss9vCIJ0dDw5
ud+EC4cT
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Mountain View/O=Google LLC/CN=www.google.com
issuer=/C=US/O=Google Trust Services/CN=Google Internet Authority G3
---
No client certificate CA names sent

Отметьте строки, начинающиеся с -----BEGIN CERTIFICATE----- до -----END CERTIFICATE-----, и скопируйте их в текстовый редактор. Сохраните его как [host] .crt. Затем выполните команду keytool.

Если вы хотите автоматизировать эти шаги в сценарии, вам нужно будет установить Cygwin или одно из предложений в этот ответ здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...