импорт самоподписанных сертификатов mysql / mariadb и tomcat как?

попытались использовать сертификаты для защиты соединений между Tomcat 8.x и mysql / mariadb. Я собираюсь использовать самоподписанный сертификат. Далее следует то, о чем я думаю, я должен идти, и благодарю вас за то, что вы вмешались и поправили меня.

Создание серверных сертификатов (БД)

  1. sudo openssl genrsa 4096> ca-key.pem
  2. sudo openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca-cert. pem
  3. sudo openssl req -newkey rsa: 4096 дней 3600 -nodes -keyout server-key.pem -out server-req.pem
  4. sudo openssl rsa -in server-key.pem -out server-key.pem
  5. sudo openssl x509 -req -in server-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

обновить mysql cnf

  • ca-key.pem
  • server-key.pem
  • server-cert.pem

Хорошо, вот где я не знаю, как действовать. Я думаю, мне нужно использовать JAVA keytool.

Куда мне идти?

ta не знаю, как действовать. Я думаю, мне нужно использовать JAVA keytool.

Куда мне идти?

ta не знаю, как действовать. Я думаю, мне нужно использовать JAVA keytool.

Куда мне идти?

ta OSP

0
задан 27 April 2016 в 10:35
1 ответ

Мне нравятся описанные вами шаги. Однако вам не нужно использовать sudo для команд openssl.

После этого вам необходимо импортировать сертификат CA в хранилище доверенных сертификатов java.Он называется "cacerts" и находится в каталоге / security / . Просто импортируйте сертификат с помощью следующей команды:

keytool -import -trustcacerts -keystore /path/to/jre/security/cacerts \
    -file /path/to/ca-cert.pem -alias "some meaningful name"

Пароль по умолчанию для файла хранилища ключей - changeit.

Если он импортирован, вы должны добавить переключатель useSSL = true в URL-адрес JDBC , поэтому это будет выглядеть так:

 jdbc:mysql://server/database?useUnicode=true&useSSL=true

Некоторые моменты, которые следует учитывать:

  • Вам не нужно использовать общесистемное хранилище ключей, но если вы этого не сделаете, вы должны указать местоположение хранилища ключей с помощью -Djavax.net.ssl.trustStore = / keystore / path переключатель или вызовом System.setProperty ("javax.net.ssl.trustStore", "/ keystore / path") перед подключением .
  • Входной файл должен быть в формате PEM (то есть, в кодировке base64 между ----- BEGIN CERTIFICATE ----- и ----- END CERTIFICATE ----- строки).
  • Команда keytool не выполняет поиск сертификата: он должен быть первой записью во входном файле.
0
ответ дан 24 November 2019 в 06:40

Теги

Похожие вопросы