Назад | Перейти на главную страницу

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

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

Создание сертификатов Backend (DB)

  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 -days 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

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

Куда мне идти дальше?

ta OSP

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

После этого вам необходимо импортировать сертификат CA в хранилище доверенных сертификатов Java. Он называется "кацерц" и обитает в <path_to_jre>/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 Команда не ищет сертификат: это должна быть первая запись во входном файле.