GNU/Linux >> Linux の 問題 >  >> Linux

Apache の SSL キー、CSR、および自己署名証明書を生成する方法

Web サイトを HTTP から HTTPS に変換する場合は、有効な組織から SSL 証明書を取得する必要がありますVerisign や Thawte のように。テスト目的で自己署名 SSL 証明書を生成することもできます。

この記事では、mod_ssl を使用して Apache サーバーで使用できる秘密鍵ファイル (server.key)、証明書署名要求ファイル (server.csr)、および Web サーバー証明書ファイル (server.crt) を生成する方法を確認します。 .

キー、CSR、および CRT ファイルの命名規則

通常、この証明書を使用する HTTPS URL のドメイン名をファイルに付けたいと思います。これにより、識別と保守が容易になります。

  • server.key の代わりに、www.thegeekstuff.com.key を使用します
  • server.csr の代わりに、www.thegeekstuff.com.csr を使用します
  • server.crt の代わりに、www.thegeekstuff.com.crt を使用します

1. Apache + mod_ssl を実行しているサーバーで秘密鍵を生成

まず、以下に示すように、openssl コマンドを使用して、Apache Web サーバーを実行する Linux サーバーで秘密鍵を生成します。

# openssl genrsa -des3 -out www.thegeekstuff.com.key 1024
Generating RSA private key, 1024 bit long modulus
.......................................++++++
...................................................++++++
e is 73547 (0x01001)
Enter pass phrase for www.thegeekstuff.com.key:
Verifying - Enter pass phrase for www.thegeekstuff.com.key:

# ls -ltr www.thegeekstuff.*
-rw-r--r-- 1 root root   963 Jun 13 20:26 www.thegeekstuff.com.key

生成された秘密鍵は次のようになります。

# cat www.thegeekstuff.com.key
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,485B3C6371C9916E

ymehJu/RowzrclMcixAyxdbfzQphfUAk9oK9kK2
jadfoiyqthakLKNqw9z1MoaqkPyqeHevUm26no
AJKIETHKJADFS2BGb0n61/Ksk8isp7evLM4+QY
KAQETKjdiahteksMJOjXLq+vf5Ra299fZPON7yr
-----END RSA PRIVATE KEY-----

2.証明書署名要求 (CSR) を生成する

上記のキー生成を使用して、次に示すように openssl を使用して証明書要求ファイル (csr) を生成する必要があります。

# openssl req -new -key www.thegeekstuff.com.key -out www.thegeekstuff.com.csr
Enter pass phrase for www.thegeekstuff.com.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:US
State or Province Name (full name) [Berkshire]:California
Locality Name (eg, city) [Newbury]:Los Angeles
Organization Name (eg, company) [My Company Ltd]:The Geek Stuff
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []: thegeekstuff
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

# ls -ltr www.thegeekstuff.*
-rw-r--r-- 1 root root   963 Jun 13 20:26 www.thegeekstuff.com.key
-rw-r--r-- 1 root root   664 Jun 13 20:35 www.thegeekstuff.com.csr

3.自己署名 SSL 証明書を生成する

テスト目的で、以下に示すように openssl コマンドを使用して、1 年間有効な自己署名 SSL 証明書を生成できます。

# openssl x509 -req -days 365 -in www.thegeekstuff.com.csr -signkey www.thegeekstuff.com.key -out www.thegeekstuff.com.crt
Signature ok
subject=/C=US/ST=California/L=Los Angeles/O=thegeekstuff/OU=IT/CN=www.thegeekstuff.com
Getting Private key
Enter pass phrase for www.thegeekstuff.com.key:

# ls -l www.thegeekstuff*
-rw-r--r-- 1 root root   963 Jun 13 20:26 www.thegeekstuff.com.key
-rw-r--r-- 1 root root   664 Jun 13 20:35 www.thegeekstuff.com.csr
-rw-r--r-- 1 root root   879 Jun 13 20:43 www.thegeekstuff.com.crt

# cat www.thegeekstuff.com.crt
-----BEGIN CERTIFICATE-----
haidfshoaihsdfAKDJFAISHTEIHkjasdjadf9w0BAQUFADCB
kjadfijadfhWQIOUQERUNcMNasdkjfakljasdBgEFBQcDAQ
kjdghkjhfortoieriqqeurNZXCVMNCMN.MCNaGF3dGUuY29
-----END CERTIFICATE-----


この方法を使用して、Ubuntu、Debian、CentOS、Fedora、および Red Hat を含むほとんどの Linux、Unix システムで Apache SSL キー、CSR、および CRT ファイルを生成できます。

4.有効なトライアル SSL 証明書を取得する (オプション)

自分で署名する代わりに、thawte から有効なトライアル SSL 証明書を生成することもできます。つまり、証明書の購入にお金を費やす前に、Thawte から完全に機能する有効な 21 日間の試用 SSL 証明書を取得することもできます。この有効な証明書が機能したら、Thawte またはその他の SSL 署名組織から購入することができます。

この手順はオプションであり、必須ではありません。テスト目的で、上記の手順で生成された自己署名証明書をいつでも使用できます。

Thwate トライアル証明書リクエスト ページに移動し、次の手順を実行します。

  • 「トライアル証明書を選択」の下で「SSL Web サーバー証明書 (すべてのサーバー)」を選択します。
  • 「configure certificate」の下にある PKCS #7 チェックボックスをオンにしないでください
  • 上記で生成した *.csr ファイルをコピーして、[証明書署名要求 (CSR)] の下のテキスト ボックスに貼り付けます
  • 下部にある [次へ] をクリックすると、21 日間の無料試用証明書が発行されます。


以下に示すように、トライアル証明書をコピーして www.thegeekstuff.com.crt ファイルに貼り付けます。

# cat www.thegeekstuff.com.crt
-----BEGIN CERTIFICATE-----
haidfshoaihsdfAKDJFAISHTEIHkjasdjadf9w0BAQUFADCB
kjadfijadfhWQIOUQERUNcMNasdkjfakljasdBgEFBQcDAQ
kjdghkjhfortoieriqqeurNZXCVMNCMN.MCNaGF3dGUuY29
-----END CERTIFICATE-----

Linux
  1. Apache 2がSSL証明書のパスワードを要求するのをやめるにはどうすればよいですか?

  2. CSRキーを生成してCWPからSSL証明書をインストールする方法は?

  3. SSL証明書のcPanelでキーとCSRを生成する方法

  1. Linuxで証明書署名要求(CSR)を生成する方法

  2. LetsEncryptからWebサーバー用の無料のCA署名付きSSL証明書を発行します

  3. Ubuntu18.04で自己署名SSL証明書を作成する方法

  1. CentOS7用のApacheにSSL証明書をインストールする方法

  2. SSLの証明書署名要求(CSR)を生成する方法

  3. OpenSSLを使用して証明書署名要求(CSR)を生成する方法は?