ApacheとOpenSSLで証明書を作成する(OS:CentOS 64bitにて)

 OpenSSLで証明書を作成する方法を紹介します。まず、設定をする前に必要な作業がありますので確認してください。

1. OpenSSLのインストール
2. Apacheのインストール
3. mod_sslのモジュールの確認

 以上のアプリケーションがインストールされているかどうか確認してください。インストールされていない場合は、apacheのインストールと初期設定(OS:CentOS 64bitにて)を参考にしてください。

OpenSSLで証明書作る
 証明書を作るためには、3つのファイルを作成する必要があります。そして、パスワードを設定します。パスワードの内容は自由ですが、apacheの起動時に必要になるので忘れないようにしましょう。apacheの起動時にパスワードの省略する方法は、「Apache用の証明書からパスフレーズを削除する」を見てください。

1. server.key ファイルの作成
[root@localhost ~]# openssl genrsa -des3 1024 > server.key
Enter pass phrase:(パスワード)

2. server.csr ファイルの作成
[root@localhost ~]# openssl req -new -key server.key > server.csr

設定例

Enter pass phrase for server.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]:JP ←国名
State or Province Name (full name) [Berkshire]:OSAKA ←県名
Locality Name (eg, city) [Newbury]:OSAKA ←市町村名
Organization Name (eg, company) [My Company Ltd]:webken ←会社名
Organizational Unit Name (eg, section) []: ←空欄でOK
Common Name (eg, your name or your server’s hostname) []:www.shinbo.org ←ホスト名
Email Address []:xxxxx@shinbo.org ←メールアドレス

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: ←空欄でOK
An optional company name []: ←空欄でOK

(注意)
 ホスト名は、証明書を使うサイトのホスト名と完全に一致させてください。一致しないと、アクセスする度に警告がでます。

3. server.crt ファイルの作成 
[root@localhost ~]# openssl x509 -in server.csr -req -signkey server.key > server.crt
Enter pass phrase for server.key:(パスワード)

4. 作成したファイルの設置
[root@localhost ~]# mkdir /usr/local/apache2/conf/ssl.key
[root@localhost ~]# chmod 500 /usr/local/apache2/conf/ssl.key
[root@localhost ~]# mv server.key server.csr /usr/local/apache2/conf/ssl.key/
[root@localhost ~]# mkdir /usr/local/apache2/conf/ssl.crt
[root@localhost ~]# mv server.crt /usr/local/apache2/conf/ssl.crt

*>———————————————————————————————————-<* apacheの設定
sslを有効にする
[root@localhost ~]# vi /usr/local/apache2/conf/httpd.conf
#Include conf/extra/httpd-ssl.conf

Include conf/extra/httpd-ssl.conf

公開するための設定
[root@localhost ~]# vi /usr/local/apache2/conf/extra/httpd-ssl.conf

httpd-ssl.conf の変更箇所(VirtualHost内を編集します)

<VirtualHost *:443>
DocumentRoot /home/test_https ← 公開場所
ServerName test.jp:443 ← URLとポート番号
ServerAdmin www.shinbo.org ← URLの別名

SSLCertificateFile “/usr/local/apache2/conf/server.crt”
↓ファイルを保管しているパスに変更
SSLCertificateFile “/usr/local/apache2/conf/ssl.crt/server.crt”

SSLCertificateKeyFile “/usr/local/apache2/conf/server.key”
↓ファイルを保管しているパスに変更
SSLCertificateKeyFile “/usr/local/apache2/conf/ssl.key/server.key”

*>———————————————————————————————————-<* 外部公開するために
SSL通信を行う為のポート番号443番を(ファイヤーウォールとルーター)開いてください。

*>———————————————————————————————————-<* 最終確認
 ブラウザに先ほど設定したURLをいれてください。「https」にするのを忘れないでください。ローカルで確認するときは、/etc/hostsのファイルを変更してください。
(ローカルで確認する場合)
[root@localhost ~]# vi /etc/hosts
127.0.0.1 www.test.jp ←追記

ブラウザで https://www.test.jp を入力してください。 
apache ssl の確認画面1
上記のような画面(FireFox)が出ます。「例外を追加」をクリックしてください。

apache ssl の確認画面2
「セキュリティ例外を認証」をクリックし、目的のページが確認できたらOKです。

Be the first to comment on "ApacheとOpenSSLで証明書を作成する(OS:CentOS 64bitにて)"

Leave a comment