ホームページ  >  記事  >  データベース  >  OpenSSL を使用して MySQL SSL 証明書を生成する方法

OpenSSL を使用して MySQL SSL 証明書を生成する方法

WBOY
WBOYオリジナル
2023-09-09 14:12:201032ブラウズ

如何使用 OpenSSL 生成 MySQL SSL 证书

OpenSSL を使用して MySQL SSL 証明書を生成する方法

はじめに:
MySQL は、実際の運用環境で SSL を使用する、広く使用されているリレーショナル データベース システムです ( Secure Sockets Layer) プロトコルは、暗号化通信にとって非常に重要です。この記事では、OpenSSL ツールを使用して MySQL SSL 証明書を生成する方法について説明し、対応するコード例を示します。

手順:

  1. OpenSSL のインストール:
    まず、OpenSSL ツールがコンピューターにインストールされていることを確認します。 Linux システムでは、次のコマンドを使用してインストールできます。

    sudo apt-get install openssl

    Windows システムでは、OpenSSL 公式 Web サイト (https://www.openssl.org) から Windows 用のインストール プログラムをダウンロードし、次の手順に従います。インストールするインストールウィザード。

  2. SSL 証明書の生成:
    OpenSSL を使用して MySQL SSL 証明書を生成します。次の手順を実行する必要があります:

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 ファイルとして保存されます。

  1. MySQL サーバーの構成:
    SSL 証明書を生成したので、MySQL サーバーで SSL サポートを構成する必要があります。

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
  1. クライアント接続:
    Now, MySQL サーバーは SSL 接続を受け入れるように構成されています。 SSL 接続をテストするには、SSL 対応クライアントを使用して 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 を実際の情報に置き換えます。

  1. 結論:
    OpenSSL を使用すると、MySQL SSL 証明書を生成し、MySQL サーバーで SSL サポートを構成できます。 SSL 対応クライアントを使用すると、暗号化された SSL 接続を確立して、データの安全な送信を保証できます。

上記は、OpenSSL を使用して MySQL SSL 証明書を生成するための完全な手順とコード例です。この記事が、MySQL SSL 接続を使用する開発者や管理者にとって役立つことを願っています。

以上がOpenSSL を使用して MySQL SSL 証明書を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。