-
OpenSSL関連サイト
http://www.openssl.org/
-
インストール関連情報
rpm、
yum、apt-get、
tar.gz、
make install、
シェル・環境変数。
-
OpenSSLのインストール
ベリサインなどの認証局を利用しないで、自分で認証キーを設定する方法。
署名を認証局にしてもらうか否かの違い。
Apache2.0以上ならmod_sslやsslパッチは必要ありません。
・古いバージョン削除
強制削除すると余計なものまで削除される場合があるので、
そのままの方が良いこともあります。
nslookupなどが使えなくなる場合があります。
rpm -qa | grep openssl
rpm -e --nodeps openssl-devel-0.9.7a-35
rpm -e --nodeps openssl-0.9.7a-35
・OpenSSLインストール
cd /usr/local/src/
./config -fPIC shared
make
make test
make install
パス設定
vi ~/.bash_profile
export PATH=$PATH:/usr/local/ssl/bin
・Apache2再設定
./configure --enable-shared=yes \
--enable-dav=yes \
--enable-ssl \
--with-ssl=/usr/local/ssl
make
make install
Apacheについては、Apacheのインストールを参照。
-
認証ファイル作成
同梱のCA.shを使うと設定が楽です。
・認証局ファイル作成(CA)
cd /usr/local/ssl/misc
./CA.sh -newca
CAの自己署名型証明書は、
demoCA/cacert.pem
CAの秘密鍵は、
demoCA/private/cakey.pem
・証明書署名要求ファイル作成(CSR)
cd /usr/local/ssl/misc
./CA.sh -newreq
証明書要求ファイルは、
newreq.pem
*証明書署名要求ファイル確認は、
openssl req -in newreq.pem -text
*秘密鍵ファイル確認は、
openssl rsa -in newreq.pem -text
・署名付き証明書作成(CRT)
cd /usr/local/ssl/misc
./CA.sh -sign
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
CAの署名付きサイト証明書は、
newcert.pem
*署名付き証明書確認は、
openssl x509 -in newcert.pem -text
-
ssl.confの設定
apacheのhttpd.confに
<IfModule mod_ssl.c>
Include conf/ssl.conf
</IfModule>
があるのを確認。
作成した認証ファイルを適当なディレクトリにコピー
mkdir /usr/local/apache2/conf/ssl
cp /usr/local/ssl/misc/newreq.pem /usr/local/apache2/conf/ssl
cp /usr/local/ssl/misc/newcert.pem /usr/local/apache2/conf/ssl
cp /usr/local/ssl/misc/demoCA/cacert.pem /usr/local/apache2/conf/ssl
ssl.confを自分の環境に合わせって設定
vi /usr/local/apache2/conf/ssl.conf
<VirtualHost 192.168.11.2:443>
DocumentRoot "/usr/local/apache2/htdocs"
ServerName www.sample.co.jp
ServerAdmin root@sample.co.jp
SSLCACertificateFile /usr/local/apache2/conf/ssl/cacert.pem
SSLCertificateFile /usr/local/apache2/conf/ssl/newcert.pem
SSLCertificateKeyFile /usr/local/apache2/conf/ssl/newreq.pem
-
起動・終了
起動は、Apacheの起動時に、opensslを有効にして起動する。
起動
/usr/local/apache2/bin/apachectl startssl
上記のままだと、起動時に認証パスワードを要求される。
これを解除するには、
openssl rsa -in newreq.pem -out newreq.pem
を実行する。
終了は、通常通りApacheを停止する。
/usr/local/apache2/bin/apachectl stop
-
認証ファイル作成(予備)
認証ファイルの作成は、上記にあるように、同梱のCA.shを使った方が設定が楽です。
以下は、CA.shを使わない場合の例です。
・server.key作成
openssl genrsa -des3 -out server.key 1024
確認は、
cat server.key
・CSR作成
openssl req -new -key server.key -out server.csr
openssl req -new -x509 -days 365 -key server.key -out server.crt
確認は、
openssl req -in server.csr -text
・CSRを署名してCRT作成
vi openssl.cnf
dir = /usr/local/ssl/misc/demoCA
openssl ca -config ../openssl.cnf -policy policy_anything \
-in /usr/local/ssl/bin/server.csr -out server.crt
-
その他
vi /etc/ld.so.conf
/usr/local/ssl/lib
設定反映
ldconfig
-
バージョン確認
openssl version
OpenSSL 0.9.7e