[メモ] 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
月別アーカイブ
- 2010年12月 (1)
- 2010年11月 (1)
- 2010年09月 (1)
- 2010年06月 (26)
- 2010年05月 (32)
- 2010年04月 (10)
- 2010年03月 (21)
- 2010年02月 (30)
- 2010年01月 (31)
- 2009年12月 (13)
- 2009年11月 (2)
- 2009年10月 (5)
- 2009年08月 (3)
- 2009年07月 (4)
- 2009年06月 (5)
- 2009年05月 (4)
- 2009年04月 (5)
- 2009年03月 (6)
- 2009年02月 (6)
- 2009年01月 (7)
- 2008年12月 (7)
- 2008年11月 (8)
- 2008年10月 (9)
- 2008年09月 (5)
- 2008年08月 (16)
- 2008年07月 (10)
- 2008年06月 (7)
- 2008年05月 (10)
- 2008年04月 (9)
- 2008年03月 (10)
- 2008年02月 (5)
- 2008年01月 (9)
- 2007年12月 (7)
- 2007年11月 (7)
- 2007年10月 (14)
- 2007年09月 (4)
- 2007年08月 (4)
- 2007年07月 (7)
- 2007年06月 (9)
- 2007年05月 (9)
- 2007年04月 (11)
- 2007年03月 (10)
- 2007年02月 (23)
- 2007年01月 (24)
- 2006年12月 (10)
- 2006年11月 (9)
- 2006年10月 (20)
- 2006年09月 (9)
- 2006年08月 (9)
- 2006年07月 (10)
- 2006年06月 (11)
- 2006年05月 (7)
- 2006年04月 (10)
- 2006年03月 (10)
- 2006年02月 (9)
- 2006年01月 (14)
- 2005年12月 (10)
- 2005年11月 (14)
- 2005年10月 (12)
- 2005年09月 (19)
- 2005年08月 (21)
- 2005年07月 (21)
- 2005年06月 (19)
- 2005年05月 (27)
- 2005年04月 (24)
- 2005年03月 (30)
- 2005年02月 (24)
- 2005年01月 (12)
- 2004年12月 (27)
- 2004年11月 (31)
- 2004年10月 (37)
- 2004年09月 (66)
- 2004年08月 (78)
- 2004年07月 (47)
- 2004年06月 (66)
- 2004年05月 (67)
- 2004年04月 (41)
- 2004年03月 (18)
- 2004年02月 (40)
- 2004年01月 (44)
- 2003年12月 (41)
- 2003年11月 (34)
- 2003年10月 (36)
- 2003年09月 (47)
- 1967年02月 (1)
フィード/ランキング
ライセンス
Powered by Movable Type
Template by MTテンプレートDB
Supported by Movable Type入門