Mysql
 sql >> Database >  >> RDS >> Mysql

trustCertificateKeyStoreUrl vs clientCertificateKeyStoreUrl

trustCertificateKeyStoreUrl è per l'autenticazione del server e clientCertificateKeyStoreUrl è per l'autenticazione del client. Durante la negoziazione SSL, il server presenta il suo certificato contenente la chiave pubblica del server e un checksum firmato digitalmente dall'autorità di certificazione (CA) di terze parti. Esiste un'altra proprietà di connessione verifyServerCertificate che è configurare se il client deve verificare o meno il certificato del server. Se desideri verificare il certificato del server per la tua applicazione durante la negoziazione SSL, devi impostare verifyServerCertificate su true e fornire un percorso di truststore che contenga tutte le CA attendibili dal client a trustCertificateKeyStoreUrl . Se il certificato presentato dal server è firmato digitalmente dalla CA attendibile dal client, la verifica avrà esito positivo, altrimenti avrà esito negativo.

clientCertificateKeyStoreUrl è per l'autenticazione del client. Se l'autenticazione del client è abilitata sul lato server (puoi fare riferimento a https://dev.mysql.com/doc/refman/8.0/en/create-user.html#create-user-tls articolo per sapere come abilitare l'autenticazione del client), quindi durante la negoziazione SSL, il server richiederà il certificato del client. Se il certificato client è firmato digitalmente da una CA che è considerata attendibile dal server, l'autenticazione avrà esito positivo.

In breve, trustCertificateKeyStoreUrl dovrebbe essere fornito quando il client vuole autenticare il certificato del server e clientCertificateKeyStoreUrl dovrebbe essere fornito quando l'autenticazione del client è abilitata sul server e il server vuole autenticare se il certificato è firmato da CA affidabili.