見出し画像

OpenSSLのコマンド「openssl x509 -req」「openssl req -x509」「openssl req -new」の違い

OpenSSLを使うとSSL/TLS証明書の作成や管理ができますが、「openssl x509 -req」「openssl req -x509」「openssl req -new」といったコマンドの違いに戸惑うこともあるかもしれません。この記事では、それぞれのコマンドがどんな目的で使われるのか、誰がどのような場面で実行するのかについて、一緒に確認していきましょう。また、実際に使える具体的なコマンド例も紹介します。

「openssl x509 -req」の目的と使い方

このコマンドは、証明書署名要求 (CSR) を先に作成した上で、その CSR をもとに証明書を生成するために使われます。これは、システムに自己署名証明書が必要な場合によく使われます。

誰が実行するか

  • CSR を基に証明書を生成する CA (証明書管理者)。

  • 自分で証明書を発行したい人。

例コマンド:

openssl x509 -req -in request.csr -signkey private.key -out certificate.crt
  • このコマンドは、CSR (`request.csr`)から、指定した私等鍵 (`private.key`)を使って証明書 (`certificate.crt`)を生成します。

「openssl req -x509」の目的と使い方

このコマンドは、CSR を作成せずに直接私等鍵から自己署名証明書を作成するためのものです。これは、テスト環境や開発環境で便利に使用できます。

誰が実行するか

  • テスト環境で HTTPS を設定したい開発者。

例コマンド:

openssl req -x509 -newkey rsa:2048 -nodes -keyout private.key -out certificate.crt -days 365
  • 私等鍵と一緒に証明書を生成します。

  • この証明書は 365 日間有効です。

「openssl req -new」の目的と使い方

このコマンドは、CA (証明書管理者)に証明書を発行してもらうための証明書署名要求 (CSR)を作成するためのものです。

誰が実行するか

  • SSL/TLS 証明書を取得したいウェブサイト運営者。

例コマンド:

openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out request.csr
  • CSR (`request.csr`)を作成し、CA に送るための実行例です。

使い分けの指針

  • CSR を基に証明書を作りたい場合: 「openssl x509 -req」

  • CSR を作らずに自己署名証明書を作りたい場合: 「openssl req -x509」

  • CA に証明書を発行供請したい場合: 「openssl req -new」

いいなと思ったら応援しよう!