Comment utiliser OpenSSL pour générer un certificat SSL MySQL
Introduction :
MySQL est un système de base de données relationnelle largement utilisé. Il est très important d'utiliser le protocole SSL (Secure Sockets Layer) pour les communications cryptées dans les environnements de production réels. Cet article décrit comment utiliser l'outil OpenSSL pour générer un certificat SSL MySQL et fournit des exemples de code correspondants.
Étapes :
Installer OpenSSL :
Tout d'abord, assurez-vous que l'outil OpenSSL est installé sur votre ordinateur. Sur les systèmes Linux, vous pouvez utiliser la commande suivante pour installer :
sudo apt-get install openssl
Sur les systèmes Windows, vous pouvez télécharger le programme d'installation pour Windows depuis le site officiel d'OpenSSL (https://www.openssl.org) et l'installer en fonction de l'installation. magicien.
2.1 Générer une clé privée :
openssl genpkey -algorithm RSA -out private_key.pem
Cela générera un fichier de clé privée nommé private_key.pem.
2.2 Générer une demande de signature de certificat (CSR) :
openssl req -new -key private_key.pem -out certificate_request.csr
Lors de l'exécution de cette commande, vous serez invité à saisir des informations pertinentes sur le certificat SSL, telles que le nom de l'organisation, le nom du service, etc. Après avoir saisi les informations appropriées à l'invite, un fichier de demande de signature de certificat nommé certificate_request.csr sera généré.
2.3 Générer un certificat auto-signé :
openssl x509 -req -in certificate_request.csr -signkey private_key.pem -out certificate.pem
Cette commande utilisera la clé privée et le fichier de demande de signature de certificat pour générer un certificat auto-signé. Le certificat auto-signé généré est enregistré en tant que fichier certificate.pem.
3.1 Copiez la clé privée et le certificat sur le serveur MySQL :
Copiez les fichiers private_key.pem et certificate.pem dans le répertoire sécurisé du serveur MySQL. Sur les systèmes Linux, il s'agit généralement du répertoire /etc/mysql/ssl/.
3.2 Modifiez le fichier de configuration MySQL :
Ouvrez le fichier de configuration MySQL (généralement /etc/mysql/my.cnf) et ajoutez la ligne suivante :
[mysqld] ssl-ca=/etc/mysql/ssl/certificate.pem ssl-cert=/etc/mysql/ssl/certificate.pem ssl-key=/etc/mysql/ssl/private_key.pem
Veuillez vous assurer que le chemin et le nom du fichier sont cohérents avec le certificat SSL réel. déposer.
3.3 Redémarrer le serveur MySQL :
Après avoir enregistré et fermé le fichier de configuration MySQL, redémarrez le serveur MySQL pour que la configuration prenne effet :
sudo systemctl restart mysql
4.1 Téléchargez MySQL Connector/J :
Allez sur le site officiel de MySQL (https://dev.mysql.com/downloads/connector/j/) pour télécharger MySQL Connector/J pour le développement Java.
4.2 Ajouter une configuration SSL :
Dans le code Java pour vous connecter à MySQL, vous devez ajouter une configuration SSL afin d'établir une connexion SSL :
import java.sql.Connection; import java.sql.DriverManager; import java.util.Properties; public class MySQLSSLConnectionExample { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); Properties props = new Properties(); props.setProperty("user", "username"); props.setProperty("password", "password"); props.setProperty("useSSL", "true"); props.setProperty("verifyServerCertificate", "false"); props.setProperty("requireSSL", "true"); props.setProperty("clientCertificateKeyStoreUrl", "file:///path/to/certificate.pem"); props.setProperty("clientCertificateKeyStorePassword", "password"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/database", props); // 此处替换为实际的数据库连接信息 // 这将建立一个 SSL 连接到 MySQL 服务器 // 进行后续数据库操作 } catch (Exception e) { e.printStackTrace(); } } }
Veuillez vous assurer d'ajouter le nom d'utilisateur, le mot de passe, le fichier:///path/ to/certificat dans le code pem est remplacé par des informations réelles.
Ci-dessus sont les étapes complètes et des exemples de code pour utiliser OpenSSL pour générer un certificat SSL MySQL. Nous espérons que cet article sera utile aux développeurs et aux administrateurs utilisant des connexions MySQL SSL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!