Condividi tramite


Rotazione del certificato radice per Database di Azure per MySQL

Per mantenere gli standard di sicurezza e conformità, è possibile iniziare a modificare i certificati radice per il server flessibile di Database di Azure per MySQL dopo il 1° settembre 2025.

Il certificato radice corrente DigiCert Global Root CA viene sostituito da due nuovi certificati radice:

  • DigiCert Global Root G2
  • Microsoft RSA Root Certificate Authority 2017

Se si usa Transport Layer Security (TLS) con la verifica del certificato radice, è necessario che tutti e tre i certificati radice siano installati durante il periodo di transizione. Dopo aver modificato tutti i certificati, è possibile rimuovere dall'archivio il precedente certificato radice SHA-1 DigiCert Global Root CA. Se non si aggiungono i nuovi certificati prima del 1° settembre 2025, le connessioni ai database hanno esito negativo.

Questo articolo fornisce istruzioni su come aggiungere i due nuovi certificati radice e le risposte alle domande frequenti.

Note

Se l'uso continuo di SHA-1 è un blocco e si vuole modificare i certificati prima dell'implementazione generale, seguire le istruzioni in questo articolo per la creazione di un certificato combinato dell'autorità di certificazione (CA) nel client. Quindi aprire una richiesta di supporto per aggiornare il certificato del Database di Azure per MySQL.

Perché è necessario un aggiornamento del certificato radice?

Gli utenti di Database di Azure per MySQL possono usare solo il certificato predefinito per connettersi alle istanze del server MySQL. Questi certificati sono firmati da un'autorità di certificazione principale. Il certificato corrente è firmato dalla DigiCert Global Root CA. Usa SHA-1. L'algoritmo hash SHA-1 è notevolmente non sicuro, a causa di vulnerabilità individuate. Non è più conforme agli standard di sicurezza.

È necessario ruotare il certificato su un certificato firmato da un'autorità di certificazione radice conforme per risolvere il problema.

Come aggiornare l'archivio dei certificati radice sul tuo client

Per assicurarsi che le applicazioni possano connettersi a Database di Azure per MySQL dopo la rotazione del certificato radice, aggiornare l'archivio certificati radice nel client. Aggiornare l'archivio certificati radice se si usa SSL/TLS con la verifica del certificato radice.

La procedura seguente illustra il processo di aggiornamento dell'archivio certificati radice nel client:

  1. Scaricare i tre certificati radice. Se è stato installato il certificato ca globale DigiCert , è possibile ignorare il primo download:

  2. Scaricare il certificato della CA globale DigiCert.

  3. Scaricare il certificato DigiCert Global Root G2.

  4. Scaricare il certificato Microsoft RSA Root Certificate Authority 2017.

  5. Aggiungere i certificati scaricati all'archivio certificati client. Il processo varia a seconda del tipo di client.

Aggiornare il client Java

Seguire questa procedura per aggiornare i certificati client Java per la rotazione del certificato radice.

Creare un nuovo archivio certificati radice attendibile

Per gli utenti Java, eseguire questi comandi per creare un nuovo archivio certificati radice attendibile:

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

Sostituire quindi il file dell'archivio chiavi originale con quello appena generato:

  • System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file");
  • System.setProperty("javax.net.ssl.trustStorePassword","password");

Aggiornare un archivio certificati radice attendibile esistente

Per gli utenti Java, eseguire questi comandi per aggiungere i nuovi certificati radice attendibili a un archivio certificati radice esistenteattendibile:

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

Se si aggiorna un archivio chiavi esistente, non è necessario modificare le javax.net.ssl.trustStore proprietà e javax.net.ssl.trustStorePassword .

Aggiornare il client .NET

Seguire questa procedura per aggiornare i certificati client .NET per la rotazione del certificato radice.

.NET in Windows

Per gli utenti .NET in Windows, assicurarsi che la CA radice globale DigiCert, DigiCert Global Root G2 e Microsoft RSA Root Certificate Authority 2017 esista nell'archivio certificati windows in Autorità di certificazione radice attendibili. Se non esiste alcun certificato, importarlo.

Schermata dei certificati .NET del Database di Azure per MySQL.

.NET in Linux

Per gli utenti .NET in Linux che usano SSL_CERT_DIR, assicurarsi che DigiCertGlobalRootCA.crt.pem, DigiCertGlobalRootG2.crt.peme Microsoft RSA Root Certificate Authority 2017.crt.pem esistano nella directory indicata da SSL_CERT_DIR. Se non esiste alcun certificato, creare il file di certificato mancante.

Convertire il Microsoft RSA Root Certificate Authority 2017.crt certificato in formato PEM eseguendo il comando seguente:

openssl x509 -inform der -in MicrosoftRSARootCertificateAuthority2017.crt -out MicrosoftRSARootCertificateAuthority2017.crt.pem

Altri clienti

Per altri utenti che usano altri client, è necessario creare un file di certificato combinato contenente tutti e tre i certificati radice.

Altri client, ad esempio:

  • MySQL Workbench
  • C o C++
  • Vai
  • Pitone
  • rubino
  • PHP
  • Node.js
  • Perl
  • Swift

Fasi

  1. Creare un nuovo file di testo e salvarlo come combined-ca-certificates.pem
  2. Copiare e incollare il contenuto di tutti e tre i file di certificato in questo singolo file nel formato seguente:
-----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-----

Replica dei dati in ingresso MySQL

Per la replica dei dati in cui sia la replica primaria che la replica sono ospitate in Azure, è possibile unire i file di certificato della CA in questo formato:

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

Chiamare mysql.az_replication_change_master come segue:

CALL mysql.az_replication_change_master('master.companya.com', 'syncuser', 'P@ssword!', 3306, 'mysql-bin.000002', 120, @cert);

Important

Riavviare il server di replica.