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-----