Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Для поддержания наших стандартов безопасности и соответствия требованиям мы начинаем изменять корневые сертификаты для гибкого сервера Базы данных Azure для MySQL после 1 сентября 2025 года.
Текущий корневой сертификат DigiCert Global Root CA заменяется двумя новыми корневыми сертификатами:
- DigiCert Global Root G2
- Корневой удостоверяющий центр Microsoft RSA 2017
При использовании TLS с проверкой корневого сертификата необходимо установить все три корневых сертификата во время переходного периода. После изменения всех сертификатов можно удалить старый корневой сертификат SHA-1 DigiCert Global Root CA из хранилища. Если вы не добавите новые сертификаты до 1 сентября 2025 г., ваши подключения к базам данных завершаются ошибкой.
В этой статье приведены инструкции по добавлению двух новых корневых сертификатов и ответов на часто задаваемые вопросы.
Note
Если продолжающееся использование SHA-1 является блокировщиком, и вы хотите изменить сертификаты перед общим развертыванием, следуйте инструкциям в этой статье по созданию сертификата объединенного центра сертификации (ЦС) на клиенте. Затем откройте запрос в службу поддержки, чтобы обновить сертификат для базы данных Azure для MySQL.
Для чего необходимо обновление корневого сертификата?
База данных Azure для MySQL пользователи могут использовать только предопределенный сертификат для подключения к экземплярам сервера MySQL. Эти сертификаты подписаны корневым центром сертификации. Текущий сертификат подписан DigiCert Global Root CA. В нем используется SHA-1. Алгоритм хэширования SHA-1 является значительно небезопасным из-за обнаруженных уязвимостей. Он больше не соответствует нашим стандартам безопасности.
Чтобы устранить проблему, необходимо сменить сертификат на один, подписанный соответствующим корневым центром сертификации.
Обновление корневого хранилища сертификатов на клиенте
Чтобы убедиться, что приложения могут подключаться к Базе данных Azure для MySQL после смены корневого сертификата, обновите корневое хранилище сертификатов на клиенте. Обновите хранилище корневых сертификатов, если вы используете SSL/TLS с проверкой корневого сертификата.
Ниже приведены инструкции по обновлению корневого хранилища сертификатов на клиенте.
Скачайте три корневых сертификата. Если вы установили сертификат Глобального корневого ЦС DigiCert , вы можете пропустить первую загрузку:
Скачайте сертификат корневого центра сертификации Microsoft RSA 2017.
Добавьте скачанные сертификаты в хранилище сертификатов клиента. Процесс зависит от типа клиента.
Обновление клиента Java
Выполните следующие действия, чтобы обновить сертификаты клиента Java для смены корневых сертификатов.
Создание нового доверенного корневого хранилища сертификатов
Для пользователей Java выполните следующие команды, чтобы создать новое доверенное корневое хранилище сертификатов:
keytool -importcert -alias MySqlFlexServerCACert -file digiCertGlobalRootCA.crt.pem -keystore truststore -storepass password -noprompt
keytool -importcert -alias MySqlFlexServerCACert2 -file digiCertGlobalRootG2.crt.pem -keystore truststore -storepass password -noprompt
keytool -importcert -alias MicrosoftRSARootCert2017 -file MicrosoftRSARootCertificateAuthority2017.crt -keystore truststore -storepass password -noprompt
Затем замените исходный файл хранилища ключей только что созданным:
System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file");System.setProperty("javax.net.ssl.trustStorePassword","password");
Обновление существующего доверенного корневого хранилища сертификатов
Для пользователей Java выполните следующие команды, чтобы добавить новые доверенные корневые сертификаты в существующее хранилище доверенных корневых сертификатов:
keytool -importcert -alias MySqlFlexServerCACert2 -file digiCertGlobalRootG2.crt.pem -keystore truststore -storepass password -noprompt
keytool -importcert -alias MicrosoftRSARootCert2017 -file MicrosoftRSARootCertificateAuthority2017.crt -keystore truststore -storepass password -noprompt
При обновлении существующего хранилища ключей вам не нужно изменять и javax.net.ssl.trustStorePassword свойстваjavax.net.ssl.trustStore.
Обновление клиента .NET
Выполните следующие действия, чтобы обновить сертификаты клиента .NET для смены корневых сертификатов.
.NET в Windows
Для пользователей .NET в Windows убедитесь, что в хранилище сертификатов Windows в доверенных корневых центрах сертификации Windows существуют глобальный корневой ЦС DigiCert, DigiCert Global Root G2 и Microsoft RSA Root Certificate Authority 2017. Если какой-либо сертификат не существует, импортируйте его.
.NET в Linux
Для пользователей .NET в Linux, которые используютSSL_CERT_DIR, убедитесь, что DigiCertGlobalRootCA.crt.pemDigiCertGlobalRootG2.crt.pemи Microsoft RSA Root Certificate Authority 2017.crt.pem существуют в каталоге, указанному SSL_CERT_DIRв . Если сертификат не существует, создайте отсутствующий файл сертификата.
Преобразуйте сертификат в Microsoft RSA Root Certificate Authority 2017.crt формат PEM, выполнив следующую команду:
openssl x509 -inform der -in MicrosoftRSARootCertificateAuthority2017.crt -out MicrosoftRSARootCertificateAuthority2017.crt.pem
Другие клиенты
Для других пользователей, использующих другие клиенты, необходимо создать объединенный файл сертификата, содержащий все три корневых сертификата.
Другие клиенты, такие как:
- MySQL Workbench (инструмент для работы с базами данных)
- C или C++
- Go
- Питон
- Руби
- PHP
- Node.js
- Perl
- Свифт
Этапы
- Создайте текстовый файл и сохраните его как
combined-ca-certificates.pem - Скопируйте и вставьте содержимое всех трех файлов сертификатов в один файл в следующем формате:
-----BEGIN CERTIFICATE-----
(Content from DigiCertGlobalRootCA.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Content from DigiCertGlobalRootG2.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Content from MicrosoftRSARootCertificateAuthority2017.crt.pem)
-----END CERTIFICATE-----
Репликация входящих данных MySQL
Для репликации данных, в которой размещаются основные и реплики в Azure, можно объединить файлы сертификатов ЦС в этом формате:
SET @cert = '-----BEGIN CERTIFICATE-----
(Root CA1:DigiCertGlobalRootCA.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Root CA2: DigiCertGlobalRootG2.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Root CA3: .crt.pem)
-----END CERTIFICATE-----'
Вызов mysql.az_replication_change_master следующим образом:
CALL mysql.az_replication_change_master('master.companya.com', 'syncuser', 'P@ssword!', 3306, 'mysql-bin.000002', 120, @cert);
Important
Перезагрузите сервер реплики.