Mysql
 sql >> Datenbank >  >> RDS >> Mysql

trustCertificateKeyStoreUrl vs. clientCertificateKeyStoreUrl

trustCertificateKeyStoreUrl ist für die Serverauthentifizierung und clientCertificateKeyStoreUrl dient der Client-Authentifizierung. Während der SSL-Aushandlung legt der Server sein Zertifikat vor, das den öffentlichen Schlüssel des Servers und eine Prüfsumme enthält, die von einer Zertifizierungsstelle (CA) eines Drittanbieters digital signiert ist. Es gibt eine weitere Verbindungseigenschaft verifyServerCertificate Hier wird konfiguriert, ob der Client das Serverzertifikat überprüfen soll oder nicht. Wenn Sie das Serverzertifikat für Ihre Anwendung während der SSL-Aushandlung überprüfen möchten, sollten Sie verifyServerCertificate festlegen auf „true“ setzen und einen Truststore-Pfad bereitstellen, der alle vertrauenswürdigen Zertifizierungsstellen nach Client für trustCertificateKeyStoreUrl enthält . Wenn das vom Server vorgelegte Zertifikat von der vertrauenswürdigen CA vom Client digital signiert wird, ist die Überprüfung erfolgreich, andernfalls schlägt sie fehl.

clientCertificateKeyStoreUrl dient der Client-Authentifizierung. Wenn die Client-Authentifizierung serverseitig aktiviert ist (Sie können https://dev.mysql.com/doc/refman/8.0/en/create-user.html#create-user-tls Artikel, um zu erfahren, wie die Client-Authentifizierung aktiviert wird), fordert der Server während der SSL-Aushandlung das Zertifikat des Clients an. Wenn das Client-Zertifikat von einer Zertifizierungsstelle digital signiert ist, der der Server vertraut, ist die Authentifizierung erfolgreich.

Kurz gesagt, trustCertificateKeyStoreUrl sollte bereitgestellt werden, wenn der Client das Serverzertifikat authentifizieren möchte, und clientCertificateKeyStoreUrl sollte bereitgestellt werden, wenn die Clientauthentifizierung auf dem Server aktiviert ist und der Server authentifizieren möchte, ob das Zertifikat von vertrauenswürdigen Zertifizierungsstellen signiert ist.