EIZOダイレクト

[メモ] OpenSSL を使って Web サーバを SSL 対応にする

Posted at 05/02/10 [トラックバック(0)]

OpenSSL を使って Web サーバを SSL 対応にする際の証明書の作り方と Apache での設定について簡単にまとめておきます。

# サイトを探して見つけた事の、自分用(?)のメモ代わり。
# ここを検索で見つけた人もよければ利用してください。


OpenSSL のインストール

ここは適当に、自分の流儀と OS にあわせてパッケージを使うかソースからコンパイルしてください。


環境調整

環境変数 PATH, LD_LIBRARY_PATH を、セットしておくといろいろと便利です。
PATH=$PATH:/usr/local/ssl/bin; export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib; export LD_LIBRARY_PATH


サーバの秘密鍵の作成

openssl genrsa -out server.key 1024
これで、server.key というファイル名でサーバーの秘密鍵が作成されます。
-3des というオプションをつけると、3DES で暗号化された安全な鍵ができるのですが、この場合 Apache の起動時などにパスワードを入力しないといけないので、TPO にあわせて使い分けましょう。


CSR(証明書発行要求)の作成

ベリサインなどの証明書発行機関に証明書を発行してもらうには、CSR(証明書発行要求)を作成して、それを発行機関に提出する必要があります。
openssl req -new -key server.key -out server.csr
このコマンドの中で、Country(国別記号: 日本は JP)/State or Province(都道府県名)/Locality(市町村名)/Organization(組織名)/Organizational Unit(部門名)/Common Name(SSL接続の際のURLのサーバー名(FQDN))を尋ねられます(他にも聞かれるけどオプションなので放置)ので、きちんと入力しましょう。入力が終わると、server.csr というファイル名で CSR が作成されます。


証明書の作成

証明書は本来ならば、証明書発行機関に作成してもらうことで、証明書の正当性(本当にそのサーバの正しい所有者か?など)が保障されるのですが、「とりあえずのお試し」とか「暗号化だけできればよい」というのであれば、自分で作成してもかまいません。ただし、この場合 Web ブラウザからのアクセス時に警告が出たり、アクセス自体ができなかったりすることもあります。
openssl x509 -in server.csr -out server.crt -req -signkey server.key
これで、先ほど作った CSR と秘密鍵を使った server.crt というファイル前の証明書が作成されます。証明書発行機関に依頼した場合は、このファイルが依頼した機関から送られてくることになります。


Apache への組み込み

Apache への SSL モジュールの組み込みなどは省略します(機会があれば別の記事で…)。SSL 用の Virtualhost の雛形があると仮定して、その中の、
SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key

の2箇所を作成した 秘密鍵/証明書 のファイルの置いてある場所/ファイル名に直します。普通は、作ったファイルをこのように Apache の conf デイレクトリの下にコピーしておくのが無難でしょう。


Apache の起動

Apache が動作してたらば一度停止しましょう。その後、SSL 設定での起動オプションを付加して Apache を起動すればそこから SSL が使用できるようになります。
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl startssl

サーバの秘密鍵が 3DES で暗号化された場合には、ここでパスワードをきかれますので入力してください。パスワードを入力しないと Apache は立ち上がりません。

まあ、こんなもんかな。


"[メモ] OpenSSL を使って Web サーバを SSL 対応にする"へのトラックバック

トラックバック先URL

あわせて読みたい

あわせて読みたい

月別アーカイブ

ライセンス

クリエイティブ・コモンズ・ライセンス
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.

Powered by Movable Type

Template by MTテンプレートDB

Supported by Movable Type入門

スポンサード・リンク

track feed