Java отправляет https-запрос на сервер

У меня есть приложение Java, которое отправляет запрос https на мой сервер. Мне пришлось создать хранилище ключей с:

keytool -import -file mycert.cer -alias myalias -keystore keystore.jks

и использовать его как хранилище доверенных сертификатов в моем Java-приложении. Но сертификат на моем сервере действителен в течение одного года. Через год сертификат меняется.

Значит ли это, что я должен создать новое хранилище ключей, когда это произойдет? Или есть более эффективные способы добиться этого?

Получить / купить сертификат сервера в ЦС: Где я могу купить действующий сертификат SSL?

Andreas 24.04.2018 17:52
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
60
2

Ответы 2

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

Сертификат предназначен для установления надежного соединения. Сертификат сообщает вашей программе, что URL-адрес, который она пытается получить, на самом деле является настоящим URL-адресом, а не поддельным.

За безопасность всегда приходится платить. Ежегодная смена сертификата - это незначительные накладные расходы на безопасность, которую он обеспечивает, чтобы избежать атак с подменой DNS.

Чтобы ответить, есть ли лучшие способы сделать это - Да, лучший способ - импортировать сертификат в то же хранилище ключей. Вам не нужно будет менять хранилище ключей.

Вы можете использовать команду ниже, чтобы добиться того же:

keytool -import -file newcert.cer -alias mynewcertificate -keystore keystore.jks

При запросе введите пароль от хранилища ключей.

Спасибо, но я не вижу разницы между командой, которую вы дали, и той, которую использовал я. Вы имели в виду, что я могу просто использовать старое хранилище ключей и просто импортировать новый сертификат вместо того, чтобы удалять предыдущий и создавать новый?

MeesterPatat 24.04.2018 19:50

Верно. Команды, которые вы использовали и которые я дал, одинаковы, то есть для добавления сертификата в хранилище ключей. Обратите внимание, что эти команды импортируют сертификат, а не создают хранилище ключей, как вы упомянули. Вам придется повторить тот же процесс с новым файлом сертификата через год.

Avinash Sagar 24.04.2018 19:53

Нет. Вы можете просто добавить новый сертификат в хранилище ключей. Убедившись, что старый больше не используется, вы можете удалить его из хранилища ключей.

Другие вопросы по теме