2005-08 / 2005-08-28

前のエントリ: 久々の豚キムチ丼 [diary]
次のエントリ: courier-imap-ssl も自己CAのサーバ証明書で [SSL]

apache-ssl で自己CAとサーバ証明書の作成・apache-sslへの組み込み
2005-08-28-1 / カテゴリ: [linux][debian][Apache][SSL] / [permlink]

apache-ssl パッケージを apt でインストールすると、インストール時のみに、期限1ヶ月のオレオレ証明書を同時に作成しインストールされる。
ので、自己CAで署名したサーバ証明書を別途作成する。
コマンドは、@ITのApacheでSSLを使うにはの通りで問題なし

作業ディレクトリの作成
# mkdir /etc/ssl/servkey
# cd /etc/ssl/servkey
ま、管理しやすい位置でどこでもいいけど。

CAの秘密鍵の作成
# openssl genrsa -rand /var/log/syslog -out ca.key 1024

CAのCSRの作成
# openssl req -new -key ca.key -out ca.csr
国名や名前などを入力

CA証明書の発行
# openssl x509 -req -in ca.csr -signkey ca.key -days 730 -out ca.crt
-days がないと1ヶ月だったので、2年間と指定してみた。

で、
サーバ証明書の秘密鍵
# openssl genrsa -rand /var/log/syslog -out server.key 1024

サーバ証明書のCSRの作成
# openssl req -new -key server.key -out server.csr
CAと同様に国名などの入力。Common Name に「ブラウザからアクセスするときに使用するドメイン名」を入力すること。

シリアルナンバーのファイルを作成し
# echo 01 > ca.srl

証明書の発行
# openssl x509 -req -days 730 -CA ca.crt -CAkey ca.key -in server.csr -out server.crt

作成した証明書の内容は、以下のコマンドで確認可能
# openssl x509 -in server.crt -text

で、ブラウザ側(クライアントPC)には、(何らかの安全な方法で)ca.crt をコピーし、証明書をインポートorインストールし、「この証明書を信頼する」とかそんな設定を行う。

サーバ(apache-ssl)側は、/etc/apache-ssl/httpd.conf の以下の設定を行う。(パスは作業ディレクトリ)
SSLCACertificateFile /etc/ssl/servkey/ca.crt
SSLCertificateFile /etc/ssl/servkey/server.crt
SSLCertificateKeyFile /etc/ssl/servkey/server.key

関連: mod_ssl(src)[2005-08-09-1], mod-ssl(deb)[2005-03-25-1]
Referrer (Inside): [2008-02-22-1] [2005-08-28-2]
前のエントリ: 久々の豚キムチ丼 [diary]
次のエントリ: courier-imap-ssl も自己CAのサーバ証明書で [SSL]

2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2013-05-02 16:12