Delen via


Basiscertificaatrotatie voor Azure Database for MySQL

Om onze beveiligings- en nalevingsstandaarden te handhaven, beginnen we de basiscertificaten voor Azure Database for MySQL Flexible Server na 1 september 2025 te wijzigen.

Het huidige basiscertificaat DigiCert Global Root CA wordt vervangen door twee nieuwe basiscertificaten:

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

Als u Tls (Transport Layer Security) gebruikt met basiscertificaatverificatie, moet u alle drie de basiscertificaten hebben geïnstalleerd tijdens de overgangsperiode. Zodra alle certificaten zijn gewijzigd, kunt u het oude SHA-1-basiscertificaat DigiCert Global Root CA uit het archief verwijderen. Als u de nieuwe certificaten vóór 1 september 2025 niet toevoegt, mislukken uw verbindingen met de databases.

Dit artikel bevat instructies voor het toevoegen van de twee nieuwe basiscertificaten en antwoorden op veelgestelde vragen.

Note

Als het continue gebruik van SHA-1 een obstakel is en u uw certificaten wilt laten wijzigen vóór de algemene implementatie, volgt u de instructies in dit artikel voor het maken van een gecombineerd CA-certificaat (certificate authority) op de client. Open vervolgens een ondersteuningsaanvraag om uw certificaat voor Azure Database for MySQL te roteren.

Waarom is een update van het basiscertificaat vereist?

Azure Database for MySQL-gebruikers kunnen alleen het vooraf gedefinieerde certificaat gebruiken om verbinding te maken met hun MySQL-serverexemplaren. Deze certificaten worden ondertekend door een basiscertificeringsinstantie. Het huidige certificaat is ondertekend door digiCert Global Root CA. Het maakt gebruik van SHA-1. Het HASH-algoritme SHA-1 is aanzienlijk onveilig vanwege gedetecteerde beveiligingsproblemen. Het voldoet niet meer aan onze beveiligingsstandaarden.

We moeten het certificaat roteren naar een certificaat dat is ondertekend door een compatibele basiscertificeringsinstantie om het probleem op te lossen.

Het basiscertificaatarchief op uw client bijwerken

Werk het basiscertificaatarchief op uw client bij om ervoor te zorgen dat uw toepassingen verbinding kunnen maken met Azure Database for MySQL na het rouleren van het basiscertificaat. Werk het basiscertificaatarchief bij als u SSL/TLS gebruikt met verificatie van basiscertificaten.

De volgende stappen helpen u bij het bijwerken van het basiscertificaatarchief op uw client:

  1. Download de drie basiscertificaten. Als u het DigiCert Global Root CA-certificaat hebt geïnstalleerd, kunt u de eerste download overslaan:

  2. Download het DigiCert Global Root CA-certificaat.

  3. Download het DigiCert Global Root G2-certificaat.

  4. Download het Microsoft RSA Root Certificate Authority 2017-certificaat.

  5. Voeg de gedownloade certificaten toe aan uw clientcertificaatarchief. Het proces varieert afhankelijk van het clienttype.

Uw Java-client bijwerken

Volg deze stappen om uw Java-clientcertificaten bij te werken voor het rouleren van het basiscertificaat.

Een nieuw vertrouwd basiscertificaatarchief maken

Voer voor Java-gebruikers deze opdrachten uit om een nieuw vertrouwd basiscertificaatarchief te maken:

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

Vervang vervolgens het oorspronkelijke sleutelarchiefbestand door het zojuist gegenereerde bestand:

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

Een bestaand vertrouwd basiscertificaatarchief bijwerken

Voer voor Java-gebruikers deze opdrachten uit om de nieuwe vertrouwde basiscertificaten toe te voegen aan een bestaand vertrouwd basiscertificaatarchief:

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

Als u een bestaand sleutelarchief bijwerkt, hoeft u de javax.net.ssl.trustStore eigenschappen niet javax.net.ssl.trustStorePassword te wijzigen.

Uw .NET-client bijwerken

Volg deze stappen om uw .NET-clientcertificaten bij te werken voor het rouleren van het basiscertificaat.

.NET in Windows

Voor .NET-gebruikers in Windows moet u ervoor zorgen dat digiCert Global Root CA, DigiCert Global Root G2 en Microsoft RSA Root Certificate Authority 2017 aanwezig zijn in het Windows-certificaatarchief onder Vertrouwde basiscertificeringsinstanties. Als er geen certificaat bestaat, importeert u het.

Schermopname van Azure Database for MySQL .NET-certificaten.

.NET in Linux

Voor .NET-gebruikers in Linux die gebruikmaken SSL_CERT_DIRvan , zorg ervoor dat DigiCertGlobalRootCA.crt.pem, DigiCertGlobalRootG2.crt.pemen Microsoft RSA Root Certificate Authority 2017.crt.pem bestaan in de map die wordt aangegeven door SSL_CERT_DIR. Als er geen certificaat bestaat, maakt u het ontbrekende certificaatbestand.

Converteer het Microsoft RSA Root Certificate Authority 2017.crt certificaat naar PEM-indeling door de volgende opdracht uit te voeren:

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

Andere clients

Voor andere gebruikers die andere clients gebruiken, moet u een gecombineerd certificaatbestand maken dat alle drie de basiscertificaten bevat.

Andere clients, zoals:

  • MySQL Workbench
  • C of C++
  • Ga
  • Python
  • Robijn
  • PHP
  • Node.js
  • Perl
  • Swift

Stappen

  1. Een nieuw tekstbestand maken en opslaan als combined-ca-certificates.pem
  2. Kopieer en plak de inhoud van alle drie de certificaatbestanden in dit ene bestand in de volgende indeling:
-----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-replicatie van gegevens

Voor replicatie van gegevens waarbij zowel primaire als replica worden gehost in Azure, kunt u de CA-certificaatbestanden in deze indeling samenvoegen:

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

Roep mysql.az_replication_change_master als volgt aan:

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

Important

Start de replicaserver opnieuw op.