trustCertificateKeyStoreUrl é para autenticação de servidor e clientCertificateKeyStoreUrl é para autenticação do cliente. Durante a negociação SSL, o servidor apresenta seu certificado contendo a chave pública do servidor e uma soma de verificação que é assinada digitalmente pela autoridade de certificação (CA) de terceiros. Há outra propriedade de conexão verifyServerCertificate que é configurar se o cliente deve verificar o certificado do servidor ou não. Se você quiser verificar o certificado do servidor para seu aplicativo durante a negociação SSL, defina verifyServerCertificate para true e forneça um caminho de armazenamento confiável que contenha todas as CAs confiáveis por cliente para trustCertificateKeyStoreUrl . Se o certificado apresentado pelo servidor for assinado digitalmente pela CA confiável pelo cliente, a verificação será bem-sucedida, caso contrário, falhará.
clientCertificateKeyStoreUrl é para autenticação do cliente. Se a autenticação do cliente estiver habilitada no lado do servidor (você pode consultar https://dev.mysql.com/doc/refman/8.0/en/create-user.html#create-user-tls artigo para saber como habilitar a autenticação do cliente) então, durante a negociação SSL, o servidor solicitará o certificado do cliente. Se o certificado do cliente for assinado digitalmente pela CA que é confiável pelo servidor, a autenticação será bem-sucedida.
Em resumo, trustCertificateKeyStoreUrl deve ser fornecido quando o cliente deseja autenticar o certificado do servidor e clientCertificateKeyStoreUrl deve ser fornecido quando a autenticação do cliente está habilitada no servidor e o servidor deseja autenticar se o certificado é assinado por CAs confiáveis.