trustCertificateKeyStoreUrl est pour l'authentification du serveur et clientCertificateKeyStoreUrl est pour l'authentification du client. Au cours de la négociation SSL, le serveur présente son certificat contenant la clé publique du serveur et une somme de contrôle signée numériquement par une autorité de certification tierce (CA). Il existe une autre propriété de connexion verifyServerCertificate qui consiste à configurer si le client doit vérifier ou non le certificat du serveur. Si vous souhaitez vérifier le certificat du serveur pour votre application lors de la négociation SSL, vous devez définir verifyServerCertificate sur true et fournissez un chemin de truststore qui contient toutes les autorités de certification de confiance par client à trustCertificateKeyStoreUrl . Si le certificat présenté par le serveur est signé numériquement par l'autorité de certification de confiance par le client, la vérification réussira sinon elle échouera.
clientCertificateKeyStoreUrl est pour l'authentification du client. Si l'authentification client est activée côté serveur (vous pouvez consulter https://dev.mysql.com/doc/refman/8.0/en/create-user.html#create-user-tls article pour savoir comment activer l'authentification client) puis lors de la négociation SSL, le serveur demandera le certificat du client. Si le certificat client est signé numériquement par une autorité de certification approuvée par le serveur, l'authentification réussira.
En bref, trustCertificateKeyStoreUrl doit être fourni lorsque le client souhaite authentifier le certificat du serveur et clientCertificateKeyStoreUrl doit être fourni lorsque l'authentification du client est activée sur le serveur et que le serveur souhaite authentifier si le certificat est signé par des autorités de certification de confiance.