OpenSSL を使用して MySQL SSL 証明書を生成する方法
はじめに:
MySQL は、実際の運用環境で SSL を使用する、広く使用されているリレーショナル データベース システムです ( Secure Sockets Layer) プロトコルは、暗号化通信にとって非常に重要です。この記事では、OpenSSL ツールを使用して MySQL SSL 証明書を生成する方法について説明し、対応するコード例を示します。
手順:
OpenSSL のインストール:
まず、OpenSSL ツールがコンピューターにインストールされていることを確認します。 Linux システムでは、次のコマンドを使用してインストールできます。
sudo apt-get install openssl
Windows システムでは、OpenSSL 公式 Web サイト (https://www.openssl.org) から Windows 用のインストール プログラムをダウンロードし、次の手順に従います。インストールするインストールウィザード。
2.1 秘密キーの生成:
openssl genpkey -algorithm RSA -out private_key.pem
これにより、private_key.pem という名前の秘密キー ファイルが生成されます。
2.2 証明書署名要求 (CSR) の生成:
openssl req -new -key private_key.pem -out certificate_request.csr
このコマンドを実行すると、組織名、部門名など、SSL 証明書に関する関連情報の入力を求められます。プロンプトに従って適切な情報を入力すると、certificate_request.csr という名前の証明書署名要求ファイルが生成されます。
2.3 自己署名証明書の生成:
openssl x509 -req -in certificate_request.csr -signkey private_key.pem -out certificate.pem
このコマンドは、秘密キーと証明書署名要求ファイルを使用して自己署名証明書を生成します。生成された自己署名証明書は、certificate.pem ファイルとして保存されます。
3.1 秘密キーと証明書を MySQL サーバーにコピーします。
private_key.pem ファイルとcertificate.pem ファイルを MySQL サーバーの安全なディレクトリにコピーします。 Linux システムでは、これは通常 /etc/mysql/ssl/ ディレクトリです。
3.2 MySQL 構成ファイルを編集します。
MySQL 構成ファイル (通常は /etc/mysql/my.cnf) を開き、次の行を追加します。
[mysqld] ssl-ca=/etc/mysql/ssl/certificate.pem ssl-cert=/etc/mysql/ssl/certificate.pem ssl-key=/etc/mysql/ssl/private_key.pem
パスを確認してください。とファイル名が一致する 実際の SSL 証明書ファイルは一貫しています。
3.3 MySQL サーバーを再起動します:
MySQL 構成ファイルを保存して閉じた後、MySQL サーバーを再起動して構成を有効にします:
sudo systemctl restart mysql
4.1 MySQL Connector/J のダウンロード:
MySQL 公式 Web サイト (https://dev.mysql.com/downloads/connector/j/) にアクセスして、適切な MySQL Connector/J をダウンロードします。 Java 開発用。
4.2 SSL 構成の追加:
MySQL に接続する Java コードでは、SSL 接続を確立するために 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(); } } }
ユーザー名を必ず追加してください。コード内のパスワード、ファイル :///path/to/certificate.pem を実際の情報に置き換えます。
上記は、OpenSSL を使用して MySQL SSL 証明書を生成するための完全な手順とコード例です。この記事が、MySQL SSL 接続を使用する開発者や管理者にとって役立つことを願っています。
以上がOpenSSL を使用して MySQL SSL 証明書を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。